Adam优化器

Adam优化算法是一种对随机梯度下降法的扩展。简单来说,Adam是带动量的梯度下降算法和RMSProp算法的结合。对梯度的一阶矩估计(First Moment Estimation,即梯度的均值)和二阶矩估计(Second Moment Estimation,即梯度的未中心化的方差)进行综合考虑,计算出更新步长。

随机梯度下降:保持一个单一的学习速率(称为alpha),用于所有的权重更新,并且在训练过程中学习速率不会改变。每一个网络权重(参数)都保持一个学习速率,并随着学习的展开而单独地进行调整。

自适应梯度算法(AdaGrad)维护一个参数的学习速率,可以提高在稀疏梯度问题上的性能(例如,自然语言和计算机视觉问题)。

均方根传播(RMSProp)也维护每个参数的学习速率,根据最近的权重梯度的平均值(例如变化的速度)来调整。这意味着该算法在线上和非平稳问题上表现良好(如:噪声)。



Adam在非凸优化问题上的好处:

  1. 简单直接的实施,计算效率高,内存需求少
  2. 不变量对梯度的对角线重新调节
  3. 适用于非常稀梳梯度的问题。
  4. 非常适合于数据和/或参数方面的问题(适合应用于大规模的数据及参数的场景)
  5. 适合非平稳的目标(适用于不稳定目标函数)
  6. 超参数具有直观的解释(通常需要很少的调谐或仅需很少的微调)
  7. 参数的更新不受梯度的伸缩变换影响。
  8. 更新的步长能够被限制在大致的范围内(初始学习率)。
  9. 能自然地实现步长退火过程(自动调整学习率)。


 


你可能感兴趣的:(深度学习,深度学习,人工智能)