-
SGD
- 隨機拿一個或幾個數據做個梯度下降
-
Momentum
- 當前下降的方向要與之前下降的方向加權平均。這裡的gamma取0.9,可減少震盪,更快的收斂
-
NAG
- NAG(Nesterov accelerated gradient)利用Momentum預測下一步的梯度,而不是使用當前的theta
- http://cs231n.github.io/neural-networks-3/#sgd-and-bells-and-whistles
-
AdaGrad
- 利用以前的梯度信息\sum_{i=1}^t \Vg_{i,j}^2判斷對應的特徵j是否經常被更新
- http://www.magicbroom.info/Papers/DuchiHaSi10.pdf
-
RMSProp
- 解決AdaGrad中學習速率趨向0的問題,公式多了對累計的信息的一個指數衰減(gamma取0.9),相對AdaGrad,不存在學習速率趨向0的問題,這裡的學習速率eta就可以取小一點如0.001
- http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf
-
AdaDelta
- AdaDelta用sqrt{Delta{t-1} + epsilon}來估計學習速率。這裡的gamma取0.95。直觀來說,就是利用之前的步長Delta估計下一步的步長
- https://arxiv.org/pdf/1212.5701v1.pdf
-
Adam
- adaptive estimates of lower-order moments
- 首先Adam利用了AdaGrad和RMSProp在稀疏數據上的優點。對初始化的偏差的修正也讓Adam表現的更好
- http://arxiv.org/abs/1412.6980