Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.35 MB, 125 trang )
Header Page 60 of 166.
59
đợc Bryson và Ho đề xuất từ năm 1969, nhng phải tới giữa năm 1980 vấn
đề này mới đợc quan tâm trở lại bởi công trình nghiên cứu của Rumelhart
năm 1986. Một thống kê cho thấy 90% ứng dụng mạng nơron trong công
nghệ hoá học sử dụng mô hình này.
4.1.1 Kiến trúc mạng truyền thẳng.
Mạng truyền thẳng nhiều lớp bao gồm một lớp vào, một hoặc nhiều lớp
ẩn và một lớp ra. Trong đó các nơron lớp thứ i đợc nối đầy đủ với các nơron
lớp thứ i+1, các nơron trong cùng một lớp không liên kết với nhau. Các nơron
đầu vào có nhiệm vụ tiếp nhận các dữ liệu đầu vào và chuyển cho lớp ẩn kế
tiếp. Trong nhiều ứng dụng thực tế, để đơn giản, ngời ta thờng sử dụng
mạng có một lớp ẩn, số nơron trong lớp ẩn đợc xác định dựa trên kinh
nghiệm, hoặc dựa trên kỹ thuật tìm kiếm khác nhau. Hình 4.1 là cấu trúc của
mạng truyền thẳng 2 lớp.
Lớp vào: Là các nơron nhận các biến đầu vào xi với i=1,2n, n là số
biến đầu vào. Các nơron lớp vào nhận giá trị các biến đầu vào, dữ liệu
của tất cả các nơron ở lớp đầu vào đợc tính toán rồi chuyển kết quả
cho các nơron lớp ẩn
Lớp ẩn: Bao gồm các nơron yj với j=1,2..m. Các nơron lớp ẩn nhận tín
hiệu từ nơron lớp vào qua bộ trọng số W1
Lớp ra: Bao gồm các nơron đa ra giá trị zk với k=1,2..l. Các nơron lớp
ra nhận tín hiệu từ nơron lớp ẩn qua bộ trọng số W2. Mỗi nơron đầu ra
tơng ứng với 1 biến đầu ra.
Trong mạng lan truyền ngợc tín hiệu đợc lan truyền từ lớp vào đến lớp
ra và mạng thực hiện ánh xạ để tính giá trị cho các biến đầu ra dựa vào các giá
trị biến đầu vào. Ban đầu giá trị các biến vào đợc chuyển cho các nơron lớp
vào của mạng, dữ liệu của tất cả các nơron ở lớp đầu vào đợc tính toán rồi
Footer Page 60 of 166.
Header Page 61 of 166.
60
chuyển kết quả cho các nơron lớp ẩn. Cuối cùng mỗi nút ẩn gửi kết quả đến tất
cả các nơron ra. Giá trị của các nút đầu ra chính là giá trị của các biến đầu ra
cần xác định.
Lp vo
x1
x2
w1ji
H4
Lp n
Lp ra
x3
H5
w2ij
zi
O6
Hình 4.1. Cấu trúc mạng nơron 2 lớp.
4.1.2. Huấn luyện mạng
Mạng nơron nhiều lớp lan truyền ngợc sai số chỉ có thể ở hai trạng thái
đó là trạng thái học và trạng thái ánh xạ. Bản chất của trạng thái ánh xạ do
mạng thực hiện tùy thuộc vào giá trị của các trọng số trong mạng. Lan truyền
ngợc là một phơng pháp cho phép xác định tập trọng số tốt nhất của mạng,
đây là một quá trình lặp đi lặp lại nhiều lần trong hai quá trình ánh xạ và lan
truyền ngợc sai số. Hai quá trình này đợc thực hiện trên tập mẫu cố định.
Hai quá trình này đợc gọi là huấn luyện mạng. Trong trạng thái học, thông
tin lan truyền theo hai chiều nhiều lần để huấn luyện các trọng số. Quá trình
huấn luyện mạng đợc bắt đầu với tập trọng số tuỳ ý, có thể là các giá trị ngẫu
nhiên nhỏ và tiến hành lặp đi lặp lại. Mỗi lần lặp đợc gọi là một thế hệ, trong
mỗi thế hệ mạng điều chỉnh các trọng số sao cho sai số giảm dần. Quá trình
điều chỉnh nhiều lần sao cho trọng số dần dần đạt đợc tập hợp các giá trị tối
u.
Footer Page 61 of 166.
Header Page 62 of 166.
61
Quá trình huấn luyện mạng nơron nhiều lớp lan truyền ngợc sai số là
quá trình học có giám sát với tập mẫu {( Xs, Ds)}. Thủ tục học có thể tóm lợc
nh sau:
Mỗi khi đa một mẫu Xs = ( x1,.,xn) vào mạng, ta thực hiện các công
việc sau:
1. Lan truyền mẫu Xs qua mạng để có Zs = T( Xs ). Hàm T(.) là hàm phi
tuyến phụ thuộc vào cấu trúc mạng nơron.
Lớp ẩn Y:
- Tổng thông tin đầu vào của lớp ẩn Y có trọng số là:
n
aj =
w
1
ji
i =1
xi
(4.1)
- Với hàm kích hoạt của các nơron f(.), giá trị output của các nơron
ở lớp ẩn Y đợc xác định:
yj = f(aj)
(4.2)
Lớp ra Z:
- Tổng thông tin đầu vào của lớp ra Z có trọng số là:
m
bk =
w
j =1
2
kj
yj
(4.3)
- Giá trị output của các nơron ở lớp ra Z đợc xác định:
zk = f(bk)
(4.4)
2. Tính sai số truyền ngợc Errs của mạng dựa trên sai lệch DS-ZS.
Tính sai số của lớp ra z
- Sai số Errs của lớp ra Z dựa trên sai lệch giữa giá trị ra thực tế và
mẫu.
Footer Page 62 of 166.
Header Page 63 of 166.
62
Errk = dk-zk
(4.5)
Với errk là sai số thành phần thứ k trong Errs.
- Sai số của nơron thứ k của lớp ra Z đợc xác định:
k = errk f(bk) = (dk-zk)zk = (dk-zk)f(bk)
(4.6)
Trờng hợp xét hàm kích hoạt tại các nơron
f(x) =
ta có hệ thức
1
1 + e x
(4.7)
f(x) = f(x)(1-f(x) )
(4.8)
f(.) là đạo hàm của hàm kích hoạt đợc dùng trong các nơron.
Thay (4.8) vào (4.6) ta có:
k = (dk-zk)zk = (dk-zk) fk (1-fk)
hay
k= (dk-zk)zk = (dk-zk) zk (1-zk)
(4.9)
Sai số của nơron thứ j của lớp ẩn Y
j =
l
k wkj2 y j ' =
k =1
l
k =1
k
wkj2 f ' (a j )
(4.10)
Sử dụng hàm kích hoạt (4.7) ta có:
j=
l
k wkj2 y j ' =
k =1
l
l
k =1
k =1
k wkj2 f ' (a j ) = k wkj2 y j (1-yj) (4.11)
3. Hiệu chỉnh các trọng số liên kết nơron dẫn tới lớp ra Wij từ nơron j tại
lớp ẩn cuối cùng tới nơron k tại lớp ra:
Hiệu chỉnh w2kj của lớp ra Z.
w2*kj = w2(t)kj + yj k
Trong đó:
Footer Page 63 of 166.
(4.12)
Header Page 64 of 166.
63
- là hệ số học
- w2(t)kj là giá trị trọng số hiện thời từ nơron thứ j tới k
- w2*kj là giá trị trọng số đợc hiệu chỉnh từ nơron thứ j tới k
Từ công thức (4.12) ta có thể viết:
w2kj = w2kj + w2kj
(4.13)
với w2kj = yj k
Trong các ứng dụng thực tế, ngời ta thờng hiệu chỉnh w2ij theo
nguyên tắc có chú ý đến các thao tác trớc đó. Do vậy:
w2*kj = w2(t)kj + yj k + (w2(t)kj - w2(t-1)kj)
(4.14)
với wkj 2(mới) = yj k + wkj2(cũ) ở đây là hệ số quán tính.
Hiệu chỉnh w1ij của lớp ẩn Y
Tơng tự, trọng số w1ji đợc hiệu chỉnh theo công thức sau:
w2*ji = w2(t)ji + + xi j
(4.15)
Trong các ứng dụng thực tế, ngời ta thờng hiệu chỉnh w2ij theo
nguyên tắc có chú ý đến các thao tác trớc đó. Do vậy:
w1*ji = w1(t)ji + xi j + (w1(t)ji w1(t-1)ji)
(4.16)
wij 1(mới) = xi j + wij1(cũ)
Quá trình huấn luyện cần chú ý tới các yếu tố sau:
- Các trọng số ban đầu wij đợc gán các giá trị ngẫu nhiên, nhỏ
- Lựa chọn các hệ số học và hệ số quán tính sao cho + 1, với
không lớn hơn quá nhiều.
Footer Page 64 of 166.
Header Page 65 of 166.
64
- Các tín hiệu vào, ra nên đợc định cỡ chỉ nằm trong khoảng [0, 1].
Các nghiên cứu thực nghiệm chỉ ra rằng nên ở trong khoảng [0.2,
0.8].
4.1.3. Sử dụng mạng
Giả sử đã huấn luyện mạng nh trên hình 4.1 với tập mẫu {( Xs, Ds)}
để đợc ma trận trọng số W. Quá trình lan truyền trong mạng một véctơ tín
hiệu vào X = ( x1, x2, x3) đợc cho bởi:
z = f(w211y1+ w212y2) = f(w211f(w111x 1 + w112x 2 + w113x 3) +
w212f(w121x 1 + w122x 2 + w123x 3)) = F ( X, W)
Khả năng tính toán của mạng nhiều lớp
- Với một lớp ẩn, mạng có thể tính toán xấp xỉ một hàm liên tục bất kỳ
đối với các biến tơng ứng là các tín hiệu đầu vào.
- Với hai lớp ẩn, mạng có thể tính toán xấp xỉ một hàm bất kỳ. Tuy vậy,
số nơron trong các lớp ẩn có thể tăng theo hàm mũ đối với số đầu vào
và cho đến nay vẫn cha có những cơ sở lý luận đầy đủ để khảo sát họ
các hàm có thể xấp xỉ nhờ các mạng nhiều lớp.
4.1.4. Nghiên cứu sự hội tụ và độ phức tạp của quá trình huấn luyện
mạng.
Phơng pháp hiệu chỉnh trọng số nơron (4.12) và (4.15) dựa trên
nguyên tắc lan truyền ngợc sai số có thể lý giải dựa trên nguyên lý tìm kiếm
gradient trong không gian các tham số W sao cho cực tiểu hàm sai số tổng
cộng:
E(w) =
Footer Page 65 of 166.
1
2
l
(d
k =1
k
zk )
(4.17)
Header Page 66 of 166.
65
ở đây, dk là giá trị thực nghiệm quan sát đợc tại nơron k ở lớp ra, zk là
giá trị tính toán của mạng tại nơron thứ k ở lớp ra đối với mẫu Xs.
Khai triển E(w) theo các trọng số thành phần, ta có:
1
E(w) =
2
2
k
d k f w 2 kj y j = 1
2
j
k d k f j w 2 kj f i w1 ji xi
2
Lấy đạo hàm riêng của E theo các trọng số w2ij và w1ji ta có:
E
= -yj (dk zk) f(bk) = -yjk
wkj2
E
= -xi(dk zk)f(bk)w2kjf(ai) = -xiw2kjkf(ai) =-xij
1
w ji
Việc hiệu chỉnh véctơ trọng số W = (wkj) sao cho E(w) min dẫn tới
việc xác định véctơ gia số w = ( wkj) ngợc hớng với véctơ gradient (
E wkj ). Nói cách khác,
w2kj = -(-yjk)= yjk.
w1ji =-(-xij)= xij
Công thức này phù hợp với công thức (4.12) (4.15) tơng ứng.
Độ phức tạp thời gian của mạng nhiều lớp chủ yếu phụ thuộc vào thời
gian huấn luyện mạng với một tập mẫu nào đó. Giả sử có m mẫu vào và W
trọng số. Mỗi lần đa tất cả các mẫu đi qua mạng (gọi là vòng lặp (epoch))
phải tốn O(m W ) thao tác nơron. Trong trờng hợp xấu nhất, số vòng lặp lại
sẽ phụ thuộc hàm mũ vào số đầu vào n. Do vậy, chi phí thời gian sẽ là
O(k n m W ).
Hơn nữa quá trình học không phải lúc nào cũng hội tụ và có thể dẫn
tới các cực tiểu địa phơng của hàm E. Khi dùng mạng nơron nhiều lớp để
Footer Page 66 of 166.
Header Page 67 of 166.
66
biểu diễn tất cả các hàm logic có n đầu vào, ta phải dùng khoảng 2 n n nút ẩn,
mạng này có khoảng O(2 n ) trọng số, do vậy phải tiêu tốn O(2 n ) bit để biểu
diễn hàm logic.
Bắt đầu
Vào số nơron vào, ẩn, ra, số mẫu, E0
chọn , w kj , w1ji giá trị bất kỳ trong khoảng [0,1], số vòng học
2
Ek = 0
Bớc lặp it = l
Mẫu p = l
Tính yk và zk
Tính W1, W2 mới
P=P+1
It = it + 1
Tính Ek
Sai
Nếu p > PN
Đúng
Sai
Nếu Ek/NP/ZN
Đúng
Kết thúc
Hình 4.2. Sơ đồ khối trình tự các bớc của thuật toán tạo lập mạng lan
truyền ngợc sai số.
Footer Page 67 of 166.
Header Page 68 of 166.
67
Sau mỗi bớc lặp, các giá trị của các hệ số trọng lợng đợc hiệu chỉnh
dần. Quá trình học đợc dừng lại E(w) giảm đến một giá trị nào đó, kết thúc
quá trình huấn luyện mạng sẽ cho đáp ứng đầu ra tơng ứng với các tín hiệu
đầu vào. Các giá trị của hệ số trọng lợng sẽ không đổi sau khi kết thúc quá
trình huấn luyện. Trong quá trình huấn luyện mạng nơron đợc nhận biết mối
quan hệ giữa các thông số đầu vào là biến X và các thông số đầu ra mẫu là
biến Y, sau khi kết thúc quá trình huấn luyện đầu ra của mạng là các giá trị Z.
Z là một hàm phi tuyến phụ thuộc vào X.
4.1.5. Một số vấn đề về mạng nơron nhiều lớp.
Mạng nơron nhiều lớp truyền thẳng là cách biểu diễn các đối tợng dựa
trên các giá trị của các thuộc tính tơng đối hiệu quả, tuy rằng chúng cha vét
cạn hết mọi khía cạnh khác nhau về đối tợng đó. Cách tiếp cận mạng loại
này tỏ ra khá hiệu quả khi các quan sát (tín hiệu vào) có miền giá trị liên tục.
Do vậy, có thể xem là tốt hơn so với những cách tiếp cận truyền thống dựa
trên logic mệnh đề và cây quyết định.
Khả năng tổng quát hoá: mạng loại này có thể đa ra những kết quả
mang tính tổng quát hoá, tuy rằng kiểu phụ thuộc giữa đầu ra và đầu vào
không quá rối rắm.
Khả năng dung thứ lỗi: mạng đợc luyện mẫu theo quy tắc tuyến tính
nên có thể nhấp nhận sai số trong tập dữ liệu vào. Tuy vậy, mạng không thể
đa ra đợc những kết quả tính toán không chắc chắn, không chính xác kiểu
nh mạng Bayes.
Mạng đợc sử dụng nh một hộp đen, biểu thị quan hệ nào đó giữa tín
hiệu ra và tín hiệu vào, mà không cần chỉ rõ dạng giải tích tờng minh của
mối quan hệ đó. Tuy vậy, điểm bất lợi của cách tiếp mạng chính là ở chỗ
không thể lý giải các kết quả ra một cách rõ ràng nh đối với suy diễn logic
hay cây quyết định.
Footer Page 68 of 166.
Header Page 69 of 166.
68
4.2. ứng dụng mạng nơron nhiều lớp lan truyền ngợc sai số xây dựng
bài toán dự báo phụ tải hệ thống điện.
4.2.1. Các bớc xây dựng bài toán dự báo phụ tải.
Qua nhiều năm nghiên cứu và thực nghiệm ngời ta đã chứng tỏ rằng cách
tiếp cận các bài toán dự báo bằng cách sử dụng mạng nơron huấn luyện bởi
thuật toán lan truyền ngợc là hoàn hảo và đảm bảo độ chính xác cao. Nhng
để đạt đợc mục tiêu trên ta phải nghiên cứu và huấn luyện để lựa chọn tối u
các tham số cần thiết của mạng nơron:
- Số lớp ẩn(thờng dùng 1 lớp)
- Kích thớc các lớp ẩn
- Hệ số học
- Hệ số quán tính: thờng phải lựa chọn hệ số học và hệ số quán tính sao
cho + 1 với không lớn hơn quá nhiều.
- Các tín hiệu vào, nên chuẩn hoá sao cho tín hiệu vào nằm trong khoảng
[0;1]. Các nghiên cứu thực nghiệm đã chỉ ra tín hiệu vào nên nằm trong
khoảng [0.2,0.8]
- Dạng hàm kích hoạt: Thờng chọn hàm Sigmoid không cực
f(x) =
1
1 + e x
- Khởi tạo trọng số ban đầu: Các giá trị ban đầu cần gán giá trị ngẫu
nhiên nhỏ nằm trong khoảng [0;1]
Bài toán dự báo là một bài toán phức tạp, cả về số lợng dữ liệu đa vào
cũng nh độ chính xác dữ liệu cần dự báo. Từ trớc đến nay ngời ta đã đa ra
nhiều phơng pháp dự báo khác nhau nh phơng pháp: Hồi quy tuyến tính,
Phơng pháp ngoại suy theo thời gian
Footer Page 69 of 166.
Header Page 70 of 166.
69
Tuy nhiên đến thời điểm này đối với các bài toán dự báo phức tạp, đòi hỏi
độ chính xác cao ngời ta thờng dùng thuật toán lan truyền ngợc để ứng
dụng trong các lĩnh vực dự báo, nhận dạng, phân lớp. Các bớc chính trong
quá trình thiết kế và xây dựng một ứng dụng dựa trên mạng nơron nhiều lớp
lan truyền ngợc sai số bao gồm:
Bớc1: Lựa chọn các biến đầu vào
Đối với bài toán dự báo phụ tải điện, giá trị phụ tải và nhiệt độ tơng ứng
từng giờ là các dữ liệu đầu vào cho mạng.
Bớc2: Thu thập dữ liệu
Xem xét khả năng thu thập dữ liệu, các dữ liệu sau khi thu thập đợc cần
phải kiểm tra tính hợp lệ của chúng.
Bớc3: Xử lý dữ liệu
Dữ liệu đầu vào thực chất là các giá trị của tham số đầu vào đầu ra để tối
thiểu hoá nhiễu. Vì các đầu vào dữ liệu phụ tải và nhiệt độ rất lớn nên ta phải
chuẩn hoá sao cho các giá trị dữ liệu đầu vào ở trong khoảng [0.2,0.8].
Bớc 4: Phân chia tập dữ liệu
Để huấn luyện mạng ta phải chia tập dữ liệu thành tập huấn luyện và tập
kiểm tra. Tập huấn luyện thờng là lớn hơn tập kiểm tra, tập huấn luyện
thờng chứa khoảng 70% - 90% toàn bộ tập dữ liệu. Tập kiểm tra sử dụng để
kiểm tra tính đúng đắn của mạng sau khi đã huấn luyện, có hai cách xác định
tập kiểm tra, một là lấy ngẫu nhiên các mẫu từ tập huấn luyện ban đầu, hai là
chỉ lấy tập dữ liệu gần với hiện tại hơn vì nó quan trọng hơn các dữ liệu trong
quá khứ.
Bớc 5: Xác định cấu trúc mạng
Để xây dựng một mạng nơron hoàn chỉnh, ta cần xác định các yếu tố sau:
Footer Page 70 of 166.