优化器:SGD with Momentum

(1)指数加权平均:一种近似求平均的方法,公式如下:

v_{t}=\beta \ast v_{t-1}+(1-\beta )\theta _{t}

v_{t}代表局部的平均值。\theta _{t}代表第t个数据的值。\beta是可调节超参。可近似为前\frac{1}{1-\beta }个数据的的平均值。

举例说明,设\beta=0.9,则近似代表近10个数据的平均值:

v_{4}=0.9v_{3}+0.1\theta _{4}=0.9(0.9v_{2}+0.1\theta _{3})+0.1\theta _{4}=0.81v_{2}+0.09\theta _{3}+0.1\theta _{4}=0.81(0.9v_{1}+0.1\theta _{2})+0.09\theta _{3}+0.1\theta _{4}=0.729v_{1}+0.081\theta _{1}+0.09\theta _{3}+0.1\theta _{4}=0.1\times 0.9^{3}\times \theta _{1}+0.1\times 0.9^{2}\times \theta _{2}+0.1\times 0.9^{1}\times \theta _{3}+0.1\theta _{4}

指数递减的加权的移动平均,越近期的数据加权越大。v_{t}对原始数据做了平滑,降低了原始数据的震荡程度,怎么看是前多少个数据的平均值呢,n通过\beta ^{n}\approx \frac{1}{e}得到。

(2)SGD with Momentum

采用上述指数加权平均的思路,在SGD中增加动量的概念,使得前几轮的梯度也会加入到当前的计算中(会有一定衰减),通过对前面一部分梯度的指数加权平均使得梯度下降过程更加平滑,减少动荡,收敛也比普通的SGD快。当前梯度方向与累计梯度方向一致时,梯度会被加强,从而这一步下降幅度增大,若方向不一致,则会减弱当前下降的梯度幅度。

v_{t}=\beta \ast v_{t-1}+(1-\beta )\Delta J(\theta )

\Delta J(\theta )是当前梯度值,\beta常设为0.9,也就是前10个梯度的平均值。参数\theta的更新公式如下:

\theta =\theta -\alpha v_{t}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值