梯度下降的“Adam”算法的词源

机器算法验证 术语 梯度下降 历史 亚当
2022-04-06 21:32:23

在Adam: A Method for Stochastic Optimization中选择“Adam”这个名字背后的历史是什么

2个回答

在您引用的文件的第 1 页上:“亚当这个名字来源于自适应矩估计”。

虽然尼克已经回答了这个问题,但我想详细说明一下。

Adam: A Method for Stochastic Optimization的介绍(最初的 Adam 论文):

该方法根据梯度的一阶矩和二阶矩的估计计算不同参数的个体自适应学习率;Adam这个名字 来源于自适应矩估计。

亚当使用: 尽管:

θt+1=θtαv^t+ϵm^t

  • θk是步骤中的权重和偏差向量。k
  • 所有的操作都是元素方面的。
  • m^t之前计算的梯度的偏差校正移动平均值(实现为指数衰减平均值)换句话说,是梯度的第一个原始矩(即平均值)的自适应估计。 为什么是“自适应”?因为它是一个加权平均值,它为更接近当前步骤计算的梯度赋予更多权重,而对在遥远过去计算的梯度在每一步中,它都在适应以更好地估计成本函数中我们当前位置附近的梯度平均值。 (当我想到移动平均线时,我喜欢想象彗星的tm^t
    0
    踪迹,随着它离彗星越来越远,它变得越来越暗
    彗星的轨迹作为移动平均线的直觉:)
  • 类似地,是梯度平方的偏差校正移动平均值。是梯度的第二个原始矩(即非中心方差)的自适应估计。v^tv^t
  • α是一个标量,本文将其称为“步长”,有时也称为“学习率”。
  • 令人困惑的是,论文将称为“步长”或“参数空间中的有效步长” ”。αv^t+ϵm^t

因此,如果我理解正确,上面引用中的“学习率”是指,Adam 以这些分量的计算命名,主要根据自适应矩估计。αv^t+ϵm^tm^tv^t

还应该注意的是,“自适应”有时是指对不同的参数使用不同的学习率,而不是对所有参数使用相同的学习率(有时称为“全局学习率”)。例如,基本随机梯度下降 (SGD)使用,而是一个标量。 因此,如果我们认为平行,那么 Adam 在这个意义上也具有“自适应”学习率。(虽然我的猜测是这不是作者的意思。)θt+1=θtηgtη
m^tgt