常见的梯度优化算法(SGD、动量、Adagrad、RMSProp、Adam)的总结

常见的梯度优化算法(SGD、动量、Adagrad、RMSProp、Adam)的总结


SGD

随机梯度下降算法(Stochastic gradient descent,SGD)在神经网络模型训练中,是一种很常见的优化算法。这种算法是基于梯度下降算法产生的,所以要理解随机梯度下降算法,必须要对梯度下降算法有一个全面的理解。
先来看一下公式
θ t + 1 = θ t − η g t \theta_{t+1} = \theta_{t} - \eta g_t θt+1=θtηgt
这里面 g t g_t gt表示的是我们通过求导求出来的梯度值, θ t + 1 \theta_{t+1} θt+1表示的是更新后的参数, θ t \theta_t θt表示的是更新前的参数。可以看到如果使用SGD算法,他只是单纯的对于求出来的梯度乘上一个系数然后进行下降。

动量

动量法是传统梯度下降法(SGD)的一种扩展,它比SGD更高效。动量法又被称作基于动量的梯度下降法(SGD with momentum),是一种使梯度向量向相关方向加速变化、最终实现加速收敛的方法。动量法是一种非常受欢迎的优化算法,并被用于当下的很多模型中。
看一下公式:
V t = γ V t − 1 + η g t V_t = \gamma V_{t-1} + \eta g_t Vt=γVt1+ηgt
θ t + 1 = θ t − V t \theta_{t+1} = \theta_t - V_t θt+1=θtVt
通过第二个式子和SGD的对比,我们可以发现,SGD里面的 η g t \eta g_t ηg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值