【2020春】李宏毅机器学习(New Optimizers for Deep Learning)
https://www.bilibili.com/video/av94519857?p=8
https://www.bilibili.com/video/av94519857?p=9
-----总结-----







一次能够拿到所有训练数据,就是offline learning。

每次梯度反方向

Momentum(累加历史所有梯度,即使当前梯度为0,也会因为历史梯度的影响,继续移动,防止卡在鞍点)



Adagrad(随着时间累计,分母可能会无止境变大,导致leanring rate*gradient接近0,也就相当于卡住。EMA问题)

RMSProp(通过增加一个系数alpha,解决EMA问题。但是梯度为0的情况还是可能进入鞍点。)

Adam(结合Momentum和RMSProp,既能避免EMA问题,又能避免梯度为0进入鞍点。)

Ada系列集中在2014年左右被提出的。

实际应用




Adam 和 SGDM
训练acc

验证acc

一篇论文


结论:Flat Minimum和Sharp Minimum
- adam:训练更快,但是与测试gap大,不稳定;
- sgdm:更稳定,与测试gap小;


如何提高Adam?

经过1000步很小的gradients之后,遇到一个较大的gradient,但是受movement影响,只能移动很小的一步。也就是大量Non-informative梯度抑制了informative梯度。
从公式可以看出,一次更新的最大移动距离的上届就是(sqrt(1/(1-beta_2)))*eta

这篇文章提出记住历史最大的v_t,就可以避免non-informative gradients的影响了。

另一篇文章


如何提高SGDM?

lr太大或太小,都不如适中的时候好。LR Range Test




Adam需要warm up,否则前期的梯度会很乱。

warmup,前期走小步一点。

Variance大,则走小步;Variance小,则走大步。


通用的方法


再看Momentum



Adam in the future:Nadam

L2 regularization or weight decay?【SGDWM或AdamW(实际应用比较多)】


更多探索,效果更好

耐心教导模型


找我内推: 字节跳动各种岗位
作者:
ZH奶酪(张贺)
邮箱:
cheesezh@qq.com
出处:
http://www.cnblogs.com/CheeseZH/
*
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号