深度学习中的优化(动量,RMSProp等算法)

1. 动量

1.      动量

使用了动量以后。假如梯度一直都是g,那么会一直在-g上不停加速,直到达到最终速度,其中步长变为,如当a=0.9时对应最大速度十倍于梯度下降算法。实际中,一开始是一个较小的值。

           同时,使用动量以后,会累积之前的梯度,假如梯度发生震荡,v受到的影响可以减小。可参考吴恩达视频中关于动量的解释。


2.      Nesterov动量

与1中的动量相比,Nesterov动量计算梯度的时候首先临时更新了权重参数,使用的是之前的动量进行临时更新,再根据临时的参数进行计算梯度。

 3. AdaGrad

 


adaGrad对梯度乘以累积平方梯度的反比。在参数空间相对平缓的情况下,偏导数会比较小(偏导数<1),乘以累积平方梯度的反比以后会加快步长。相反,当参数空间相对陡峭的情况下,步长会变小。

4.    RMSprop


修改adaGrad,使用移动平均引入了一个新的超参数p,用来控制移动平均的长度范围。

5.    RMSProp


RMSProp已经被证明是一种有效且实用的深度神经网络优化算法,结合了Nesterov动量以及RMSProp算法。

5.    Adam算法



一阶矩估计s与动量相似,二阶矩估计r与adaGrad类似

猜你喜欢

转载自blog.csdn.net/nickkissbaby_/article/details/81066643
今日推荐