Trong bối cảnh của các mạng lưới thần kinh, sự khác biệt giữa tốc độ học tập và giảm cân là gì?
Trong bối cảnh của các mạng lưới thần kinh, sự khác biệt giữa tốc độ học tập và giảm cân là gì?
Câu trả lời:
Tốc độ học tập là một tham số xác định mức độ bước cập nhật ảnh hưởng đến giá trị hiện tại của các trọng số. Trong khi phân rã trọng lượng là một thuật ngữ bổ sung trong quy tắc cập nhật trọng lượng làm cho các trọng số phân rã theo cấp số nhân về 0, nếu không có cập nhật nào khác được lên lịch.
Vì vậy, giả sử rằng chúng ta có hàm chi phí hoặc lỗi mà chúng ta muốn giảm thiểu. Giảm dần độ dốc cho chúng ta sửa đổi các trọng số theo hướng đi xuống dốc nhất trong : trong đó là tốc độ học tập và nếu nó lớn, bạn sẽ có một sự điều chỉnh lớn tương ứng của các trọng số (nói chung nó không nên quá lớn, nếu không bạn sẽ vượt quá mức tối thiểu cục bộ trong hàm chi phí của bạn).
Để hạn chế hiệu quả số lượng tham số miễn phí trong mô hình của bạn để tránh phù hợp quá mức, có thể thường xuyên hóa hàm chi phí. Một cách dễ dàng để làm điều đó là bằng cách đưa ra một Gaussian trung bình bằng 0 trước các trọng số, tương đương với việc thay đổi hàm chi phí thành . Trong thực tế, điều này phạt trọng lượng lớn và hạn chế hiệu quả sự tự do trong mô hình của bạn. Tham số chính quy xác định cách bạn đánh đổi chi phí ban đầu với hình phạt trọng số lớn.
Áp dụng độ dốc giảm dần cho hàm chi phí mới này, chúng tôi có được: Thuật ngữ mới xuất phát từ chính quy làm cho trọng lượng phân rã tỷ lệ với kích thước của nó.
Ngoài câu trả lời của @ mrig (+1), đối với nhiều ứng dụng thực tế của mạng nơ-ron, tốt hơn là sử dụng thuật toán tối ưu hóa tiên tiến hơn, chẳng hạn như Levenberg-Marquest (mạng cỡ nhỏ) hoặc giảm độ dốc liên hợp tỷ lệ (trung bình lớn mạng), vì các mạng này sẽ nhanh hơn nhiều và không cần thiết lập tốc độ học (cả hai thuật toán về cơ bản điều chỉnh tốc độ học bằng cách sử dụng độ cong cũng như độ dốc). Bất kỳ gói hoặc thư viện mạng thần kinh phong nha nào cũng sẽ có triển khai một trong những phương pháp này, bất kỳ gói nào không có lẽ đã lỗi thời. Tôi sử dụng NETLAB libary cho MATLAB, đây là một bộ công cụ tuyệt vời.
Tôi thuật ngữ đơn giản:
learning_rate: Nó kiểm soát mức độ nhanh hay chậm của một mô hình mạng thần kinh tìm hiểu một vấn đề.
ref: https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/
wight_decay: Đây là một kỹ thuật chính quy được sử dụng để tránh phù hợp quá mức.
ref: https://metacademy.org/graphs/con accept / weight_decay_neural_networks