SGD的动量(Momentum)算法

Posted yibeimingyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SGD的动量(Momentum)算法相关的知识,希望对你有一定的参考价值。

引入动量(Momentum)方法一方面是为了解决“峡谷”和“鞍点”问题;一方面也可以用于SGD 加速,特别是针对高曲率、小幅但是方向一致的梯度。

  • 如果把原始的 SGD 想象成一个纸团在重力作用向下滚动,由于质量小受到山壁弹力的干扰大,导致来回震荡;或者在鞍点处因为质量小速度很快减为 0,导致无法离开这块平地。
  • 动量方法相当于把纸团换成了铁球;不容易受到外力的干扰,轨迹更加稳定;同时因为在鞍点处因为惯性的作用,更有可能离开平地。
  • 动量方法以一种廉价的方式模拟了二阶梯度(牛顿法)

技术图片

 Momentum 梯度下降法,就是计算了梯度的指数加权平均数,并以此来更新权重,它的运行速度几乎总是快于标准的梯度下降算法。

以上是关于SGD的动量(Momentum)算法的主要内容,如果未能解决你的问题,请参考以下文章

深度学习优化算法总结

深度学习Momentum(动量方法)

Pytorch:优化器

算法工程师(机器学习)面试题目2---数学基础

优化算法梯度下降SGDMomentumAdagradAdam

Adam优化器