美文网首页
Momentum,RMSprop,Adam算法

Momentum,RMSprop,Adam算法

作者: 冯凯onmyway | 来源:发表于2017-11-28 11:55 被阅读0次

    1 Mini-batch梯度下降

    Mini-batch梯度下降迭代过程

    Mini-batch解决了批量梯度下降单次迭代样本多,速度慢的问题,也解决了随机梯度下降不稳定的问题,能够相对更快更好地收敛。但是,mini-batch和批量梯度下降一样,更新方向完全依赖当前batch,也是不稳定的。Momentum算法解决了这个问题。

    2 Momentum

    Momentum又叫做gradient descent with momentum。可以把某一维度的历史摆动中和,从而达到沿着梯度方向快速下降的目的,如下图所示。

    Momentum梯度更新

    Momentum用到了指数加权平均的思路,把历史梯度的更新体现到当前的梯度更新中,由于初始值为0还需要用到偏差修正的方法,来修正前几轮数据。但在实际实战中,几轮过后,偏差就已经不明显,也可以忽略。另外,也有人把dw的系数1-β替换成1。

    3 RMSprop

    RMProps全称root mean square props,是Hinton在Coursera的课程上首先提出来的,为了解决不同方向摆动幅度不一致的问题。

    RMSprop算法梯度更新过程

    从图中可以看到,梯度更新多了一个分母,这个分母就是为了均衡不同维度的摆动幅度。摆动幅度统一后,可以适当调大学习率α,加快训练速度。

    4 Adam

    Adam算法可以看做momentum和RMSprop的结合,更新过程如下图。

    Adam算法更新过程

    迭代中用到了偏差修正。ε是为了防止分母为零,通常设置一个很小的值。图中计算Sdb时,db忘了加平方。算法中用到的超参数的经验值如下图。

    Adam算法迭代过程

    Adam是目前最棒的优化算法,不知道用什么的话选它就对了。

    相关文章

      网友评论

          本文标题:Momentum,RMSprop,Adam算法

          本文链接:https://www.haomeiwen.com/subject/ahvsbxtx.html