momentum梯度下降法

指数加权平均

假设有多个时间点对应的值 θ t \theta_t ,那么我可以得出一个指数加权平均值 V t V_t
{ V t = 0 t = 0 V t = β V t 1 + ( 1 β ) θ t t > 0 \begin{cases} V_t=0&t=0\\ V_t=\beta V_{t-1}+(1-\beta)\theta_t&t>0 \end{cases}

在结果上看, V t V_t 可以看成以 t t 结尾的 1 1 β \dfrac{1}{1-\beta} 天的平均 θ \theta 值。

β = 0.9 \beta=0.9 时有:
V t = 0.1 θ t + 0.1 0.9 θ t 1 + 0.1 0. 9 2 θ t 2 + 0.1 0. 9 3 θ t 3 + . . . V_t=0.1\theta_t+0.1\cdot0.9\theta_{t-1}+0.1\cdot0.9^2\theta_{t-2}+0.1\cdot0.9^3\theta_{t-3}+...

当超过 1 1 β \dfrac{1}{1-\beta} 时,其系数小于 1 e \dfrac{1}{e} ,影响较小了。

空间优势:

假设我不需要保留前一个数据,那么只需要 V : = β V + ( 1 β ) θ t V:=\beta V+(1-\beta)\theta_t ,也就是说,我只需要开一个与 θ t \theta_t 相同大小的数据即可实现这一过程,而不像直接取平均值那样要保留其它项。空间优势巨大。

指数加权平均……偏差修正

开始的几天并不正确,因为虽然乘了系数,但是项数却不够,所以可以进行修改,使得 V t : = V t 1 β t V_t:=\dfrac{V_t}{1-\beta^t}

验证以下可以发现,前面几项除了一个小数,变大了,也就是说趋近了真实的值。

momentum(动量)梯度下降法

在这里插入图片描述
类似与上述的情况下,梯度下降会按照蓝色的线进行优化参数。

我们想要减少垂直方向的变化幅度,加大水平方向的变化。

考虑指数加权平均的方法。


我们在神经网络中,算出了 d w , d b dw,db ,然后令:

V d w : = β V d w + ( 1 β ) d w V d b : = β V d b + ( 1 β ) d b    w : = w α V d w b : = b α V d b Vdw:=\beta Vdw+(1-\beta)dw\\ Vdb:=\beta Vdb+(1-\beta)db\\ \;\\ w:=w-\alpha\cdot Vdw\\ b:=b-\alpha\cdot Vdb

思索一下这样的做法对原来的梯度下降法的优化,如果遇到上面的情况,上下的起伏因为平均后变得很小。而左右方向的前进速度因为一直累加而变大。

所以说,在大部分情况下,momentum梯度下降法都是快于原来的梯度下降法的。

发布了723 篇原创文章 · 获赞 314 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/jk_chen_acmer/article/details/103465752