[深度学习基础知识]优化器 optimizer 加速神经网络训练

本片内容引自莫烦Python

常用的优化器有

SGD
Momentum
AdaGrad
RMSProp
Adam

SGD

下图是不使用优化器情况下,所有的数据直接抛给卷积神经网络去计算,这样会带来巨大的运算量。
[深度学习基础知识]优化器 optimizer 加速神经网络训练_第1张图片
所以我们提出了SGD的方式,将DATA分成一批一批的数据喂入网络,加速了神经网络的训练。
[深度学习基础知识]优化器 optimizer 加速神经网络训练_第2张图片

Momentum

传统的学习方式,W减去学习率成一个校正值,这种方法如下图一样,曲曲折折最终才能到达最优点。
[深度学习基础知识]优化器 optimizer 加速神经网络训练_第3张图片
我们提出Momentum对传统的方式进行改变,使其能平滑的即更快速的到达最优点。
[深度学习基础知识]优化器 optimizer 加速神经网络训练_第4张图片

AdaGrad

其实AdaGrad 思想也是使其更平滑的到达最优点,但是中间思想是与Momentum不同的,AdaGrad改变的是dx,dx是我们校正值,我们在矫正值上除以根号v就是相当于给dx的变化增加了阻力,即给w的变化增加了阻力。通过增加阻力的方式使曲线变得更加平滑。对于Momentum,按原作者的话就是使将以前的方式比作在平地上的行走摇摇晃晃,这时我们将其放在斜坡上,按照惯性它就会平滑的下落。

[深度学习基础知识]优化器 optimizer 加速神经网络训练_第5张图片

RMSProp

RMSProp则是结合了Momentum与AdaGrad的思想
[深度学习基础知识]优化器 optimizer 加速神经网络训练_第6张图片
不过我们发现,最终的公式只利用了m的左半部分在这里插入图片描述
所以进一步优化 我们提出了Adam 充分利用m的所有部分

Adam

[深度学习基础知识]优化器 optimizer 加速神经网络训练_第7张图片

你可能感兴趣的:(深度学习基础,计算机视觉,深度学习,机器学习)