2.2.1. Thuật toán lan truyền ngược với kỹ thuật biến đổi hệ số quán tính
Phương pháp đầu tiên được đề cập ở đây là ứng dụng của quán tính. Đó là một cải tiến dựa trên nhận xét trong phần trước rằng độ hội tụ có thể tăng nếu chúng ta có thể làm trơn những dao động trong quỹ đạo. Chúng ta có thể làm điều đó bằng một bộ lọc thấp (low pass filter). [4]
Trước khi chúng ta áp dụng hệ số quán tính vào một ứng dụng mạng nơron, chúng ta cùng kiểm tra một ví dụ đơn giản để mô tả hiệu ứng làm trơn. Công thức tính bộ lọc mức 1 sau: ), ( ) 1 ( ) 1 ( ) (k y k w k y (2.4)
khi w(k) là đầu vào bộ lọc, y(k) là đầu ra của bộ lọc và là hệ số quán tính
thỏa mãn
0<<1 (2.5)
Hiệu quả của bộ lọc này được chỉ ra trong hình 2.9. Với các ví dụ, đầu vào của bộ lọc được lấy theo hàm sin:
), 16 2 sin( 1 ) (k k w (2.6) và hệ số quán tính được đặt là =0.9 (đồ thị trái) và =0.98 (đồ thị phải). Ở đây chúng ta có thể thấy rằng dao động của đầu ra bộ lọc là nhỏ hơn dao động của
đầu vào bộ lọc. Thêm nữa, khi tăng độ dao động trong đầu ra giảm xuống. Chú ý
rằng trung bình đầu ra bộ lọc bằng trung bình đầu vào bộ lọc, mặc dù khi tăng,
đầu ra bộ lọc đáp ứng chậm hơn.
Tóm lại, bộ lọc có xu hướng giảm số dao động, trong khi vẫn giữ giá trị trung bình. Bây giờ chúng ta xem cách nó thực hiện trong bài toán mạng nơron. Đầu tiên, hãy nhớ lại công thức cập nhật tham số cho thuật toán SDBP(công thức 1.51) và (công thức 1.52) là T m m m k s a W ( ) ( 1) (2.7) m m k s b ( ) (2.8)
Khi bộ lọc quán tính được thêm vào trong các thay đổi tham số, ta đạt được các công thức sau cho cải tiến quán tính của thuật toán lan truyền ngược:
T m m m m a s k W k W ( ) ( 1)(1 ) ( 1) (2.9) m m m s k b k b ( ) ( 1)(1) (2.10)
Nếu chúng ta áp dụng những công thức sửa đổi cho ví dụ trong phần trước, chúng ta đạt được những kết quả chỉ ra trong hình 2.10. Quỹ đạo tương ứng với cùng điều kiện khởi tạo và hệ số học chỉ ra trong hình 2.8, nhưng với hệ số quán
tính =0.8. Chúng ta có thể thấy rằng bây giờ thuật toán đã ổn định. Bằng cách sử
dụng quán tính, chúng ta có thể sử dụng một hệ số học lớn, trong khi vẫn giữ được tính ổn định của thuật toán. Một ưu điểm nữa của quán tính là nó có xu hướng tăng tốc độ hội tụ khi quỹ đạo di chuyển trong một hướng nhất định.
Nếu bạn quan sát quỹ đạo trong Hình 2.10, bạn có thể thấy tại sao quá trình xử lý này lại gọi là quán tính (momentum). Nó có xu hướng làm cho quỹ đạo giữ nguyên hướng. Giá trị càng lớn, tính quán tính của quỹ đạo càng tăng.
2.2.2. Thuật toán lan truyền ngược với kỹ thuật biến đổi hệ số học
Trong phần trước chúng ta đã nhận xét là có thể tăng tốc độ hội tụ nếu tăng được hệ số học trên các mặt phẳng và sau đó giảm hệ số học khi độ dốc tăng. Trong phần này chúng ta sẽ khảo sát kỹ về nhận xét này.
Nhớ lại rằng mặt hiệu suất sai số bình phương trung bình cho các mạng 1 lớp tuyến tính thường là hàm bậc 2, và ma trận Hessian là hằng số. Hệ số học ổn định cực đại cho thuật toán giảm nhanh nhất là 2 chia cho giá trị riêng cực đại của ma trận Hessian.
Như chúng ta đã thấy, mặt sai số của mạng nhiều lớp không phải là hàm bậc 2. Đường cong của mặt có thể rất khác trong những vùng khác nhau của không gian tham số. Chúng ta có thể tăng tốc độ hội tụ bằng cách thay đổi hệ số học trong suốt quá trình huấn luyện. Việc cần làm lúc này là xác định khi nào cần thay đổi hệ số học và độ thay đổi là bao nhiêu.
Có nhiều cách để biến đổi hệ số học. Chúng ta sẽ mô tả một thủ tục rất dễ hiểu theo lô, khi hệ số học biến đổi theo hiệu suất của thuật toán. Các quy tắc biến đổi hệ số học cho thuật toán lan truyền ngược là:
1. Nếu bình phương sai số (trên toàn bộ tập huấn luyện) tăng nhiều hơn một số
phần trăm nào đó (thường từ 1 –5%) sau khi cập nhật trọng số, thì cập nhật trọng
số bị hủy, hệ số học được nhân với một nhân tố 0<<1, và hệ số quán tính (nếu
2. Nếu bình phương sai số (trên toàn bộ tập huấn luyện) giảm sau khi cập nhật trọng số, thì cập nhật trọng số được chấp nhận và hệ số học được nhân với một nhân tố >1. Nếu trước đó bị đặt về 0, nó sẽ được đặt lại về giá trị khởi tạo.
3. Nếu bình phương sai số tăng ít hơn một số nào đó, thì cập nhật trọng số
được chấp nhận nhưng hệ số học không thay đổi. Nếu trước đó bị đặt về 0, nó sẽ
được đặt lại về giá trị khởi tạo.
Để làm rõ thuật toán VLBP, chúng ta hãy áp dụng nó cho bài toán xấp xỉ hàm của phần trước. Hình 2.11 hiển thị quỹ đạo của thuật toán khi sử dụng cùng các giá trị khởi tạo, hệ số học và hệ số quán tính như đã dùng trong hình 2.10. Các tham số mới được chỉ định là
=1.05, =0.7, =4% (2.11)
Hình 2.11 - Quỹ đạo của biến đổi hệ số học
Chú ý rằng ta đang thay đổi hệ số học, do đó kích thước bước có xu hướng tăng khi quỹ đạo di chuyển trên một đường thẳng với sai số giảm dần. Hiệu quả này có thể nhìn thấy trong hình 2.12, trong đó chỉ ra rằng bình phương sai số và hệ số học nghịch đảo với số lần lặp.
Khi quỹ đạo hướng tới một „vũng‟ hẹp, hệ số học nhanh chóng giảm xuống. Nói cách khác quỹ đạo sẽ trở nên dao động, và sai số sẽ tăng đột ngột. Với mỗi bước tiềm năng khi sai số sẽ tăng nhiều hơn 4%, hệ số học giảm và quán tính bị loại
trừ, làm cho quỹ đạo nhanh chóng đi theo „vũng‟ tới điểm cực tiểu. Khi đó hệ số học sẽ tăng trở lại để đẩy nhanh tốc độ hội tụ. Hệ số học lại giảm trở lại khi quỹ đạo vượt qua điểm cực tiểu khi thuật toán gần như đã hội tụ. Quá trình này là thường xuyên xảy ra với quỹ đạo thuật toán VLBP.
Hình 2.12 - Các đặc điểm hội tụ của Biến đổi hệ số học
Có nhiều dạng của thuật toán biến đổi hệ số học. Jacobs đề xuất luật học delta- bar-delta, cho mỗi tham số mạng có hệ số học của riêng nó. Thuật toán tăng hệ số học cho một tham số mạng khi tham số thay đổi có cùng hướng của nhiều lần lặp. Nếu hướng của tham số thay đổi bị trệch đi thì hệ số học bị giảm bớt. Thuật toán SuperSAB của Tollenaere tương tự với luật delta-bar-delta, nhưng nó có các luật phức tạp hơn để thay đổi hệ số học.