动量梯度下降法
我们现在介绍一下Momentum梯度下降法,运行速度快于标准的梯度下降法。其基本思想就是计算梯度的指数加权平均数,并利用该梯度来更新权重。
如图所示,图中蓝色的代表batch或者mini-batch的梯度下降法,很可能这种梯度下降法的逼近就是以这种形式来逼近的。这种上下波动减慢了梯度下降法的更新速度。使你无法用更大的学习率。如果用更大的学习率可能就如图中紫色线条所示,偏离了学习范围。为了避免波动过大,你要使用一个较小的学习率。
从另外一个角度我们来看,我们希望在纵轴上学的慢一点,而在横轴上学的快一点。Momentum梯度下降法刚好就可以解决这个问题。
像图中下侧所示的公式一样,我们指数加权平均更新dw和db,然后再更新w和b。这样就可以减少梯度下降的幅度。
就像图中部分那些小箭头一样,如果我们平均的话,正负数相互抵消,在纵轴方向平均值就是0了。而在横轴方向,因为所有的微分都指向横轴方向,所以横轴方向的平均值仍然较大。
momentum算法的名称由来如下:
想象你有一个碗,有一个球从碗的边缘滚下去,微分给了这个碗加速度,球因为加速度会越滚越快。