2.2.3 动量梯度下降法

动量梯度下降法

我们现在介绍一下Momentum梯度下降法,运行速度快于标准的梯度下降法。其基本思想就是计算梯度的指数加权平均数,并利用该梯度来更新权重。

2.2.3 动量梯度下降法_第1张图片

如图所示,图中蓝色的代表batch或者mini-batch的梯度下降法,很可能这种梯度下降法的逼近就是以这种形式来逼近的。这种上下波动减慢了梯度下降法的更新速度。使你无法用更大的学习率。如果用更大的学习率可能就如图中紫色线条所示,偏离了学习范围。为了避免波动过大,你要使用一个较小的学习率。

从另外一个角度我们来看,我们希望在纵轴上学的慢一点,而在横轴上学的快一点。Momentum梯度下降法刚好就可以解决这个问题。

像图中下侧所示的公式一样,我们指数加权平均更新dw和db,然后再更新w和b。这样就可以减少梯度下降的幅度。

就像图中部分那些小箭头一样,如果我们平均的话,正负数相互抵消,在纵轴方向平均值就是0了。而在横轴方向,因为所有的微分都指向横轴方向,所以横轴方向的平均值仍然较大。

momentum算法的名称由来如下:

想象你有一个碗,有一个球从碗的边缘滚下去,微分给了这个碗加速度,球因为加速度会越滚越快。 β β 比一小,表现出一些摩擦力。因为向下获得动量,所以称之为momentum。

下面是如何具体实现

2.2.3 动量梯度下降法_第2张图片

右侧公式是删了 1β 1 − β 之后的结果,实际上,这两个公式都是可以的。

吴教主深度学习和神经网络课程总纲

你可能感兴趣的:(深度学习)