Các nhân tố quan trọng ảnh hởng tới độ hội tụ, tốc độ học, các cực tiểu cục bộ, khả năng dự báo của mạng MLP là :
- Khởi động các trọng số.
- Hằng số học η.
- Hàm giá ( cho sự đánh giá sai số trên lớp ra ).
- Hằng số quán tính à.
- Các luật cập nhật.
- Tập mẫu học và dự báo.
- Cấu trúc mạng ( số lớp, số nơron trên mỗi lớp ).
- Các hàm biến đổi. Sau đây chỉ xét một số nhân tố gây ảnh hởng nhất
đến chất lợng của mạng.
+ Khởi động các trọng số :
Các giá trị của các trọng số đợc khởi tạo ban đầu của mạng MLP ảnh hởng rất mạnh tới lời giải cuối cùng. Các trọng số này thờng đợc khởi tạo bằng những số ngẫu nhiên nhỏ. Việc khởi tạo tất cả các trọng số bằng nhau sẽ làm cho việc học của mạng trở nên không tốt. Các trọng số khởi tạo ban đầu cũng không đợc quá lớn vì nếu không hàm sigmoidal hoặc các hàm dạng này sẽ bị bão hoà ngay từ lúc bắt đầu hoặc bằng 0 hoặc bằng 1. Điều này là cho hệ thống sẽ bị tắc ngay tại một cực tiểu cục bộ hoặc tại một vùng bằng phẳng nào
đấy gần ngay điểm xuất phát.
Một cách tốt để chọn các giá trị trọng số ban đầu là thực hiện một cách tự
động bằng chơng trình. Giá trị khởi động ban đầu của các trọng số trên lớp thứ l
đợc chọn ngẫu nhiên trong khoảng [ 1/n , 1/n ], trong đó n là tổng số trọng số - có trên lớp l. Do bản chất của giải thuật học lan truyền ngợc của sai số là phơng pháp giảm gradient nên việc khởi động các giá trị ban đầu của các trọng số khác nhau sẽ làm cho mạng hội tụ về các cực trị địa phơng khác nhau. Khả
năng chọn các giá trị ban đầu của các trọng số để mạng hội tụ về cực tiểu toàn cục sau quá trình học lan truyền ngợc của sai số chỉ có thể đợc thực hiện khi giải thuật lan truyền ngợc của sai số đợc kết nối với giải thuật di truyền cho việc học tham số sẽ đề cập ở phần sau.
+ Hằng số học η
Một nhân tố khác ảnh hởng tới hiệu lực và độ hội tụ của giải thuật học lan truyền ngợc của sai số là hằng số học . Không có một giá trị duy nhất tốt phù η hợp với tất cả các bài toán khác nhau. Hằng số học này thờng đợc chọn bằng thực nghiệm cho mỗi bài toán ứng dụng cụ thể bằng phơng pháp thử và sai. Giá
trị η lớn làm tăng tốc quá trình hội tụ. Điều này là không có lợi vì thủ tục học sẽ
kết thúc rất nhanh tại một cực tiểu cục bộ gần nhất. Nếu giá trị của hằng số học quá nhỏ tốc độ hội tụ của giải thuật lại trở nên rất chậm. Do đó chúng ta cần phải chọn một giá trị thoả hiệp giữa tốc độ học và việc ngăn chặn hội tụ về các cực tiểu cục bộ. Các giá trị của hằng số học nằm trong khoảng 10-3 và 10 đã đợc sử dụng thành công cho rất nhiều bài toán cụ thể. Nói chung giá trị của hằng số học nằm trong khoảng [0.3,0.6] đợc chứng minh bằng thực nghiệm là khá tốt cho việc lựa chọn ban đầu của quá trình tìm kiếm hằng số học thích hợp.
Một vấn đề nảy sinh khác là các giá trị tốt của hằng số học tại thời điểm bắt đầu của quá trình học có thể là không tốt đối với giai đoạn sau của quá trình học. Do đó một phơng pháp hiệu quả hơn là sử dụng hằng số học thích nghi.
Phơng pháp trực giác là kiểm tra xem liệu các trọng số mới đã làm giảm hàm giá cha. Nếu cha khi đó quá trình hiệu chỉnh các trọng số đã phóng quá xa, lúc này hằng số học η cần phải đợc giảm đi. Mặt khác nếu vài vòng lặp liên tiếp làm giảm hàm giá, khi đó chúng ta cần phải thử tăng giá trị của hằng số học.
Bằng biểu thức, hằng số học thích nghi cần đợc cập nhật theo quy tắc sau : + a nếu ∆E “luôn” nhỏ hơn 0
-b
∆η= η nÕu ∆E > 0 (2.21)
0 trờng hợp còn lại
Trong đó ∆E là thay đổi của hàm giá; a và b là các hằng số dơng. ý nghĩa của việc “luôn” nhỏ hơn 0 đợc đánh giá dựa trên k bớc lặp liên tiếp.
+ Các hàm giá :
Hàm giá bình phơng đợc định nghĩa theo phơng trình 2.0 không phải là sự lựa chọn duy nhất có thể. Số hạng bình phơng sai số (yj - Outj)2 có thể đợc thay thế bằng bất cứ hàm có khả năng đạo hàm nào khác F(yj, Outj), với điều
kiện là các hàm này sẽ đạt cực tiểu khi hai đối số yj và Outj bằng nhau. Dựa vào dạng của hàm giá mới chúng ta có thể thu nhận đợc các phơng trình khác nhau thay cho phơng trình 2.14. Một điều dễ nhận thấy là chỉ có phơng trình hiệu chỉnh các trọng số ở lớp ra là thay đổi theo các dạng hàm giá khác nhau, trong khi đó các phơng trình khác của giải thuật lan truyền ngợc của sai số vẫn giữ
nguyên.
Các hàm giá thờng đợc sử dụng là những hàm dựa trên chuẩn Lp
(1≤p≤∞) bởi sự lợi thế của dạng phơng trình toán học đơn giản. Các hàm giá
nh vậy có dạng là :
∑=
−
= n
j
p l j
j Out
p y E
1
) 1 (
víi 1≤ p≤∞ (2.22)
Trờng hợp hàm giá định nghĩa theo phơng trình 2.0 là trờng hợp riêng với p = 2 của phơng trình (2.22). Một trờng hợp riêng rất có ý nghĩa khác của phơng trình 2.22 là trờng hợp p=∞. Trờng hợp này còn có tên là chuẩn Chebyshev và đợc định nghĩa theo dạng toán học là :
|
|
sup j lastj
i
last =E∞ = y −Out
ε (2.23)
ở đây hàm sup|.| là hàm chọn thành phần lớn nhất trong véc tơ. Với định nghĩa trên của chuẩn Chebyshev, giá trị của hàm giá là thành phần lớn nhất của véctơ sai số, trong khi đó tất cả các thành phần khác của véctơ sai số sẽ bỏ qua.
Từ dạng trên của hàm giá, chúng ta có thể tính đợc hệ số hiệu chỉnh cho lớp ra nh sau :
∂∂ =
= last
j last last
j Netε
δ 0 nÕu j ≠ i* )
( ) 1
.( * * *
*
last i i last
i last
i Out sign y Out
Out − − nÕu j = i*
ở đây i* là chỉ số của thành phần lớn nhất của véc tơ sai số. Hệ số hiệu chỉnh này chỉ ra rằng chỉ có sai số lớn nhất trong số các sai số của các nơron trên lớp ra
đợc lan truyền ngợc cho các lớp phía trớc. Điều này làm cho sai số trên các nơron của lớp ra là tơng đơng nhau.
+ Tập mẫu học và dự báo
Chúng ta luôn yêu cầu tập mẫu học phải đủ và đúng. Tuy nhiên không có một thủ tục hay một nguyên tắc chọn tập mẫu học phù hợp cho mọi trờng hợp.
Một nguyên tắc rút ra từ kinh nghiệm là tập mẫu học phải bao phủ toàn bộ không gian của tín hiệu vào và sau đó trong quá trình học các cặp véc tơ vào - lời giải nên đợc chọn một cách ngẫu nhiên từ tập học. Một cách chính xác hơn, giả định là không gian tín hiệu vào đợc phân chia một cách tuyến tính thành M các vùng riêng biệt với ranh giới là các siêu phẳng ( hyperplanes ). Gọi P là giới hạn dới của số mẫu học có trong tập mẫu. Nếu chọn P sao cho tỷ số P/M lớn hơn 1 rất nhiều có thể cho phép mạng trong quá trình học phân biệt đợc các vùng rời rạc.
Trong một số trờng hợp việc tỷ lệ hoá hay chuẩn hoá mẫu học sẽ giúp cho việc học của mạng tốt hơn rất nhiều. Đối với các mạng nơron MLP sử dụng hàm biến
đổi là sigmoidal khi đó véctơ vào và véctơ lời giải cần đợc tỷ lệ hoá một cách
đúng đắn. Một mạng nơron MLP với số lợng các trọng số lớn ( số tham số học lớn ) với một tập mẫu học có số lợng mẫu nhất định có thể học rất tốt, song việc dự báo có thể không tốt. Hiện tợng này thờng đợc gọi là học quá ( overtrain or overfiting ). Với số lợng trọng số qúa nhỏ mạng nơron có thể không học đợc các mẫu học và cho kết quả rất tồi đối với tập kiểm tra. Để cải thiện khả năng học và dự báo, chúng ta phải làm cho mạng ít nhạy cảm đối với những thay đổi nhỏ của tín hiệu vào. Nói một cách khác là với một thay đổi nhỏ của tín hiệu vào, các
thành phần của tín hiệu ra không thay đổi. Điều này có thể đợc thực hiện bằng việc thêm vào tập mẫu học những thay đổi nhỏ của tín hiệu vào và giữ nguyên giá trị của véctơ lời giải. Điều nay có một bất lợi nhỏ là sẽ kéo dài thời gian tính toán trong quá trình học. Một cách khác là biến đổi dạng của hàm giá, các tác giả
Drucker và LeCum đã xây dựng một mạng lan truyền ngợc kép. Mạng lan truyền ngợc kép, một lan truyền hai tín hiệu sai số ∂E/∂wj, và một lan truyền tín hiệu ∂Eb /∂wj. Kỹ thuật này đã cải thiện rõ rệt khả năng dự báo của mạng nơron nhiÒu líp MLP .
+ Cấu trúc mạng
Mạng nơron MLP có số lớp ẩn có thể thay đổi từ 0 đến vài lớp. Đối với một bài toán cụ thể số lợng nơron trên lớp vào và lớp ra là cố định vì số nơron trên lớp vào bằng số biến của véc tơ vào và số nơron trên lớp ra bằng số biến của véc tơ lời giải. Kích thớc của lớp ẩn ( số nơron trên lớp ẩn ) là một câu hỏi luôn
đợc đặt ra cho các ứng dụng sử dụng mạng nơron lan truyền ngợc. Các phân tích chính xác về vấn đề số lợng nơron trên lớp ẩn có lẽ không thể thực hiện
đợc bởi tính phức tạp và bản chất không tiền định của các thủ tục học. Do đó kích cỡ của lớp ẩn thờng đợc xác định bằng thực nghiệm. Một chỉ dẫn mang tính chất chung là đối với những mạng nơron có kích thớc đáng kể (tín hiệu vào có khoảng hàng trăm hoặc hàng nghìn biến ), kích thớc của lớp ẩn cần thiết ban
đầu chỉ là một phân số nhỏ của số nơron trên lớp vào. Nếu mạng không có khả
năng hội tụ về lời giải, chúng ta cần tăng dần số nơron trên lớp ẩn. Nếu mạng có khả năng hội tụ về lời giải, chúng ta cần thử giảm số lợng nơron trên lớp ẩn. Với sự kết hợp với giải thuật di truyền trong việc học cấu trúc sẽ đợc đề cập ở phần sau việc chọn cấu trúc mạng nơron MLP sẽ đợc thực hiện một cách tự động trong quá trình học cấu trúc.
+ Các hàm biến đổi
Chúng ta cần lu ý là biển thức
) 1
( lj
l
j Out
Out − trong các phơng trình hiệu chỉnh các trọng số 2.14 và 2.17 là kết quả
của đạo hàm ∂Outlj /∂Netlj cho bởi phơng trình 2.12. Một cách tổng quát các hàm biến đổi đợc dùng trong các mạng nơ ron nhiều lớp lan truyền ngợc không nhất thiết là hàm sigmoidal có dạng cho bởi phơng trình 2.11. Nếu các hàm biến đổi khác đợc sử dụng, khi đó đạo hàm
l j l
j Net
Out ∂
∂ / sẽ có dạng khác với dạng của
phơng trình 2.12. Do đó trong các phơng trình hiệu chỉnh trọng số trên các lớp chứa biểu thức Outlj(1−Outlj) sẽ có dạng khác. Bảng 2.1 dới đây đa ra một số hàm biến đổi có những tính chất tơng tự nh hàm sigmoidal và có thể đợc dùng cho mạng MLP. Từ hình 2.4, hàm thứ hai trong bảng 2.1, hàm tang hyperbolic tanh(x) khá hấp dẫn. Hàm này có điểm uốn tại gốc toạ độ và hai tiệm cận là ±1.
Hình 2.5: Các hàm mà đạo hàm của chúng có thể tính đợc thông qua giá trị của hàm.
Với đặc điểm này làm cho hàm rất phù hợp với các ứng dụng có các số liệu nằm trong khoảng -[ 1, 1]. Hai hàm còn lại trong bảng 2.1 chỉ đợc sử dụng khi đối số của hàm lớn hơn hoặc bằng 1. Đối với đối số nhỏ hơn 1 chúng nhận giá trị là 0.
f(x) F’(x) f’(f(x)
e−x
+ 1
1
)2
1
( x
x
e e
−
−
+
− f(x)(1− f(x)
x x
e e
−
−
+
− 1 1
)2
1 (
2
x x
e e
−
−
+
))2
( ( 1− f x
x x +
1 (1 )2
1
+x (1−f(x))2 e−x
−
1 e−x 1− f(x)
Bảng 2.1 : Các hàm có thể đợc dùng nh hàm biến đổi trong mạng nơron MLP.
chơng 3
thiết kế cài đặt phần mềm xử lí và Nhận dạng ảnh mặt ngời