写在前面:随机梯度下降是最经典的优化算法,从公式来讲接下来的其他算法都是根据它可以修改、完善的。
详见:https://blog.youkuaiyun.com/SecondLieutenant/article/details/81537772
,
L:N个样本的Loss和求均值。一会用反向梯度更新。
1.GD(梯度下降)
- BGD:用所有样本去更新参数。
- SGD:随机采取一个样本更新参数。速度快。
- MBGD:随机采取几个样本更新参数。速度快。
2.Momentum
- 解释:
代表这一次需要用来修正
的梯度值,每一次修正要参考上一次的方向。
- 例子:上一次往前走,这一次要往左走步,差距太大,我们先往左上走,一步变不过去,有点惯性在。
3.Nesterov Momentum
- 用
代替g,其余同Momentum。
- 例子:上一次往前走了10步,这次先走两步看看结果如何。
4.AdaGrad
- 解释:给学习率增加一个递减系数,这个递减系数随着训练不断累加,代表越到后来需要越谨慎,少更新。
- 问题:累加了每一步的变化,其实我们更想关注前几步的变化。
5.RMSProp
- 解释:控制累加,每次让上一步衰减,这一步留下更多。不断弱化之前的影响。
6.Adam
- 解释:综合Momentum和RMSProp,增加了之前的梯度影响部分,其中
为上一次梯度的衰减系数。