Như chúng ta đ• biết thuật toán lan truyền ngược được sử dụng trong mạng nhiều lớp, đầu ra của lớp trước trở thành đầu vào của lớp sau. Các công thức được mô tả như sau:
(3.88)
trong đó M là số lớp của mạng. Nơron trong lớp thứ nhất nhận các đầu vào bên ngoài:
(3.89)
cung cấp cho công thức (3.28) để tính đầu ra của các lớp tiếp theo. Đầu ra của lớp cuối cùng là đầu ra của mạng:
(3.90)
Hình 3.91- Mạng nơron 3 lớp
Thuật toán lan truyền ngược cho mạng nhiều lớp là một suy rộng của thuật toán LMS – Least Mean
trung bình. Thuật toán được cung cấp với một tập các mẫu dữ liệu học về cách ứng xử thích hợp của mạng:
(3.92)
trong đó pq là một đầu vào và tq là đầu ra mong muốn tương ứng. Khi mỗi đầu vào đựơc đưa vào
mạng, kết quả đầu ra sẽ được so sánh với đầu ra mong muốn. Thuật toán sẽ điều chỉnh các tham số
của mạng để tối thiểu sai số bình phương trung bình này: (3.93)
trong đó x là véctơ trọng số và độ lệch của mạng. Nếu mạng có nhiều đầu ta thì sẽ biểu diễn như sau:
(3.94)
Như trong thuậ toán LMS, chúng ta xấp xỉ sai số bình phương trung bình bằng công thức sau:
(3.95)
trong đó kz vọng của bình phương sai số thay bằng bình phương sai sốở bước huấn luyện thứ k. Từng bước điều chỉnh xuống dốc của thuật toán với sự xấp xỉ sai số bình phương trung bình là: (3.96) (3.97) trong đó ? là tốc độ học. Bởi vì sai số là một hàm của trọng số trong lớp ẩn, chúng ta sử dụng tính đạo hàm của hàm hợp. Để xem xét luật dây xích, giải sử chúng ta có một hàm f là một hàm hiện có n biến. Chúng ta tính đạo hàm của hàm f với một biến w là: (3.98) Ví dụ, nếu (3.99) thì (3.100) áp dụng vào công thức (3.96) và (3.97) chúng ta có: (3.101) (3.102)
Với cách thứ 2 này chúng ta có thể dễ dàng tính toán, tổng đầu vào tới lớp thứ m là một hàm hiện của các trọng số và độ lệch trong lớp đó: (3.103) vì vậy (3.104) Nếu chúng ta định nghĩa (3.105)
(độ nhạy của để thay đổi trong thành phần thứ i của tổng đầu vào ở lớp thứ m) thì công thức (3.101)
và (3.102) có thể viết lại đơn giản như sau:
(3.106) (3.107)
Chúng ta có thể biểu diễn thuật toán xuống dốc từng bước xấp xỉ như sau (phương pháp tụt gradient): (3.108) (3.109) Dưới dạng ma trận sẽ viết gọn thành: (3.110) (3.111) trong đó (3.112)
Bây giờ chúng ta tính độ nhạy sm sẽ cần một phương pháp cho cách tính đạo hàm của hàm hợp. Quá
trình này cho ta khái niệm lan truyền ngược, bởi vì nó mô tả một quan hệ quay lui trong đó độ nhạy ở
lớp m được tính từ độ nhạy ở lớp m+1.
Để đưa ra quan hệ quay lui cho các độ nhạy, chúng ta sẽ sử dụng ma trận Jacobian sau đây: (3.113)
Ma trận Jacobian được diễn tả như sau. Xét phần tử i,j của ma trận:
(3.114) trong đó
(3.115)
Vì thế ma trận Jacobian có thể được viết
(3.116) trong đó (3.117)
Chúng ta viết ra quan hệ quay lui cho độ nhạy bằng việc sử dụng cách tính đạo hàm theo luật dây xích trong ma trận mẫu:
3.118
Bây giờ chúng ta có thể thấy thuật toán lan truyền ngược đưa ra tên của nó. Độ nhạy được lan truyền
ngược trở lại qua mạng từ lớp cuối cùng tới lớp thứ nhất: (3.119)
Đáng phải nhấn mạnh điểm này, thuật toán lan truyền ngược sử dụng kỹ thuật xuống dốc từng bước xấp xỉ mà chúng ta đ• dùng trong thuật toán LMS. Sự phức tạp duy nhất đó là tính gradient cần cho việc lan truyền ngược độ nhạy. Sắc đẹp của thuật toán lan truyền ngược là chúng ta có một ứng dụng
rất hiệu quả của luật dây xích.
Chúng ta còn có một bước nữa để hoàn thành thuật toán lan truyền ngược. Chúng ta cần điểm bắt đầu sM, cho quan hệ quay lui của công thức (3.118). Điều này có được ở lớp cuối cùng:
(3.120) Ta có (3.121) chúng ta có thể viết (3.122) Viết dưới dạng ma trận là (3.123)
Tóm lại thuật toán lan truyền ngược được mô tả tóm tắt như sau. Bước thứ nhất lan truyền đầu vào
qua mạng:
(3.125) (3.126)
Bước tiếp theo sẽ lan truyền độ nhạy ngược trở lại qua mạng:
(3.127) (3.128)
Cuối cùng các trọng số và độ lệch được cập nhật sử dụng luật xuống dốc từng bước xấp xỉ như sau: (3.129)
(3.130)