1. 什么是學習率(Learning rate)?
學習率(Learning rate)作為監督學習以及深度學習中重要的超參,其決定着目標函數能否收斂到局部最小值以及何時收斂到最小值。合適的學習率能夠使目標函數在合適的時間內收斂到局部最小值。
這里以梯度下降為例,來觀察一下不同的學習率對代價函數的收斂過程的影響(這里以代價函數為凸函數為例):
回顧一下梯度下降的代碼:
repeat{
$ \theta_j = \theta_j - \alpha \frac{\Delta J(\theta)}{\Delta \theta_j} $
}
當學習率設置的過小時,收斂過程如下:
2. 學習率的調整
2.1 離散下降(discrete staircase)
對於深度學習來說,每 $ t $ 輪學習,學習率減半。對於監督學習來說,初始設置一個較大的學習率,然后隨着迭代次數的增加,減小學習率。
2.2 指數減緩(exponential decay)
對於深度學習來說,學習率按訓練輪數增長指數差值遞減。例如:
又或者公式為:
其中epoch_num為當前epoch的迭代輪數。不過第二種方法會引入另一個超參 $ k $ 。
2.3 分數減緩(1/t decay)
對於深度學習來說,學習率按照公式 $ \alpha = \frac{\alpha}{1+ {decay _ rate} * {epoch _ num}} $ 變化, decay_rate控制減緩幅度。
引用及參考:
[1] https://mooc.study.163.com/learn/2001281003?tid=2001391036#/learn/content?type=detail&id=2001702125&cid=2001693086
[2] https://www.cnblogs.com/keguo/p/6244253.html
[3] https://blog.csdn.net/jningwei/article/details/79243800
[4] https://baijiahao.baidu.com/s?id=1591531217345055627&wfr=spider&for=pc
寫在最后:本文參考以上資料進行整合與總結,屬於原創,文章中可能出現理解不當的地方,若有所見解或異議可在下方評論,謝謝!
若需轉載請注明:https://www.cnblogs.com/lliuye/p/9471231.html