当前位置: 首页 > 工具软件 > adam-blog > 使用案例 >

Adam优化算法

越鸿才
2023-12-01


Adam, 适应性矩估计(adaptive moment estimation)

1. Adam优势

Adam 优化算法应用在非凸优化问题中所获得的优势:

  • 直截了当地实现
  • 高效的计算
  • 所需内存少
  • 梯度对角缩放的不变性(第二部分将给予证明)
  • 适合解决含大规模数据和参数的优化问题
  • 适用于非稳态(non-stationary)目标
  • 适用于解决包含很高噪声或稀疏梯度的问题
  • 超参数可以很直观地解释,并且基本上只需极少量的调参

2.Adam 算法和传统的随机梯度下降的区别

  • 随机梯度下降保持单一的学习率(即 alpha)更新所有的权重,学习率在训练过程中并不会改变;
  • Adam 通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。

3. Adam 算法是AdaGrad和RMSProp两种随机梯度下降扩展式的优点集合

  • 适应性梯度算法(AdaGrad)为每一个参数保留一个学习率以提升在稀疏梯度(即自然语言和计算机视觉问题)上的性能。

  • 均方根传播(RMSProp)基于权重梯度最近量级的均值为每一个参数适应性地保留学习率。这意味着算法在非稳态和在线问题上有很有优秀的性能。

Adam 算法同时获得了 AdaGrad 和 RMSProp 算法的优点。Adam 不仅如 RMSProp 算法那样基于一阶矩均值计算适应性参数学习率,它同时还充分利用了梯度的二阶矩均值(即有偏方差/uncentered variance)。具体来说,算法计算了梯度的指数移动均值(exponential moving average),超参数 beta1 和 beta2 控制了这些移动均值的衰减率。

移动均值的初始值和 beta1、beta2 值接近于 1(推荐值),因此矩估计的偏差接近于 0。该偏差通过首先计算带偏差的估计而后计算偏差修正后的估计而得到提升。

4. Adam的参数配置

alpha:同样也称为学习率或步长因子,它控制了权重的更新比率(如 0.001)。较大的值(如 0.3)在学习率更新前会有更快的初始学习,而较小的值(如 1.0E-5)会令训练收敛到更好的性能。

beta1:一阶矩估计的指数衰减率(如 0.9)。

beta2:二阶矩估计的指数衰减率(如 0.999)。该超参数在稀疏梯度(如在 NLP 或计算机视觉任务中)中应该设置为接近 1 的数。

epsilon:该参数是非常小的数,其为了防止在实现中除以零(如 10E-8)。

另外,学习率衰减同样可以应用到 Adam 中。原论文使用衰减率 alpha = alpha/sqrt(t) 在 logistic 回归每个 epoch(t) 中都得到更新。

Adam论文建议的参数设定

alpha=0.001、beta1=0.9、beta2=0.999 和 epsilon=10E−8。


参考文献

  • 2015 年 ICLR 论文Adam: A Method for Stochastic Optimization
  • https://blog.csdn.net/leadai/article/details/79178787
 类似资料: