Mô tả thuật toán

Một phần của tài liệu TÌM HIỂU và mô PHỎNG MẠNG NƠRON (Trang 37)

Ta sẽ sử dụng dạng tổng quát của mạng nơron truyền thẳng nhiều lớp như trong hình vẽ 2.1 của phần trước. Khi đó, đầu ra của một lớp trở thành đầu vào của lớp kế tiếp. Phương trình thể hiện hoạt động này như sau:

am+1 = fm+1 (Wm+1am + bm+1) với m = 0, 1, ..., M – 1,

trong đó M là số lớp trong mạng. Các nơron trong lớp thứ nhất nhận các tín hiệu từ bên ngoài:

a0 = p,

chính là điểm bắt đầu của phương trình phía trên. Đầu ra của lớp cuối cùng được xem là đầu ra của mạng:

a = aM. Ban đầu {pk , ak} k = 1..Q

Đầu ra ak so sánh với tk

Chỉ số hiệu năng.

Thuật toán lan truyền ngược sử dụng chỉ số hiệu năng là trung bình bình phương lỗi của đầu ra so với giá trị đích. Đầu vào của thuật toán chính là tập các cặp mô tả hoạt động đúng của mạng:

{(p1, t1), (p2, t2), ..., (pQ, tQ)},

Trong đó pk là một đầu vào và tk là đầu ra mong muốn tương ứng, với k = 1..Q. Mỗi đầu vào đưa vào mạng, đầu ra của mạng đối với nó được đem 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 hóa trung bình bình phương lỗi:

F(x) = E[e2] = E[(t - a)2] ,

Trong đó: x là biến được tạo thành bởi các trọng số và độ lệch

E là ký hiệu kỳ vọng toán học.

Thuật toán giảm theo hướng cho trung bình bình phương lỗi xấp xỉ là:

trong đó hạng thức thứ hai của các phương trình trên có thể dễ dàng tính toán bởi vì đầu vào của mạng tới lớp m là một hàm của trọng số và độ lệch:

trong đó S m-1 là số đầu ra của lớp (m – 1). Do vậy ta có:

Ký hiệu

là độ nhậy cảm của F đối với các thay đổi của phần tử thứ i của đầu vào của mạng tại lớp thứ m. Khi đó ta có:

Ta có thể phát biểu thuật toán giảm theo hướng (gradient descent) như sau:

ma trận Jacobi có thể viết lại như sau:

Trong đó:

Như vậy:

Sm = F m (n m )(W m+1 )T

s m+1 .

Đến đây có thể thấy độ nhậy cảm được lan truyền ngược qua mạng từ lớp cuối cùng trở về lớp đầu tiên:

Ở đây thuật toán lan truyền ngược lỗi sử dụng cùng một kỹ thuật giảm theo hướng như thuật toán LMS. Sự phức tạp duy nhất là ở chỗ để tính gradient ta cần phải lan truyền ngược độ nhậy cảm từ các lớp sau về các lớp trước như đã nêu trên. Bây giờ ta cần biết điểm bắt đầu lan truyền ngược, xét độ nhậy cảm sM tại lớp cuối cùng:

Nên ta có thể viết :

Ở dạng ma trận :

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu TÌM HIỂU và mô PHỎNG MẠNG NƠRON (Trang 37)