Rất nhiều hướng dẫn trực tuyến nói về độ dốc gốc và hầu hết tất cả chúng đều sử dụng kích thước bước cố định (tỷ lệ học tập ). Tại sao không sử dụng tìm kiếm dòng (chẳng hạn như tìm kiếm dòng quay lại hoặc tìm kiếm dòng chính xác)?
Rất nhiều hướng dẫn trực tuyến nói về độ dốc gốc và hầu hết tất cả chúng đều sử dụng kích thước bước cố định (tỷ lệ học tập ). Tại sao không sử dụng tìm kiếm dòng (chẳng hạn như tìm kiếm dòng quay lại hoặc tìm kiếm dòng chính xác)?
Câu trả lời:
Độ dốc của vani có thể được thực hiện đáng tin cậy hơn bằng cách sử dụng tìm kiếm dòng; Tôi đã viết các thuật toán thực hiện điều này và nó tạo ra một thuật toán rất ổn định (mặc dù không nhất thiết phải nhanh).
Tuy nhiên, hầu như không có ý nghĩa gì khi thực hiện tìm kiếm dòng cho các phương thức gradient ngẫu nhiên . Lý do tôi nói điều này là vì nếu chúng tôi thực hiện tìm kiếm dòng dựa trên việc giảm thiểu chức năng mất toàn bộ, chúng tôi đã ngay lập tức mất một trong những động lực chính để thực hiện các phương pháp ngẫu nhiên; bây giờ chúng ta cần tính toán hàm mất toàn bộ cho mỗi bản cập nhật, thường có chi phí tính toán tương đương với tính toán đạo hàm đầy đủ đầu tiên. Cho rằng chúng tôi muốn tránh tính toán độ dốc đầy đủ vì chi phí tính toán, có vẻ như chúng tôi không muốn ổn với việc tính toán hàm mất toàn bộ.
Ngoài ra, bạn có thể nghĩ đến việc thực hiện một cái gì đó giống như tìm kiếm dòng dựa trên điểm dữ liệu được lấy mẫu ngẫu nhiên của bạn. Tuy nhiên, đây cũng không phải là một ý tưởng tốt; điều này sẽ không cho bạn biết gì về việc bạn đã đi quá xa hay chưa (đó là lợi ích chính của tìm kiếm dòng). Ví dụ, giả sử bạn đang thực hiện hồi quy logistic. Sau đó, mỗi kết quả chỉ là 0 hoặc 1 và đối với bất kỳ mẫu đơn lẻ nào, chúng tôi có được sự phân tách hoàn hảo để giải pháp tối ưu cho các tham số hồi quy dựa trên mẫu 1 là tầm thường hoặc bởi hiệu ứng Hauck Donner. Điều đó không tốt.
BIÊN TẬP
@DeltaIV chỉ ra rằng điều này cũng áp dụng cho các lô nhỏ, không chỉ các mẫu riêng lẻ.
Các hướng dẫn nói về độ dốc giảm dần có lẽ vì đây là một trong những thuật toán đơn giản nhất được sử dụng để tối ưu hóa, vì vậy rất dễ để giải thích. Vì hầu hết các hướng dẫn như vậy khá ngắn gọn, họ tập trung vào những thứ đơn giản. Có ít nhất một số thuật toán tối ưu hóa phổ biến ngoài việc giảm độ dốc đơn giản được sử dụng để học sâu. Trên thực tế mọi người thường sử dụng các thuật toán khác nhau sau đó chuyển độ dốc vì chúng thường hội tụ nhanh hơn. Một số trong số họ có tỷ lệ học tập không liên tục (ví dụ giảm dần theo thời gian). Để xem xét các thuật toán như vậy, bạn có thể kiểm tra tổng quan về các thuật toán tối ưu hóa độ dốc được đăng bởi Sebastian Ruder (hoặc bài báo được tạo ra ).