人工智能/机器学习基础知识——学习率调整策略

本文详细介绍了学习率调整在深度学习中的重要性,包括线性缩放规则、不同类型的衰减策略(如分段常数、指数、余弦和周期性变化),以及学习率预热和带热重启的随机梯度下降方法,旨在提高训练稳定性和避免局部最优。
摘要由CSDN通过智能技术生成

学习率调整

线性缩放规则

Linear Scaling Rule

  • 学习率通常要随着Batch Size的增大而相应地增大

  • 当批量大小增加m倍时,学习率也增加m倍

  • 线性缩放规则往往在批量大小比较小时适用,当批量大小非常大时,线性缩放会使得训练不稳定

学习率衰减

Learning Rate Decay

分段常数衰减

Piecewise Constant Decay(Step Decay)

  • 人为设置没经过 T 1 , T 2 , T 3 . . . T_1, T_2, T_3 ... T1,T2,T3...次迭代,将学习率衰减为 β 1 , β 2 , β 3 . . . {\beta}_1, {\beta}_2, {\beta}_3 ... β1,β2,β3...

逆时衰减

Inverse Time Decay

  • 数学描述

    α t = α 0 1 1 + β × t \alpha_{t}=\alpha_{0} \frac{1}{1+\beta \times t} αt=α01+β×t1
    其中 β \beta β为衰减率

指数衰减

Exponential Decay

  • 数学描述

    α t = α 0 β t \alpha_{t}=\alpha_{0} \beta^{t} αt=α0βt
    其中 β < 1 \beta < 1 β<1为衰减率

自然指数衰减

Natural Exponential Decay

  • 数学描述

    α t = α 0 exp ⁡ ( − β × t ) \alpha_{t}=\alpha_{0} \exp (-\beta \times t) αt=α0exp(β×t)
    其中 β \beta β为衰减率

余弦退火

Cosine Decay

  • 数学描述

    α t = 1 2 α 0 ( 1 + cos ⁡ ( t π T ) ) \alpha_{t}=\frac{1}{2} \alpha_{0}\left(1+\cos \left(\frac{t \pi}{T}\right)\right) αt=21α0(1+cos(Ttπ))

在这里插入图片描述

学习率预热

Warm Up

  • Motivation

    • 由于模型参数在训练开始时是随机初始化的,刚开始的几个Iteration一般梯度较大,若初始学习率较大,会使训练不稳定,难以收敛到全局最优
  • 为了提高训练稳定性,我们可以在最初几轮迭代时,采用比较小的学习率,等梯度下降到一定程度后再恢复到初始的学习率,这种方法称为学习率预热(Learning Rate Warmup)

  • 一个常用的学习率预热方法是逐渐预热(Gradual Warmup)。假设预热的迭代次数为 T ′ T' T,初始学习率为 α 0 {\alpha}_0 α0,在Warmup过程中,每次更新的学习率为

    α t ′ = t T ′ α 0 , 1 ≤ t ≤ T ′ \alpha_{t}^{\prime}=\frac{t}{T^{\prime}} \alpha_{0}, \quad 1 \leq t \leq T^{\prime} αt=Ttα0,1tT
    当预热过程结束,再选择一种学习率衰减方法来逐渐降低学习率

周期学习率调整

  • Motivation

    • 为了使梯度下降法能够逃离鞍点或尖锐最小值,可考虑周期性增大或减小学习率,跳出局部最优

循环学习率

Cyclic Learning Rate

  • 让学习率在一个区间内周期性地增大和缩小

  • 一种线性缩放的实现方式:三角循环学习率(Triangular Cyclic Learning Rate)

    • 假设每个循环周期的长度相等都为 2 Δ T 2ΔT T,其中前 Δ T ΔT ΔT步为学习率线性增大阶段,后 Δ T ΔT ΔT步为学习率线性缩小阶段。在第t次迭代时,其所在的循环周期数m为

      m = ⌊ 1 + t 2 Δ T ⌋ m=\left\lfloor 1+\frac{t}{2 \Delta T}\right\rfloor m=1+Tt

    • 第t次迭代的学习率为

      α t = α min ⁡ m + ( α max ⁡ m − α min ⁡ m ) ( max ⁡ ( 0 , 1 − b ) ) \alpha_{t}=\alpha_{\min }^{m}+\left(\alpha_{\max }^{m}-\alpha_{\min }^{m}\right)(\max (0,1-b)) αt=αminm+(αmaxmαminm)(max(0,1b))
      α max ⁡ m \alpha_{\max }^{m} αmaxm α min ⁡ m \alpha_{\min }^{m} αminm分别为第m个周期中学习率的上界和下界,可以随着m的增大而逐渐降低

      b = ∣ t Δ T − 2 m + 1 ∣ b=\left|\frac{t}{\Delta T}-2 m+1\right| b= ΔTt2m+1

带热重启的随机梯度下降

  • 学习率每间隔一定周期后重新初始化为某个预先设定值,然后逐渐衰减

  • 假设在梯度下降过程中重启 M M M次,第 m m m次重启在上次重启开始第 T m T_m Tm个回合后进行, T m T_m Tm称为重启周期。在第 m m m次重启之前,采用余弦衰减来降低学习率,第 t t t次迭代的学习率为

    α t = α min ⁡ m + 1 2 ( α max ⁡ m − α min ⁡ m ) ( 1 + cos ⁡ ( T c u r T m π ) ) \alpha_{t}=\alpha_{\min }^{m}+\frac{1}{2}\left(\alpha_{\max }^{m}-\alpha_{\min }^{m}\right)\left(1+\cos \left(\frac{T_{c u r}}{T_{m}} \pi\right)\right) αt=αminm+21(αmaxmαminm)(1+cos(TmTcurπ))
    α max ⁡ m \alpha_{\max }^{m} αmaxm α min ⁡ m \alpha_{\min }^{m} αminm分别为第m个周期中学习率的上界和下界,可以随着m的增大而逐渐降低。 T c u r T_{cur} Tcur为从上次重启之后的Epoch数,可取小数以便在一个Epoch内进行衰减。重启周期 T m T_m Tm可以随着重启次数逐渐增加,例如 T m = T m − 1 × τ , τ ≥ 1 T_{m}=T_{m-1} \times \tau, \tau \geq 1 Tm=Tm1×τ,τ1

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值