Gradient Descent with Momentum
阿新 • • 發佈:2018-07-09
一個 ast image spl lock bubuko 梯度 moment 之前
在Batch Gradient Descent及Mini-batch Gradient Descent, Stochastic Gradient Descent(SGD)算法中,每一步優化相對於之前的操作,都是獨立的。每一次叠代開始,算法都要根據更新後的Cost Function來計算梯度,並用該梯度來做Gradient Descent。
Momentum Gradient Descent相較於前三種算法,雖然也會根據Cost Function來計算當前的梯度,但是卻不直接用此梯度去做Gradient Descent。而是賦予該梯度一個權值,並綜合考慮之前N次優化的梯度,得到一個加權平均的移動平均值(Weighted Moving Average),並以此來作為Gradient Descent的參數。
這裏使用Exponential Moving Average(EMA)來計算該加權平均值,公式為:
dW為本次計算出的梯度值,beta是衰減因子。如果將上式展開,可以得到:
根據β值的大小,可以得出大致納入考慮範圍的步數為1/(1-β),β值越大,步數約多,反之則窗口約窄。
EMA算法的優點:
1.EMA會減小算法的震蕩
2.在實現上也非常有效率,比起Simple Moving Average,EMA所用的存儲空間小,並且每次叠代中使用一行代碼即可實現。
不過,β成為了除α外的又一個Hyperparameter,調參要更難了。
Gradient Descent with Momentum