动量:
在经典迭代公式中,学习后的参数仅仅考虑当前梯度方向,却没有考虑历史梯度方向。使用动量就是加入历史梯度方向,就像人在运动时,除了自己主动想变向,还有一个惯性力,这就可以使得方向的改变是两个力的叠加,方向改变变得更平滑。
看公式,引入递推公式代替原本的单纯的梯度项,这样子就可以保留上次一梯度的信息。
最终效果如图所示,前一张图没有加入动量项,后一张图有,会发现方向改变的更平滑。此外,还会跳出局部最优解而到达全局最优解,因为当遇到小坑时,因为动量的存在会把人带出小坑。这里的β是权衡动量项和梯度项之间比例的参数。比如说如果取1,则二者权重一样。