LLMForEverybody

每天3分钟,彻底弄懂神经网络的优化器(八)RMSprop

1. RMSprop算法的提出

RMSProp(Root Mean Square Propagation)算法由 Geoffrey Hinton 在他的 Coursera 课程《Neural Networks for Machine Learning》1中提出,该课程首次发布于2012年。RMSProp 算法是一种自适应学习率的优化方法,它通过使用梯度的平方的指数移动平均值来调整每个参数的学习率,从而加快学习速度并减少训练过程中的震荡。这种方法特别适合处理非凸优化问题,并且在深度学习中得到了广泛的应用。

2. RMSprop算法的原理

RMSprop(Root Mean Square Propagation)是一种自适应学习率的优化算法,它是为了解决Adagrad算法中学习率递减导致的问题而提出的。RMSprop通过使用指数加权移动平均来调整每个参数的学习率,使得学习率的调整更加平滑。

RMSprop的更新规则如下:

  1. 初始化参数 $\theta$,设置学习率 $\eta$,衰减系数 $\rho$(通常设为0.9),以及数值稳定性的小常数 $\epsilon$(通常设为 $1e-8$ );
  2. 在每次迭代中,计算参数 $\theta$ 的梯度 $g$ ;
  3. 更新累积平方梯度的指数加权移动平均 $r$ : $r = \rho \cdot r + (1 - \rho) \cdot g^2$
  4. 计算参数更新量: $\Delta\theta = \frac{\eta}{\sqrt{r + \epsilon}} \cdot g$
  5. 更新参数 $ \theta $: $\theta = \theta - \Delta\theta$

3. RMSprop算法的主要特点

RMSprop算法的优点包括:

RMSprop算法的缺点包括:

在实际应用中,建议从较小的全局学习速率开始尝试,并逐步增加以找到最佳性能。同时,可以尝试不同的衰减速率 $\rho$ 以找到最适合模型的设置。

4. RMSprop和AdaGrad的区别

最大的改进在于累积梯度的处理方式:

alt text

参考

[1] Neural Networks for Machine Learning

欢迎关注我的GitHub和微信公众号,来不及解释了,快上船!

GitHub: LLMForEverybody

仓库上有原始的Markdown文件,完全开源,欢迎大家Star和Fork!