优化方法公式及简记

本文介绍了优化算法的基本概念,从梯度下降(GD)开始,包括动量法(Momentum)、Nesterov动量、AdaGrad、RMSProp以及Adam等,深入解析这些算法的工作原理和差异,帮助理解深度学习中权重更新的过程。

写在前面:随机梯度下降是最经典的优化算法,从公式来讲接下来的其他算法都是根据它可以修改、完善的。

详见:https://blog.youkuaiyun.com/SecondLieutenant/article/details/81537772

g = 1/N\left (\nabla_\Theta\sum_{i}^{N}L(f(x_{i},\Theta {_{}}), y_{i})\right ),

L:N个样本的Loss和求均值。一会用反向梯度更新\Theta

1.GD(梯度下降)

\Theta = \Theta - \eta \cdot g

  • BGD:用所有样本去更新参数。
  • SGD:随机采取一个样本更新参数。速度快。
  • MBGD:随机采取几个样本更新参数。速度快。

2.Momentum

  • \Delta = \Delta_{k-1} - g
  • \Theta = \Theta + \Delta
  • 解释:\Delta代表这一次需要用来修正\Theta的梯度值,每一次修正要参考上一次的方向。
  • 例子:上一次往前走,这一次要往左走步,差距太大,我们先往左上走,一步变不过去,有点惯性在。

3.Nesterov Momentum

  • {g}' = 1/N\left (\nabla_\Theta\sum_{i}^{N}L(f(x_{i},\Theta {_{}} + \Delta_{k-1}), y_{i})\right )
  • {g}'代替g,其余同Momentum。
  • 例子:上一次往前走了10步,这次先走两步看看结果如何。

4.AdaGrad

  • s = s + gg^{T}
  • \Theta = \Theta -\left ( \frac{1}{\sqrt{s + \xi }} \right ) \eta \cdot g
  • 解释:给学习率增加一个递减系数,这个递减系数随着训练不断累加,代表越到后来需要越谨慎,少更新。
  • 问题:累加了每一步的变化,其实我们更想关注前几步的变化。

5.RMSProp

  • s = decayrate\cdot s + (1 - decayrate))gg^{T}
  • \Theta = \Theta -\left ( \frac{1}{\sqrt{s + \xi }} \right ) \eta \cdot g
  • 解释:控制累加,每次让上一步衰减,这一步留下更多。不断弱化之前的影响。

6.Adam

  • \Theta = \Theta -\left ( \frac{1}{\sqrt{s + \xi }} \right ) \eta \cdot g
  • m = \alpha \Delta_{k-1} +(1 - \alpha )g
  • \Theta = \Theta -\left ( \frac{1}{\sqrt{s + \xi }} \right ) \eta \cdot g
  • 解释:综合Momentum和RMSProp,增加了之前的梯度影响部分,其中\alpha为上一次梯度的衰减系数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值