优化算法--momentum

本文详细介绍了动量法在优化算法中的作用,如何通过指数加权移动平均理解动量法,以及动量法如何帮助梯度下降避免局部最小值和鞍点。通过对学习率和动量超参数的探讨,揭示了动量法如何平滑更新过程并加速收敛。最后,通过一首诗总结了优化算法的特性。
摘要由CSDN通过智能技术生成
momentum

​ 梯度下降或随机梯度下降都是目标函数在自变量当前位置下降最快的方向,然而,每次迭代都沿着最陡方向并且只考虑当前位置,会使得目标函数很容易陷入局部最小值和鞍点。
学习率为0.4时
​ 可以看到,同一位置上,目标函数在竖直方向( x 2 x_2 x2轴方向)比在水平方向( x 1 x_1 x1轴方向)的斜率的绝对值更大。因此,给定学习率,梯度下降迭代自变量时会使自变量在竖直方向比在水平方向移动幅度更大。那么,我们需要一个较小的学习率从而避免自变量在竖直方向上越过目标函数最优解。然而,这会造成自变量在水平方向上朝最优解移动变慢。
学习率为0.6时
​ 然而当我们将学习率变大,此时自变量在竖直方向不断越过最优解并逐渐发散。

动量法

​ 动量法可以很好的解决梯度下降“鼠目寸光”只关注当前位置的弊端,设时间步 t t t的自变量为 x t \boldsymbol{x}_t xt,学习率为 η t \eta_t ηt,小批量随机梯度 g t \boldsymbol{g}_t gt。在时间步 0 0 0,动量法创建速度变量 v 0 \boldsymbol{v}_0 v0,并将其元素初始化成0。在时间步 t > 0 t>0 t>0,动量法对每次迭代的步骤做如下修改:
v t ← γ v t − 1 + η t g t , x t ← x t − 1 − v t , \begin{aligned} \boldsymbol{v}_t &\leftarrow \gamma \boldsymbol{v}_{t-1} + \eta_t \boldsymbol{g}_t, \\ \boldsymbol{x}_t &\leftarrow \boldsymbol{x}_{t-1} - \boldsymbol{v}_t, \end{aligned} vtxtγvt1+ηtgt,x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值