002 SGD、SGDM、Adagrad、RMSProp、Adam、AMSGrad、NAG

参考

http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML2020/Optimization.pdf

变量解释

目标:寻找使损失函

L(θ)L(\theta)

L(θ)数最小的模型参数

θ\theta

θ
模型参数

θ\theta

θ、损失函数

L(θ)L(\theta)

L(θ)、动量

mm

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\theta_{t}

θt?由动量

mt?1m_{t-1}

mt?1?和梯度

?L(θt?1)\nabla L(\theta_{t-1})

?L(θt?1?)共同决定,NAG就说,那我不如就先走到下一个由动量决定的位置(

θt?1?λmt?1\theta_{t-1}-\lambda m_{t-1}

θ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)
两个神经网络在游戏中相互竞争(从博弈论的角度讲,通常但并非总是以零和博弈的形式)。 在给定训练集的情况下,该技术将学习生成具有与训练集相同的统计数据的新数据
在这里插入图片描述