Adam如何自适应学习率的?

Adam是一种优化算法,通过结合一阶动量和二阶动量来实现自适应学习率调整。它利用指数滑动平均来平滑梯度估计,避免频繁更新的参数受单个异常样本的影响,同时确保稀疏更新的参数能从少量信息中学习。一阶动量mt记录了过去梯度的加权平均,二阶动量vt则考虑了梯度的平方和,动态调整学习率,使得更新更稳定且适应不同参数的特性。这种机制使Adam在深度学习中成为广泛应用的优化器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Adam是如何做到自适应学习率的?

  • 优化算法统一公式

    • 待优化参数: w t w_t wt​;
    • 优化目标: f ( w t ) f(w_t) f(wt);
    • 当前参数梯度: g t = ∇ f ( w t ) g_t=\nabla{f(w_t)} gt=f(wt);
    • 一阶动量和二阶动量: η t = α ⋅ m t / v t \eta_t=\alpha· m_t/\sqrt{v_t} ηt=αmt/vt ​;
    • 统一的更新公式为: w t + 1 = w t − η t w_{t+1}=w_t-\eta_t wt+1=wtηt;​​
  • Adam时如何自适应调整学习率的?

    • 首先,介绍SGD和带动量的SGD。SGD的更新公式如下: w t + 1 = w t − α ⋅ g t w_{t+1}=w_t-\alpha·g_t wt+1=wtαgt​,相当于 m t = g t m_t=g_t mt=gt​, v t = I 2 v_t=I^2 vt=I2​。但由于其更新只依赖于当前的数据,使得其难以跳出局部最优。为利用历史的更新方向的趋势,使得其更新方向按照历史的 趋势进行,令 m t = β 1 ⋅ m t − 1 + ( 1 − β 1 ) g t m_t=\beta_1·m_{t-1}+(1-\beta_1)g_t mt=β1mt1+(1β1)gt​,这样有 β 1 \beta_1 β1​比例的方向由历史方向决定,因此 w t + 1 = w t − α ⋅ m t w_{t+1}=w_t-\alpha·m_t wt+1=wtαmt​;

    • 使用SGD更新参数时,其参数的学习率是对于每一个 g t g_t gt都是相同的,即无论 g t g_t gt中的内容是大还是小,都是采用同样的步长进行更新,但我们希望对经常更新的参数不至于被单个样本影响太大,希望学习缓慢一些,对于偶尔更新的参数,模型了解的信息太少,希望梯度小的学习率大一些,以便于我们能够从少量信息中获取到信息。因此,引入二阶动量 v t = ∑ τ = 1 t g t 2 v_t=\sum_{\tau=1}^{t}g_t^2 vt=τ=1tgt2,将其作为学习率 α \alpha α的分母,可以动态调整学习率的大小,得到新的学习率 α / v t + ϵ \alpha/\sqrt{v_t+\epsilon} α/vt+ϵ ,更新频率越大的则学习率越小,更新频率越小的,学习率越大。引入二阶动量的梯度更新法则之后, v t v_t vt可能很快就累积到很大。借鉴 m t m_t mt利用当前时间端前一段时间的梯度信息,使用指数滑动平均,得到 v t = β 1 ⋅ v t − 1 + ( 1 − β 1 ) g t 2 v_t=\beta_1·v_{t-1}+(1-\beta_1)g_t^2 vt=β1vt1+(1β1)gt2,因此最终引入二阶动量的参数更新公式为: w t + 1 = w t − α ⋅ g t / v t + ϵ w_{t+1}=w_t-\alpha·g_t/{\sqrt{v_t+\epsilon}} wt+1=wtαgt/vt+ϵ ;​

    • 结合两个动量的更新就是Adam算法了: w t + 1 = w t − α ⋅ m t / v t + ϵ w_{t+1}=w_t-\alpha·m_t/{\sqrt{v_t+\epsilon}} wt+1=wtαmt/vt+ϵ ​;

      从上述可以看出,Adam自适应调整学习率是从二阶动量 v t v_t vt上进行的,目的是为了避免经常更新的参数被单个异常样本影响,同时能够学习到出现较少的样本信息。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值