Adagrad求sqrt 求矩阵逆 SGD Momentum Adagrad Adam AdamW RMSProp LAMB Lion 推导

本文深入探讨了各种优化算法,包括随机梯度下降、小批量梯度下降、动量方法、Adagrad、RMSProp、Adam及其变种,如AdamW、Lion,并对比了它们在不同场景下的应用及优缺点。

随机梯度下降(Stochastic Gradient Descent)SGD

经典的梯度下降法每次对模型参数更新时,需要遍历所有的训练数据。随机梯度下降法用单个训练样本的损失来近似平均损失。
θt+1=θt−ηgt(公式1) \theta_{t+1} = \theta_{t}-\eta g_t (公式1) θt+1=θtηgt(公式1)

小批量梯度下降法(Mini-Batch Gradient Descent)

把SGD中用单个训练样本改成用m个,实际中有这么几个问题:

  1. 如何选取m:m一般是2的幂,方便指数运算
  2. 如何挑选m个训练数据:为了避免数据特定顺序给算法收敛性带来的影响,一般每次训练前都需要随机排序,然后按照随机后的顺序依次取m个
  3. 如何选取学习速率(learning rate lr)η\etaη:开始时用较大的学习速率,进入平台期后,用较小的学习速率

Momentum 动量方法 保持原来一定的方向

简单来说就是把当前的负梯度和前一步的负梯度加一个权重,保持一定之前的速度,在前面公式1的基础上,

vt=γvt−1+ηgtθt+1=θt−vt(公式2) v_t = \gamma v_{t-1} + \eta g_t \\ \theta_{t+1} = \theta_{t}-v_t (公式2) vt=γvt1+ηgtθt+1=θtvt(公式2)

Adagrad 历史梯度平方和来降learning rate

适合做广告、推荐精排中dense部分的优化器
θt+1=θt−η这个方向上历史梯度平方和gt(公式3) \theta_{t+1} = \theta_{t}-\frac{\eta}{\sqrt{这个方向上历史梯度平方和}} g_t (公式3) θt+1=θt这个方向上历史梯度平方和 ηgt(公式3)
展开写准确点就是
θt+1=θt−η1vt+ϵgtvt=vt−1+gt2gt=∇θJ(θt)+αθt \theta_{t+1} = \theta_{t}- \eta \frac{1}{\sqrt{v_t+\epsilon}}g_t \\ v_t = v_{t-1}+g_t^2 \\ g_t = \nabla_\theta J(\theta_t)+\alpha \theta_t θt+1=θtηvt+ϵ 1gtvt=vt1+gt2gt=θJ(θt)+αθt
其中αθt\alpha \theta_tαθt代表着L2正则项的梯度

RMSProp (Root Mean Square) 可以看成是Adam的简化版,Adagrad对二阶矩过大进行修正

RMSProp is an unpublished adaptive learning rate optimizer proposed by Geoff Hinton.

θt+1=θt−ηgtE(gt2)(公式5) \theta_{t+1} = \theta_{t}-\eta \frac{g_t}{\sqrt{E(g_t^2)}} (公式5) θt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值