RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

如图:

RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

对于蓝色的情况,由于梯度下降时来回摆动,导致收敛很慢

若增大学习率,结果可能偏离函数的范围,如紫色的情况。为了避免摆动过大,就必须使用较小的学习率,进一步降低了收敛速度

我们希望的是在纵轴上减缓学习,在横轴上加快学习,如红色的情况。有多种方法可以实现

动量梯度下降法(Momentum

RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

此处用了指数加权平均的更新方法

因为纵轴有许多摆动,在求平均的时候都可以被抵消,最后几乎等于0,所以纵轴的学习被减缓了

在横轴,所有微分都指向一个方向,所以求平均之后几乎没有变化

所以动量梯度下降法就可以解决上述问题

RMSprop

on iteration t :
      compute  dw, db on current Mini-patch  (和动量梯度下降法一样,每次先算出dw、db)

      RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

     RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

     RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

     RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

当dw很大时,Sdw就会很大,所以更新时dw就会除以同样很大的 RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记] ,会有抑制作用

当dw很小时,更新时它就会除以同样很小的 RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记] ,会有加速作用

所以RMSprop也可以解决上述问题

Adam优化算法

把上述两个方法结合起来,就是Adam优化算法。公式为:

on iteration t :
      compute  dw, db on current Mini-patch

      RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

      RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

      RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

      RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

      RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]

      RMSprop、动量梯度下降法与Adam优化 [Andrew Ng 深度学习笔记]