李宏毅深度学习——优化方法
記錄了關于梯度的歷史
?
SGD?
SGD with Momentum
防止gradient為0,SGD停止不動了
sgd with momentum,前面的移動會累加到下一步
sgd with momentum,前面的移動會累加到下一步,所以小球不會卡在局部的一個最優的位置
Adagrad
前幾個time step如果坡度很大,就會暴走,走到不好的位置上,有個分母就會走小步一點
RMSProp
怕使用adagrad時,一開始的坡度很大,那么步幅就會很小,走沒幾步就停了
?RMSProp保證分母不會無止境變大
Adam
一開始,帽等式右邊分母小于1,保證帽一開始不為0,且不會隨時間變化變得太大
adam:一開始沖的很快
sgdm:沖的不會太快,穩一些,不會有太大的上下起伏的情況?
沖的快會形成sharp mininum,generalization gap 大
沖的不快 flat mininum,generalization gap 小
combine一下,一開始用adam后面用sgdm
如何讓adam像sgdm一樣收斂得又快又好
?帽等式10的5次方,等于10^5*10^5*0.001=10^7
前面100998步都是亂走,并且走了很長,100999步才是對的,然而走了很短。
記住以前最大的grad,但是這和adagrad有一樣的錯誤,分母容易變成0?
讓learning_rate自己調整?
sgdm最后很穩,但是速度太慢了
可以通過調整learning_rate加快速度?
?learning_rate大小大小變化,周期性變化
一開始gradient很亂
方向比較亂的時候走小步一點,方向不亂的時候走大步一點
一開始用sgdm后面用adam
RAdam一開始不用Adam,因為Adam不穩,并且<4的時候是不能用RAdam?
SWATS一開始用Adam,因為Adam一開始快,后面用sgdm穩
?
?
實踐中用的最多,用weight decay的效果會比較好?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的李宏毅深度学习——优化方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 李宏毅深度学习——梯度下降
- 下一篇: 李宏毅深度学习——分类