参考
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/Optimization.pdf
变量解释
目标:寻找使损失函
L(θ)数最小的模型参数
θ
模型参数
θ、损失函数
L(θ)、动量
m
SGD(Stochastic gradient descent,随机梯度下降)
下降由该点梯度决定
SGDM(SGD with Momentum)
下降由该点梯度、上次动量共同决定
为什么增加动量?
Adagrad(Adaptive Gradient,自适应梯度)
- 下降由该点之前(当前梯度)/(以前所有梯度平方和的开方)决定
- 对于梯度突变的情况,让其变化地平缓一点 学习率单调递减,可能在还没有找到最佳点之前停止
[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csdnimg.cGIHu2020050115581933.png64)(https://img- .csdnimg.cn/20200501160107805.png)]
RMSProp(Root Mean Square Propagation,均方根传播)
下降由该点之前(当前梯度)/(以前所有梯度平方和的开方)决定
Adam(Adaptive Moment Estimation,自适应矩估计)
SWATS(Switch from Adam to SGD)
Adam vs SGDM
AMSGrad
没找到全称,感觉是(ADAM + RMSProp)
AdaBound
没看视频,Clip应该是把x限制在后面那两个范围内
SGDM算法改善
Cyclical LR(周期性的Learning Rate)
SGDR(Stochastic Gradient Descent with Warm Restarts)
学习率从大到小,周而复始
One-cycle LR
RAdam(Rectified Adam)
warm up:开始时学习速率变化大点,后面慢点
NAG(Nesterov accelerated gradient)
下面有个超前部署,具体理解可以看下面这篇文章。
https://zhuanlan.zhihu.com/p/22810533
SGDM告诉我们下一个位置
θt?由动量
mt?1?和梯度
?L(θt?1?)共同决定,NAG就说,那我不如就先走到下一个由动量决定的位置(
θt?1??λmt?1?),再求微分,也就是所谓的超前部署
Nadm(Incorporating Nesterov Momentum into Adam)
AdamW & SGDW with momentum
- W:L2 regularization or weight decay
其他的优化
总结
NLP(Natural language processing)
QA(Question answering)
GAN(Generative adversarial network)
两个神经网络在游戏中相互竞争(从博弈论的角度讲,通常但并非总是以零和博弈的形式)。 在给定训练集的情况下,该技术将学习生成具有与训练集相同的统计数据的新数据