这个问题说明了一切。由于 Adam 在大多数数据集上都表现良好,因此我想尝试对 Adam 优化器进行动量调整。到目前为止,我只在 Keras 中找到了 SGD 的动量选项
最佳答案
简短回答:不,Keras 中都没有。也不在 Tensorflow [编辑:请参阅最后的更新]
长答案:正如评论中已经提到的,Adam 已经融入了诸如动量之类的东西。以下是一些相关佐证:
来自强烈推荐An overview of gradient descent optimization algorithms (也可作为 paper ):
In addition to storing an exponentially decaying average of past squared gradients u[t] like Adadelta and RMSprop, Adam also keeps an exponentially decaying average of past gradients m[t], similar to momentum
来自Stanford CS231n: CNNs for Visual Recognition :
Adam is a recently proposed update that looks a bit like RMSProp with momentum
请注意,某些框架实际上包含 Adam 的 momentum
参数,但这实际上是 beta1
参数;这是CNTK :
momentum (float, list, output of
momentum_schedule()
) – momentum schedule. Note that this is the beta1 parameter in the Adam paper. For additional information, please refer to the this CNTK Wiki article.
也就是说,有一篇 ICLR 2016 论文,标题为 Incorporating Nesterov momentum into Adam ,以及 implementation skeleton作者在 Tensorflow 中 - 但不能对此提供任何意见。
更新:Keras 现在确实包含一个名为 Nadam
的优化器,基于上述 ICLR 2016 论文;来自docs :
Much like Adam is essentially RMSprop with momentum, Nadam is Adam RMSprop with Nesterov momentum.
它也作为贡献模块包含在 Tensorflow 中 NadamOptimizer
.
关于optimization - Keras 中的 Adam 优化器有动量选项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47168616/