Adam优化算法详细解析
http://www.atyun.com/2257.html Adam优化算法是一种对随机梯度下降法的扩展,最近在计算机视觉和自然语言处理中广泛应用于深度学习应用。在引入该算法时,OpenAI的 Diederik Kingma 和多伦多大学的 Jimmy Ba 在他们的2015 ICLR 发表了一篇名为“ Adam: A Method for Stochastic Optimization ”的论文,列出了使用亚当在非凸优化问题上的诱人好处,如下: 简单直接的实施 计算上讲究效率 小内存要求 不变量对梯度的对角线重新调节 非常适合于数据和/或参数方面的问题 适合非平稳的目标 适用于非常稀梳梯度的问题。 超参数具有直观的解释,通常需要很少的调谐。 Adam 如何工作? Adam与经典的随机梯度下降法是不同的。随机梯度下降保持一个单一的学习速率(称为alpha),用于所有的权重更新,并且在训练过程中学习速率不会改变。每一个网络权重(参数)都保持一个学习速率,并随着学习的展开而单独地进行调整。该方法从梯度的第一次和第二次矩的预算来计算不同参数的自适应学习速率。 作者描述Adam时将随机梯度下降法两种扩展的优势结合在一起。 具体地说: 自适应梯度算法(AdaGrad) 维护一个参数的学习速率,可以提高在稀疏梯度问题上的性能(例如,自然语言和计算机视觉问题)。 均方根传播(RMSProp)