深度学习优化器Optimizer公式简记

推荐学习资料:

[1] 从 SGD 到 Adam —— 深度学习优化算法概览(一)
[2] 深度学习——优化器算法Optimizer详解
[3] 一个框架看懂优化算法之异同 SGD/AdaGrad/Adam
[4] 什么是指数加权平均、偏差修正?

这里仅记录公式,方便对比记忆,而不解释由来,其他细节可以看上面说的资料。

设:

  • 参数向量为 θ \theta θ
  • 学习率为 η \eta η
  • 用于数值稳定的接近0的常数 ϵ \epsilon ϵ
  • 用于计算指数平均的接近1的常数 γ \gamma γ β 1 \beta_1 β1 β 2 \beta_2 β2
  • t t t 时刻损失函数对 θ \theta θ 的梯度 g t = ∇ θ J ( θ ) g_t=\nabla_\theta J(\theta) gt=θJ(θ)
  • t t t 时刻的一阶动量 m t m_t mt,根据 { g 1 , g 2 , ⋯   , g t } \{g_1,g_2,\cdots,g_t\} {g1,g2,,gt} 算出
  • t t t 时刻的二阶动量 v t v_t vt,根据 { g 1 2 , g 2 2 , ⋯   , g t 2 } \{g_1^2,g_2^2,\cdots,g_t^2\} {g12,g22,,gt2} 算出,其中 g t 2 = g t ⊙ g t g_t^2=g_t \odot g_t gt2=gtgt

梯度更新公式为:

θ t + 1 = θ t − G t (1) \theta_{t+1}=\theta_t-G_t \tag1 θt+1=θtGt(1)

各优化算法对 G t G_t Gt 的计算不同。

对于 SGD

G t = η g t (2) G_t=\eta g_t \tag2 Gt=ηgt(2)

对于 SGD with Momentum

G t = γ G t − 1 + η g t (3) G_t=\gamma G_{t-1}+\eta g_t \tag3 Gt=γGt1+ηgt(3)

对于 Adagrad

v t = ∑ i = 1 t g i 2 (4) v_t=\sum_{i=1}^{t}g_i^2 \tag4 vt=i=1tgi2(4)

G t = η v t + ϵ g t (5) G_t=\frac{\eta}{\sqrt{v_t+\epsilon}}g_t \tag5 Gt=vt+ϵ ηgt(5)

对于 RMSprop
v t = γ v t − 1 + ( 1 − γ ) g t 2 (6) v_t=\gamma v_{t-1}+(1-\gamma)g_t^2 \tag6 vt=γvt1+(1γ)gt2(6)

G t = η v t + ϵ g t (7) G_t=\frac{\eta}{\sqrt{v_t+\epsilon}}g_t \tag7 Gt=vt+ϵ ηgt(7)

对于 Adam

m t = β 1 m t − 1 + ( 1 − β 1 ) g t (8) m_t=\beta_1m_{t-1}+(1-\beta_1)g_t \tag8 mt=β1mt1+(1β1)gt(8)

v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2 (9) v_t=\beta_2v_{t-1}+(1-\beta_2)g_t^2 \tag9 vt=β2vt1+(1β2)gt2(9)

m ^ t = m t 1 − β 1 t (10) \hat m_t=\frac{m_t}{1-\beta_1^t} \tag{10} m^t=1β1tmt(10)

v ^ t = v t 1 − β 2 t (11) \hat v_t=\frac{v_t}{1-\beta_2^t} \tag{11} v^t=1β2tvt(11)

G t = η v ^ t + ϵ m ^ t (12) G_t=\frac{\eta}{\sqrt{\hat v_t+\epsilon}}\hat m_t \tag{12} Gt=v^t+ϵ ηm^t(12)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值