Tại sao tốc độ học tập khiến trọng lượng của mạng lưới thần kinh của tôi tăng vọt?


9

Tôi đang sử dụng tenorflow để viết các mạng thần kinh đơn giản cho một chút nghiên cứu và tôi đã gặp nhiều vấn đề với trọng lượng 'nan' trong khi đào tạo. Tôi đã thử nhiều giải pháp khác nhau như thay đổi trình tối ưu hóa, thay đổi mất mát, kích thước dữ liệu, v.v. nhưng không có kết quả. Cuối cùng, tôi nhận thấy rằng một sự thay đổi trong tỷ lệ học tập đã tạo ra một sự khác biệt không thể tin được về trọng lượng của tôi.

Sử dụng tỷ lệ học tập là 0,001 (mà tôi nghĩ là khá bảo thủ), hàm tối thiểu hóa sẽ thực sự làm tăng theo cấp số nhân. Sau một kỷ nguyên, sự mất mát có thể nhảy từ một con số trong hàng nghìn đến một nghìn tỷ và sau đó đến vô cùng ('nan'). Khi tôi hạ thấp tỷ lệ học tập xuống 0,0001, mọi thứ đều hoạt động tốt.

1) Tại sao một thứ tự cường độ có hiệu ứng như vậy?

2) Tại sao chức năng tối thiểu hóa thực hiện ngược lại chức năng của nó và tối đa hóa tổn thất? Dường như với tôi rằng điều đó không nên xảy ra, bất kể tỷ lệ học tập.


Bạn có thể vui lòng cho biết làm thế nào bạn đã khởi tạo trọng lượng của bạn?
Himanshu Rai

Tôi đề nghị thử bộ giải Adam. Nó dường như hoạt động tốt hơn và mặc định tốt hơn, và bạn có thể sử dụng tỷ lệ học tập mặc định cho nó.
DW

Câu trả lời:


9

Bạn có thể thấy Chương 8 của Deep Learning hữu ích. Trong đó, các tác giả thảo luận về đào tạo các mô hình mạng thần kinh. Nó rất phức tạp, vì vậy tôi không ngạc nhiên khi bạn gặp khó khăn.

Một khả năng (bên cạnh lỗi người dùng) là vấn đề của bạn rất khó điều hòa. Các phương thức gốc gradient chỉ sử dụng thông tin phái sinh (gradient) đầu tiên khi tính toán một bản cập nhật. Điều này có thể gây ra vấn đề khi đạo hàm thứ hai (Hessian) bị điều hòa.

Trích dẫn từ các tác giả:

H

Vấn đề điều hòa không tốt thường được cho là có mặt trong các vấn đề đào tạo mạng lưới thần kinh. Tình trạng không điều hòa có thể biểu hiện bằng cách khiến SGD bị mắc kẹt trong phạm vi hiểu biết rằng ngay cả những bước rất nhỏ cũng làm tăng chức năng chi phí. [nhấn mạnh của tôi thêm]

Các tác giả cung cấp một dẫn xuất đơn giản để chỉ ra rằng đây có thể là trường hợp. Sử dụng độ dốc giảm dần, hàm chi phí sẽ thay đổi (thành lệnh thứ hai) bằng cách

ε22gTHg-εgTg

gHεεε


2
Dường như với tôi rằng câu trả lời quora này cung cấp một lời giải thích khá trực quan cho tình trạng xấu của Hessian.
Oren Milman

3

1) Tại sao một thứ tự cường độ có hiệu ứng như vậy?

2) Tại sao chức năng tối thiểu hóa thực hiện ngược lại chức năng của nó và tối đa hóa tổn thất? Dường như với tôi rằng điều đó không nên xảy ra, bất kể tỷ lệ học tập.

Có hai lý do chính. Đầu tiên bạn không sử dụng cùng một dữ liệu trong bước đầu tiên so với bước thứ hai. Nếu trong bước đầu tiên, mô hình học các giá trị đó và rơi vào mức tối thiểu cục bộ thì rất có thể sẽ gây ra tổn thất lớn hơn cho các giá trị mới.

Lý do thứ hai là hình dạng của hàm chi phí. Bạn cố gắng giảm thiểu giá trị bằng các bước nhỏ, độ dài của các bước đó được đưa ra bởi hai yếu tố: độ dốc và tốc độ học tập. Hình ảnh chức năng của bạn giống như x ^ 2. Nếu giá trị của bạn gần bằng 0, độ dốc sẽ nhỏ hơn nếu nó tiếp tục, nhưng nếu tốc độ học tập của bạn lớn thì thay vì tiến gần đến 0, bạn thực sự tăng lỗi vì điểm mới của bạn dựa trên điểm và tỷ lệ học tập cao hơn 0 so với bước trước của bạn. Và điều này có thể xảy ra nhiều lần.

Hãy xem liên kết này: http://www.statisticviews.com/details/feature/5722691/Getting-to-the-Bottom-of-Regression-with-Gradient-Descent.html

Nếu bạn thấy các số liệu có alpha 0,01 và alpha 0,12, bạn sẽ thấy trong hình đầu tiên, tốc độ học tập nhỏ như thế nào và do đó độ dốc ngày càng gần với mức tối thiểu nhưng trong trường hợp thứ hai, tốc độ học tập lớn đến mức độ dốc di chuyển hơn nữa trong mỗi bước.


1
Liên quan đến lý do thứ hai - câu trả lời này thể hiện (sử dụng các hàm đơn giản) khi độ dốc giảm dần có thể phân kỳ. Câu trả lời đó cũng có mã Python để bạn có thể thử nghiệm và xem cách thức giảm độ dốc hoạt động trong các tình huống khác nhau ..
Oren Milman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.