Các nhân tố của quá trình học lan truyền ngợc của sai số

Một phần của tài liệu Công nghệ xử lý và nhận dạng ảnh mặt người bằng mạng nơron nhân tạo mlp (Trang 43 - 51)

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á cha. Nếu cha 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 lu ý 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

Một phần của tài liệu Công nghệ xử lý và nhận dạng ảnh mặt người bằng mạng nơron nhân tạo mlp (Trang 43 - 51)

Tải bản đầy đủ (PDF)

(74 trang)