常用深度学习优化算法简介

梯度下降法是基于泰勒展开式的,为了保证每一步优化都在领域内,设置了很小的学习率,但固定的学习率产生的问题是很难收敛到最优点,于是出现了一些改进的方法。

1. 动量项梯度下降法Momentum

积累了以前的梯度信息,但是如果如果简单的累积,会导致动量越来越大,于是需要有一个衰减的过程。

                                                                     V_{t+1} = -\alpha \bigtriangledown _{W}L(W_{t})+\mu V_{t}

其中\mu为衰减因子,继续迭代发现

                                     V_{t+1} = -\alpha \bigtriangledown _{W}L(W_{t})+\mu V_{t}

                                     V_{t+1} = -\alpha \bigtriangledown _{W}L(W_{t})+\mu (-\alpha \bigtriangledown _{W}L(W_{t}+\mu V_{t-1}))

                                     V_{t+1} = -\alpha \bigtriangledown _{W}L(W_{t})+\mu (-\alpha \bigtriangledown _{W}L(W_{t}+\mu (-\alpha \bigtriangledown _{W}L(W_{t})+\mu V_{t-2}))

参数更新变为:

                                                                             W_{t+1} = W_{t}+V_{t+1}

 

2. AdaGrad

通过前面迭代的历史梯度值动态调整学习率,且优化每个变量都有自己的学习率

                                                                   (x_{t+1})_{i} = (x_{t})_{i}-\alpha \frac{(g_{t}i)}{\sqrt{\sum_{t}^{j=1}((g_{t})i)^{2}+\varepsilon }}

其中\varepsilon为防止分母为0,随着迭代加深,分母越来越大,学习率则越小,但学习率还是需要初始化,且分母会逐渐趋向正无穷。

 

3. RMSProp

为了避免长期积累后,学习率趋向0,在累积梯度作为学习率下降方法中,添加了衰减因子。

                                                                  (x_{t+1})_{i} = (x_{t})_{i}-\alpha \frac{(g_{t}i)}{\sqrt{RMS((x_{t})_{i}))}}

                                                                   RMS((x_{t})_{i}) = \delta RMS((x_{t-1})_{i})+(1-\delta )(g_{t}) _{i}^{2}

 

4. AdaDelta

在RMSProp的基础上,去掉了对人工设置学习率的依赖。

                                                                          E[g^{2}]_{0} = 0

                                                                         E[\Delta x^{2}]_{_{0}} = 0

                                                                         E[g^{2}]_{t} = \rho E[g^{2}]_{t-1} + (1-\rho )g^{2}_{t}

                                                                         RMS[g]_{t}=\sqrt{E[g^{2}]_{t}+\varepsilon}

                                                                         \Delta x_{t} = \frac{RMS[\Delta x]_{t-1}}{RMS[g]_{t}}g_{t}

                                                                         E[g^{2}]_{t} = \rho E[\Delta x^{2}]_{t-1} + (1-\rho )\Delta x^{2}_{t}

                                                                         x_{t+1}= x_{t}+\Delta x_{t}

其中\Delta x_{t} = \frac{RMS[\Delta x]_{t-1}}{RMS[g]_{t}}g_{t}是为了量纲正确

 

5.Adam

整合了自适应学习率和动量项。

                                                                         (x_{t+1})_{i} = (x_{t})_{i}-\alpha \frac{\sqrt{1-(\beta _{2})^{t}_{i}}}{1-(\beta _{1})^{t}_{i}}\frac{(m_{t})_{i}}{\sqrt{(v_{t})_{i}}+\varepsilon }

                                                                       (m_{t})_{i} =\beta _{1} (m_{t-1})_{i}-(1-\beta _{1})(g_{t})_{i}

                                                                       (v_{t})_{i} =\beta _{2} (v_{t-1})_{i}-(1-\beta _{2})(g_{t})^2_{i}

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