寻常的梯度下降是对位置的改变,基于momentum的梯度下降引入了一个称为速度(velocity)的概念。梯度的作用就是改变速度,而不是直接的改变位置,就如同物理学中的力改变速度,只会间接地影响位置。第二,momentum方法引入了一种摩擦力的项,用来逐步的减少速度。
我们引入速度变量,其中一个对应变量。然后我们将梯度下降更新规则改成
在这些方程中,是用来控制阻碍或者摩擦力的量的超参数。为了理解这个公式,可以考虑一下当的时候,对应于没有任何摩擦力。所以,此时你可以看到力改变了速度,,速度随后再控制变化率。直觉上看,我们通过重复发热增加梯度项来构造速度。这表示,如果梯度在某些学习的过程中几乎在同样的方向,我们可以得到在那个方向上比较大的移动量。
如果我们直接按坡度下降,每一步速度都在增加,我们就会越来越快的达到谷底,这样就能确保momentum技术比校准的梯度下降运行的更快。但是,这也会出现问题,一旦达到谷底,我们就会直接跨越过去。这就是我们使用超参数的原因。
可以控制摩擦力大小,准确的说,应该将看成是摩擦力的量。当时,没有摩擦,速度完全由梯度决定。相反,若是,就存在很大的摩擦,速度无法叠加,就变成了通常的梯度下降,。
在实践中,使用0和1之间的值可以给我们避免过量而又能够叠加速度的好处。
网友评论