轉(zhuǎn)載請注明作者:夢里風林
Github工程地址:https://github.com/ahangchen/GDLnotes
歡迎star正卧,有問題可以到Issue區(qū)討論
官方教程地址
視頻/字幕下載
- 實踐中大量機器學習都是通過梯度算子來求優(yōu)化的
- 但有一些問題,最大的問題就是扶平,梯度很難計算
- 我們要計算train loss,這需要基于整個數(shù)據(jù)集的數(shù)據(jù)做一個計算
- 而計算使 train loss 下降最快的調(diào)整方向需要的時間是計算train loss本身的三倍
- 因此有了SGD:Stochastic Gradient Descent
- 計算train loss時的榛,只隨機取一小部分數(shù)據(jù)集做為輸入
- 調(diào)整W和b時租悄,調(diào)整的大小step需要比較小谨究,因為數(shù)據(jù)集小,我們找到的不一定是對的方向
- 這樣也就增加了調(diào)整的次數(shù)
- 但可觀地減小了計算量
SGD的優(yōu)化
實際上SGD會使得每次尋找的方向都不是很準恰矩,因此有了這些優(yōu)化
- 隨機的初始值
- Momentum
考慮以前的平均調(diào)整方向來決定每一步的調(diào)整方向
-
Learning Rate Decay
- 訓練越靠近目標记盒,步長應該越小
-
Parameter Hyperspace
- Learning Rate(即調(diào)整的step)不是越大越好憎蛤,可能有瓶頸
- SGD有許多參數(shù)可以調(diào)整外傅,所以被稱為黑魔法
- AdaGurad
- 自動執(zhí)行momentum和learning rate decay
- 使得SGD對參數(shù)不像原來那樣敏感
- 自動調(diào)整效果不如原來的好,但仍然是一個option
覺得得我的文章對您有幫助的話俩檬,就給個star吧~