Thuật toán học lan truyền ngược

Một phần của tài liệu luận văn thạc sĩ nhận dạng ảnh mặt người sử dụng mạng nơron (Trang 56 - 61)

Một mạng nơron truyền thẳng có cấu trúc gồm nhiều lớp. Mỗi lớp chứa các nơron nhận tín hiệu vào từ các nơron ở lớp trực tiếp phía dưới và gửi tín hiệu ra của chúng cho một lớp trực tiếp phía trên. Không có kết nối nào giữa

các nơron trong cùng một lớp. Các nơron vào Ni truyền tín hiệu đến lớp đầu tiên của các nơron ẩn Nh,1. Không xử lý nào được thực hiện ở các nơron vào. Hàm kích hoạt tại một nơron ẩn là một hàm Fi của các tín hiệu vào có trọng số cộng với một bias như công thức (2.5). Tín hiệu ra của các nơron ẩn này

được phân bổ trên lớp tiếp theo của các nơron ẩn Nh,2, cứ thế tiếp tục đến lớp cuối cùng của các nơron ẩn, ởđó các tín hiệu ra của chúng sẽđược truyền đến một lớp các nơron ra No (hình 2.9).

Hình 2.9. Mạng nơron l lớp

Do các nơron ởđây được sử dụng với hàm kích hoạt phi tuyến, nên có thể

tổng quát hóa quy tắc delta đã trình bày ở trên cho các hàm tuyến tính để có thể sử dụng với các hàm phi tuyến. Hàm kích hoạt là một hàm khả vi của tín hiệu vào tổng, được cho bởi:

= (2.19) trong đó

= + (2.20)

Để tổng quát hóa chính xác quy tắc delta ta đặt

∆ =− (2.21)

Hàm lỗi Ep được định nghĩa là tổng lỗi bình phương của mẫu p tại các

nơron ra:

= 1

trong đó là tín hiệu ra mong muốn với nơron o khi mẫu p đưa vào. Đặt

=∑ là tổng lỗi bình phương. Ta có thể viết:

= (2.23)

Theo công thức (2.20), nhân tử thứ hai là:

= (2.24) Khi đó có định nghĩa:

=− (2.25)

quy tắc mới nhận được này tương đương với quy tắc delta ở trên, trả về

kết quả độ dốc giảm dần trên mặt phẳng lỗi nếu trọng số được thay đổi theo công thức:

∆ =− (2.26)

Cách làm ởđây là nhằm xác định vai trò của đối với mỗi nơronk trong mạng. Kết quả là có sự tính toán hồi quy đơn giản của các này và có thể cài

đặt bằng cách lan truyền ngược các tín hiệu lỗi trong mạng.

Để tính , theo quy tắc chuỗi, đạo hàm riêng phần này được viết lại thành tích của hai nhân tử, một nhân tử phản ánh sự biến đổi của lỗi như một hàm của tín hiệu ra của nơron, còn một nhân tử phản ánh sự biến đổi của tín hiệu ra như một hàm của sự biến đổi tín hiệu vào:

=− =− (2.27)

= (2.28)

chính là đạo hàm của hàm F với nơron thứk, được tính tại nơron vào đến

nơron đó. Để tính nhân tử thứ nhất trong công thức (2.27), ta xét hai trường hợp. Thứ nhất, giả sử nơron k là nơron ra k = o của mạng, khi đó theo định nghĩa của Ep

=− − (2.29)

kết quả này giống như khi sử dụng quy tắc delta chuẩn. Thay thế kết quả này và kết quảở công thức (2.28) vào công thức (2.27):

= − (2.30)

với nơron ra o bất kỳ. Trường hợp thứ hai, nếu k không phải là nơron ra mà là

nơron ẩn k = h, khi đó không xác định được sự đóng góp của nơron này vào lỗi ra của mạng. Tuy nhiên, công thức tính lỗi có thể được viết như là một hàm của các tín hiệu vào từ lớp ẩn đến lớp ra; = ( , . . , , . . ) và ta sử

dụng quy tắc chuỗi để viết:

= = = =− (2.31)

Thay thế kết quả này vào công thức (2.27):

=− =− (2.32)

Công thức (2.30) và (2.27) xác định một thủ tục đệ quy để tính của tất cả các nơron trong mạng, và sau đó sử dụng để tính sự thay đổi trọng số theo

công thức (2.26). Thủ tục này chính là quy tắc delta tổng quát dùng cho mạng truyền thẳng phi tuyến.

Các công thức nhận được ở trên có thể là chính xác về mặt toán học,

nhưng thực tế chúng có ý nghĩa gì? Liệu có cách nào để hiểu được bản chất của lan truyền ngược?

Thực tế, toàn bộ quá trình lan truyền ngược là rất trực quan. Khi một mẫu học được đưa vào, các giá trị kích hoạt sẽđược lan truyền đến các nơron ra và tín hiệu ra thực sự của mạng được so sánh với tín hiệu ra mong muốn, thông

thường là kết thúc với một lỗi nào đó trong các nơron ra. Gọi lỗi này là eo với mỗi nơron ra o. Mục đích là phải làm cho eo bằng 0. Cách đơn giản nhất để

thực hiện việc này là làm theo thuật toán tham lam: thay đổi các kết nối trong mạng để dần dần eo bằng 0 với mẫu học này. Theo quy tắc delta, để giảm lỗi, các trọng sốđược chỉnh sửa theo

∆ = ( − ) (2.33) Đó là bước 1. Nhưng chỉ vậy thì chưa đủ: khi chỉ áp dụng quy tắc này, các trọng số từ nơron vào đến các nơron ẩn sẽ không được thay đổi và sẽ không

có được khả năng biểu diễn đẩy đủ của mạng truyền thẳng. Để có thể chỉnh sửa được trọng số từnơron vào đến các nơron ẩn, cần tiếp tục áp dụng quy tắc delta. Tuy nhiên, trường hợp này lại không có giá trị cho các nơron ẩn.

Điều đó có thể giải quyết bằng quy tắc chuỗi như sau: phân tán lỗi của một nơron ra o cho tất cả các nơron ẩn nối tới nó, theo trọng số bằng kết nối này. Mỗi nơron ẩn h nhận một từ mỗi nơron ra o bằng của nơron ra đó với trọng số là trọng số của kết nối giữa những nơron đó: =∑ . Cần có hàm kích hoạt của nơron ẩn; F’ phải được sử dụng cho delta, trước khi việc lan truyền ngược được tiếp tục.

Chương 3: Nhn dng nh mặt người s dng mạng Nơron

Một phần của tài liệu luận văn thạc sĩ nhận dạng ảnh mặt người sử dụng mạng nơron (Trang 56 - 61)

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

(69 trang)