下降初期时,使用上一次参数更新,下降方向一致,乘上较大的能够进行很好的加速
下降中后期时,在局部最小值来回震荡的时候,, 使得更新幅度增大,跳出陷阱
在梯度改变方向的时候,能够减少更新 总而言之,momentum项能够在相关方向加速SGD,抑制振荡,从而加快收敛
前期较小的时候, regularizer较大,能够放大梯度
后期较大的时候,regularizer较小,能够约束梯度
适合处理稀疏梯度
训练初中期,加速效果不错,很快
训练后期,反复在局部最小值附近抖动
其实RMSprop依然依赖于全局学习率
RMSprop算是Adagrad的一种发展,和Adadelta的变体,效果趋于二者之间
适合处理非平稳目标 - 对于RNN效果很好
结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点
对内存需求较小
为不同的参数计算不同的自适应学习率
也适用于大多非凸优化 - 适用于大数据集和高维空间
[1]Adagrad(http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf)
[2]RMSprop[Lecture 6e]
(http://www.cs.toronto.edu/~tijmen/csc321/lecture_notes.shtml)
[3]Adadelta(http://arxiv.org/abs/1212.5701)
[4]Adam(http://arxiv.org/abs/1412.6980v8)
[5]Nadam(http://cs229.stanford.edu/proj2015/054_report.pdf)
[6]On the importance of initialization and momentum in deep learning
(http://www.cs.toronto.edu/~fritz/absps/momentum.pdf)
[7]Keras中文文档(http://keras-cn.readthedocs.io/en/latest/)
[8]Alec Radford(https://twitter.com/alecrad)
[9]An overview of gradient descent optimization algorithms
(http://sebastianruder.com/optimizing-gradient-descent/)
[10]Gradient Descent Only Converges to Minimizers
(http://www.jmlr.org/proceedings/papers/v49/lee16.pdf)
[11]Deep Learning:Nature
(http://www.nature.com/nature/journal/v521/n7553/abs/nature14539.html)