Toriyung

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

神经网络优化-动量梯度下降法(牛顿法)

背景

对于标准梯度下降过程,wt的更新是wt=wt-1+△w,而wt=wt-1-△w仅仅是对于当前点wt的△w,没有对于历史数据的考量(通俗点说叫经验教训)

结果就是下降(优化)过程前进方向速度缓慢,同时产生振荡(如图红线)

据此引入冲量v,令vt=vt-1-△w,由迭代思想知冲量v代表着从初始到当前△w的累积(即过程中对于各个纬度进行经验累积,具有经验教训的△w),并更新wt=wt-1-vt,则对于梯度下降有根据纬度的修正(前进方向促进,无效振荡方向削弱)

再进一步,由于当步数逐渐多了之后,前面的梯度和当前的梯度已有所区别,所以以往的梯度对当下的影响应该削弱,所以对v的构成进行加权,如图公式vt = βvt-1+(1-β)△w

 

另一个角度(正交分量--吴恩达)

由指数加权均值计算原理(https://www.cnblogs.com/toriyung/p/16535030.html)可知,梯度更新过程是对进行指数加权均值计算得出的dω进行更新。

在振荡方向,越靠近0梯度时(或者说时间越久)均值趋近0,即动量趋近0,则梯度更新量趋近于0;

前进方向一致,且均值保持不变或增大,梯度加速下降。

 

 

 

本来应对点w进行求导,但加入了代表惯性的冲量v进行求导,实现了超前的效果

 

 

 

 

posted on   Toriyung  阅读(645)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示