活动地址:CSDN21天学习挑战赛
1、介绍
有一种算法叫做Momentum,或者叫做动量梯度下降法,运行速度几乎总是快于标准的梯度下降算法,简而言之,Momentum算法在原有的梯度下降法中引入了动量。基本的想法就是计算梯度的指数加权平均数,并利用该梯度更新权重。
引入动量比起普通梯度下降法主要能够增加两个优点。
首先,引入动量能够使得物体在下落过程中,当遇到一个局部最优的时候有可能在原有动量的基础上冲出这个局部最优点;并且,普通的梯度下降法方法完全由梯度决定,这就可能导致在寻找最优解的过程中出现严重震荡而速度变慢,但是在有动量的条件下,物体运动方向由动量和梯度共同决定,可以使得物体的震荡减弱,更快地运动到最优解
2、指数加权平均
指数加权移动平均是一种常用的序列数据处理方式,用于描述数值的变化趋势,本质上是一种近似求平均的方法。计算公式如下:
v t = β v t − 1 + ( 1 − β ) θ t \ v_t = βv_t-_1+(1-β)θ_t vt=βvt−1+(1−β)θt
其中 v t v_t vt表示第t个数的估计值,β为一个可调参数,为 v t − 1 v_t − _1 vt−1 的权重, θ t θ_t θt
表示第t个数的实际值。
3、 Momentum介绍
在深度学习中,Momentum(动量)优化算法是对梯度下降法的一种优化, 它在原理上模拟了物理学中的动量,已成为目前非常流行的深度学习优化算法之一。
3.1 背景
下图表明了传统的梯度下降法会存在的问题,即训练轨迹会呈现锯齿状,这无疑会大大延长训练时间。同时,由于存在摆动现象,学习率只能设置的较小,才不会因为步伐太大而偏离最小值。
3.2 优化思路
想让纵向的摆动尽量小,同时保持横向的运动方向比较平稳。引入动量能够使得物体在下落过程中,当遇到一个局部最优的时候有可能在原有动量的基础上冲出这个局部最优点;并且,普通的梯度下降法方法完全由梯度决定,这就可能导致在寻找最优解的过程中出现严重震荡而速度变慢,但是在有动量的条件下,物体运动方向由动量和梯度共同决定,可以使得物体的震荡减弱,更快地运动到最优解。
引入动量后新的轨迹如下图:(红色线)
3.3 更新公式
它主要是基于梯度的移动指数加权平均。假设在当前的迭代步骤第 t 步中,那么基于Momentum优化算法可以写成下面的公式: