RMSprop 与 Adam

深度学习中的optimizer有许多算法,如SGD ,RMSprop, Adam等12

目前没看到说那个算法就是比其他的都好的说法,大部分都是直接用Adam,只是最近发现了用RMSprop比Adam的效果好,引发了我对这个思考,因为optimizer同时有对learning rate的依赖,具体是因素的主要作用只能用实验来说明。

具体的公式可以在网上查找,下面只写一些blog的观点。

Adam

Adam 几乎是在Deep learning中用的最多的 3

Adam训练的结果比SGD权重更大,可能导致test loss 更小,但是generalize(泛化)没有SGD好4

RMSprop

RMSprop 是 Geoff Hinton 提出的 5 ,如何实现RMSprop可以参考 6

Comparison

  1. Reinforcement learning中用RMSprop而不用Adam 7,解释是RMSprop is suitable for sparse problems。
  2. 有一个例子出现RMSprop的结果优于Adam 8
  3. 甚至有的情况下出现SGD要优于其他的optimizer 9

Footnotes

  1. https://zhuanlan.zhihu.com/p/32488889 . 

  2. https://ruder.io/optimizing-gradient-descent/ . 

  3. https://towardsdatascience.com/adam-latest-trends-in-deep-learning-optimization-6be9a291375c . 

  4. https://medium.com/mini-distill/effect-of-batch-size-on-training-dynamics-21c14f7a716e . 

  5. http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf . 

  6. https://machinelearningmastery.com/gradient-descent-with-rmsprop-from-scratch/ . 

  7. https://stats.stackexchange.com/questions/435735/advantage-of-rmsprop-over-adam . 

  8. https://medium.com/analytics-vidhya/a-complete-guide-to-adam-and-rmsprop-optimizer-75f4502d83be . 

  9. https://shaoanlu.wordpress.com/2017/05/29/sgd-all-which-one-is-the-best-optimizer-dogs-vs-cats-toy-experiment/ .