[Deep Learning] 常用的Active functions & Optimizers (3)

[Deep Learning] 常用的Active functions & Optimizers

Momentum的改进思想是针对SGD算法波动大、收敛速度慢问题,简单来说就是防止波动,取前几次波动的均值作为新的参数值。Momentum利用了梯度的指数加权平均数,引入了一个新的超参数$\beta$(一般取0.9),具体更新公式如下:

$$V_{dW}=\beta V_{dW}+(1-\beta)dW$$

$$V_{db}=\beta V_{db}+(1-\beta)db$$

$$W:=W-\alpha V_{dW}$$

$$b:=b-\alpha V_{db}$$

改进后的Momentum优化路线示意图如下:

[Deep Learning] 常用的Active functions & Optimizers

Momentum背后的物理含义可以简单的这样理解:

当我们将一个小球从山上滚下来时,没有阻力的话,它的动量会越来越大,但是如果遇到了阻力,速度就会变小。 加入这一项,可以使得梯度方向不变的维度上速度变快,梯度方向有所改变的维度上的更新速度变慢,这样就可以加快收敛并减小震荡。

3. RMSprop

RMSprop是Geoff Hinton提出的一种自适应学习率方法,全称为Root Mean Square Prop,它的基本思想和Momentum类似,同样引入了额外的超参数$\beta$(一般取值0.999),其更新公式如下:

$$S_{dW}=\beta S_{dW}+(1-\beta)dW^2$$

$$S_{db}=\beta S_{db}+(1-\beta)db^2$$

$$W:=W-\alpha \frac{dW}{\sqrt{S_{dW}}}$$

$$b:=b-\alpha \frac{db}{\sqrt{S_{db}}}$$

针对上述更新公式,为了防止$W$和$b$更新过程中分母项为0,一般在应用中加上特别小的一个实数$\epsilon$(一般取值为$10^{-8}$):

$$W:=W-\alpha \frac{dW}{\sqrt{S_{dW}+\epsilon}}$$

$$b:=b-\alpha \frac{db}{\sqrt{S_{db}+\epsilon}}$$

RMSprop示意图如下:

[Deep Learning] 常用的Active functions & Optimizers

具体关于RMSprop更详细的讲解可以参考这篇博文《机器学习中使用的神经网络第六讲笔记》

4. Adam

研究者们其实提出了很多的优化算法,可以解决一些特定的优化问题,但是很难扩展到多种神经网络。而Momentum,RMSprop是很长时间来最经得住考研的优化算法,适合用于不同的深度学习结构。所以有人就有想法,何不将这俩的方法结合到一起呢?Adam算法,全称Adaptive Moment Estimation,就随即问世了。由于Adam是Momentum+RMSprop,所以需要引入两个超参数,我们表示为$\beta_1=0.9$,$\beta_2=0.999$。

$$V_{dW}=\beta_1 V_{dW}+(1-\beta_1)dW$$

$$V_{db}=\beta_1 V_{db}+(1-\beta_1)db$$

$$S_{dW}=\beta_2 S_{dW}+(1-\beta_2)dW^2$$

$$S_{db}=\beta_2 S_{db}+(1-\beta_2)db^2$$

$$V_{dW}^{corrected}=\frac{V_{dW}}{1-\beta_{1}^t}$$

$$V_{db}^{corrected}=\frac{V_{db}}{1-\beta_{2}^t}$$

$$S_{dW}^{corrected}=\frac{S_{dW}}{1-\beta_{1}^t}$$

$$S_{db}^{corrected}=\frac{S_{db}}{1-\beta_{2}^t}$$

$$W:=W-\alpha \frac{V_{dW}}{\sqrt{S_{dW}^{corrected}}}$$

$$b:=b-\alpha \frac{V_{db}}{\sqrt{S_{db}^{corrected}}}$$

因为Adam结合上述两种优化算法的优点于一身,所以现在经常用的是Adam优化算法。

5. 各Optimizers优化效果

除了上述三种常用的改进算法,还有例如Adagrad等Optimizer,这里就不一一介绍了,感兴趣的可以去了解下各算法改进的motivation。

下面两个图分别展示了几种算法在鞍点和等高线上的表现:

[Deep Learning] 常用的Active functions & Optimizers

 

[Deep Learning] 常用的Active functions & Optimizers

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsppzy.html