Adam: A Method for Stochastic Optimization/paper/zh

    From Marovi AI
    This page is a translated version of the page Adam: A Method for Stochastic Optimization/paper and the translation is 95% complete.
    Outdated translations are marked like this.
    Other languages:
    SummarySource
    Research Paper
    Authors Diederik P. Kingma; Jimmy Ba
    Year 2014
    Topic area Machine Learning
    Difficulty Research
    arXiv 1412.6980
    PDF Download PDF

    Published as a conference paper at ICLR 2015 ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION Diederik P. Kingma* University of Amsterdam, OpenAI dpkingma@openai.com Jimmy Lei Ba∗ University of Toronto jimmy@psi.utoronto.ca ## 摘要 我们提出 Adam,一种用于随机 目标函数 的一阶基于梯度的优化算法,基于低阶矩的自适应估计。该方法易于实现,计算效率高,内存需求小,对梯度的对角重缩放不变,并且非常适合在数据和/或参数方面规模较大的问题。该方法也适用于非平稳目标以及具有非常嘈杂和/或稀疏梯度的问题。超参数 具有直观的解释,通常只需很少的调参。我们讨论了与启发 Adam 的相关算法之间的一些联系。我们还分析了该算法的理论收敛性质,并给出了关于收敛速率的遗憾界,其在在线 凸优化 框架下与已知的最佳结果相当。实证结果表明,Adam 在实践中表现良好,并且与其他随机优化方法相比具有优势。最后,我们讨论了 AdaMax,一种基于无穷范数的 Adam 变体。1 ## 引言 基于随机梯度的优化在许多科学和工程领域具有核心的实践重要性。这些领域中的许多问题都可以表述为对某个标量参数化 目标函数 的优化,需要相对于其参数进行最大化或最小化。如果该函数相对于其参数可微,则 梯度下降 是一种相对高效的优化方法,因为相对于所有参数计算一阶偏导数的计算复杂度与仅仅计算函数值相同。通常,目标函数 是随机的。例如,许多 目标函数 由在数据的不同子样本上评估的子函数之和组成;在这种情况下,可以通过对单个子函数采取梯度步骤来提高优化效率,即 随机梯度下降SGD)或上升。SGD 已被证明是一种高效且有效的优化方法,在许多机器学习成功案例中处于核心地位,例如 深度学习 的最新进展(Deng et al., 2013; Krizhevsky et al., 2012; Hinton & Salakhutdinov, 2006; Hinton et al., 2012a; Graves et al., 2013)。目标函数还可能具有除数据子采样以外的其他噪声来源,例如 dropout(Hinton et al., 2012b)正则化。对于所有此类嘈杂的目标,都需要高效的随机优化技术。本文的重点是高维参数空间下随机目标的优化。在这些情况下,高阶优化方法并不适用,本文的讨论将仅限于一阶方法。我们提出 Adam,一种用于高效随机优化的方法,只需要一阶梯度,内存需求很小。该方法根据梯度的一阶矩和二阶矩的估计,为不同的参数计算各自的自适应 学习率Adam 这个名称源于 adaptive moment estimation(自适应矩估计)。我们的方法旨在结合两种近期流行方法的优点:AdaGrad(Duchi et al., 2011),它在稀疏梯度下表现良好;以及 RMSProp(Tieleman & Hinton, 2012),它在在线和非平稳设置下表现良好;与这些方法和其他随机优化方法的重要联系在第 5 节中阐明。Adam 的一些优点是参数更新的幅度对梯度的重缩放是不变的,其步长大致受步长 超参数 的限制,不需要平稳目标,在稀疏梯度下也能工作,并且自然地执行一种 步长 退火。∗同等贡献。作者顺序通过 Google Hangout 上的抛硬币确定。1 arXiv:1412.6980v9 [cs.LG] 30 Jan 2017

    Published as a conference paper at ICLR 2015 算法 1:Adam,我们提出的随机优化算法。详见第 2 节,以及略微更高效(但不太清晰)的计算顺序。g2 t 表示按元素平方 gt ⊙gt。所测试的机器学习问题的良好默认设置是 α = 0.001、β1 = 0.9、β2 = 0.999 和 ϵ = 10−8。对向量的所有运算均按元素进行。βt 1 和 βt 2 表示 β1 和 β2 的 t 次幂。Require: α:步长 Require: β1, β2 ∈[0, 1):矩估计的指数衰减率 Require: f(θ):带参数 θ 的随机 目标函数 Require: θ0:初始参数向量 m0 ←0(初始化一阶矩向量)v0 ←0(初始化二阶矩向量)t ←0(初始化时间步)while θt 未收敛 do t ←t + 1 gt ←∇θft(θt−1)(获取相对于时间步 t 的随机目标的梯度)mt ←β1 · mt−1 + (1 −β1) · gt(更新有偏一阶矩估计)vt ←β2 · vt−1 + (1 −β2) · g2 t(更新有偏二阶原始矩估计)bmt ←mt/(1 −βt 1)(计算偏差校正后的一阶矩估计)bvt ←vt/(1 −βt 2)(计算偏差校正后的二阶原始矩估计)θt ←θt−1 −α · bmt/(√bvt + ϵ)(更新参数)end while return θt(结果参数)在第 2 节中我们描述该算法及其更新规则的性质。第 3 节解释我们的初始化偏差校正技术,第 4 节提供 Adam 在在线凸规划中的 收敛性 的理论分析。在第 6 节所示的各种模型和数据集上,我们的方法在经验上始终优于其他方法。总体而言,我们表明 Adam 是一个通用算法,可扩展到大规模高维机器学习问题。2 ## 算法 算法 1 给出了我们提出的算法 Adam 的伪代码。设 f(θ) 是一个有噪声的目标函数:一个相对于参数 θ 可微的随机标量函数。我们感兴趣的是相对于其参数 θ 最小化该函数的期望值 E[f(θ)]。我们用 f1(θ), …, , fT(θ) 表示该随机函数在后续时间步 1, …, T 的实现。随机性可能来自在数据点的随机子样本(小批量)上的评估,也可能来自函数固有的噪声。我们用 gt = ∇θft(θ) 表示梯度,即 ft 在时间步 t 相对于 θ 的偏导数向量。该算法更新梯度(mt)和梯度平方(vt)的指数移动平均,其中 超参数 β1, β2 ∈[0, 1) 控制这些移动平均的指数衰减率。这些移动平均本身是梯度的一阶矩(均值)和二阶原始矩(无中心方差)的估计。然而,这些移动平均被初始化为(向量)0,导致矩估计偏向零,特别是在初始时间步,尤其是当衰减率较小时(即 β 接近 1 时)。好消息是,这种初始化偏差可以被轻易抵消,从而得到偏差校正后的估计 bmt 和 bvt。详见第 3 节。注意,算法 1 的效率可以以牺牲清晰度为代价通过改变计算顺序加以提升,例如将循环中的最后三行替换为以下几行:αt = α · p 1 −βt 2/(1 −βt 1) 和 θt ←θt−1 −αt · mt/(√vt + ˆϵ)。2.1 ADAM 的更新规则 Adam 更新规则的一个重要性质是它对步长的精心选择。假设 ϵ = 0,在时间步 t 在参数空间中所采取的有效步长为 ∆t = α · bmt/√bvt。有效步长有两个上界:在 (1 −β1) > √1 −β2 的情况下,|∆t| ≤α · (1 −β1)/√1 −β2;以及 |∆t| ≤α 2

    Published as a conference paper at ICLR 2015 否则。第一种情况仅发生在最严重的稀疏情形:当某个梯度在除了当前时间步以外的所有时间步上都为零时。对于稀疏程度较低的情况,有效步长将更小。当 (1 −β1) = √1 −β2 时,我们有 | bmt/√bvt| < 1,因此 |∆t| < α。在更常见的场景中,由于 |E[g]/ p E[g2]| ≤1,我们会有 bmt/√bvt ≈±1。每个时间步在参数空间中所采取步长的有效幅度大致由步长设置 α 限制,即 |∆t| ⪅α。这可以理解为在当前参数值周围建立一个信赖域,超出该区域,当前的梯度估计就不再提供足够的信息。这通常使得提前知道 α 的合适尺度变得相对容易。例如,对于许多机器学习模型,我们通常事先知道良好的最优点很可能位于参数空间中的某个区域;例如,对参数有一个先验分布并不少见。由于 α 设定了(一个上界)参数空间中步长的幅度,我们通常可以推断出 α 的正确数量级,使得最优点可以在若干次迭代内从 θ0 到达。稍稍滥用一下术语,我们将比率 bmt/√bvt 称为信噪比(SNR)。SNR 较小时,有效步长 ∆t 将更接近零。这是一个理想的性质,因为较小的 SNR 意味着对 bmt 的方向是否与真实梯度方向一致存在更大的不确定性。例如,SNR 值通常在接近最优点时趋近于 0,导致参数空间中的有效步长变小:一种自动退火。有效步长 ∆t 也对梯度的尺度具有不变性;将梯度 g 用因子 c 重缩放将使 bmt 缩放因子 c,并使 bvt 缩放因子 c2,它们相互抵消:(c · bmt)/(√ c2 · bvt) = bmt/√bvt。3 ## 初始化偏差校正 如第 2 节中所解释的,Adam 使用初始化偏差校正项。此处我们将推导二阶矩估计的项;一阶矩估计的推导完全类似。设 g 为随机目标 f 的梯度,我们希望使用平方梯度的指数移动平均(衰减率为 β2)来估计其二阶原始矩(无中心方差)。设 g1, …, gT 为后续时间步的梯度,每一个都是从某个底层梯度分布 gt ∼p(gt) 中抽取的。我们将指数移动平均初始化为 v0 = 0(零向量)。首先注意,指数移动平均在时间步 t 的更新 vt = β2 · vt−1 + (1 −β2) · g2 t(其中 g2 t 表示按元素平方 gt ⊙gt)可以写为所有先前时间步梯度的函数:vt = (1 −β2) t X i=1 βt−i 2 · g2 i (1) 我们希望知道时间步 t 时指数移动平均的期望值 E[vt] 与真实二阶矩 E[g2 t ] 的关系,以便我们可以校正两者之间的差异。对式 (1) 的左边和右边取期望:E[vt] = E ” (1 −β2) t X i=1 βt−i 2 · g2 i # (2) = E[g2 t ] · (1 −β2) t X i=1 βt−i 2 + ζ (3) = E[g2 t ] · (1 −βt 2) + ζ (4) 其中,如果真实的二阶矩 E[g2 i ] 是平稳的,则 ζ = 0;否则,由于指数衰减率 β1 可以(并且应该)被选择为使得指数移动平均对过于久远过去的梯度赋予很小的权重,因此 ζ 可以保持较小。剩下的就是由于使用零初始化运行平均所导致的 (1 −βt 2) 项。因此,在算法 1 中我们除以该项以校正初始化偏差。在稀疏梯度的情况下,为了对二阶矩进行可靠的估计,需要通过选择较小的 β2 值在许多梯度上进行平均;然而,正是在 β2 较小的这种情况下,缺少初始化偏差校正会导致初始步长大得多。3

    Published as a conference paper at ICLR 2015 4 ## 收敛性分析 我们使用 (Zinkevich, 2003) 中提出的在线学习框架来分析 Adam收敛性。给定一个任意的、未知的凸 代价函数 序列 f1(θ), f2(θ),…, fT(θ)。在每个时间 t,我们的目标是预测参数 θt 并在先前未知的 代价函数 ft 上评估它。由于序列的性质事先未知,我们使用遗憾来评估我们的算法,即所有先前在线预测 ft(θt) 与可行集合 X 中最佳固定点参数 ft(θ∗) 之间所有先前差值之和。具体而言,遗憾定义为:R(T) = T X t=1 [ft(θt) −ft(θ∗)] (5) 其中 θ∗= arg minθ∈X PT t=1 ft(θ)。我们证明 Adam 具有 O(√T) 的遗憾界,证明在附录中给出。我们的结果与该一般凸在线学习问题的最佳已知界相当。我们还使用一些定义来简化我们的记号,其中 gt ≜∇ft(θt),gt,i 为第 i 个元素。我们将 g1:t,i ∈Rt 定义为一个包含直到 t 时刻所有迭代上梯度第 i 维的向量,g1:t,i = [g1,i, g2,i, · · · , gt,i]。此外,我们定义 γ ≜ β2 1 √β2。当 学习率 αt 以 t−1 2 的速率衰减,并且一阶矩运行平均系数 β1,t 以典型接近 1 的 λ(例如 1 −10−8)指数衰减时,下面的定理成立。定理 4.1。假设函数 ft 具有有界梯度,对所有 θ ∈Rd 有 ∥∇ft(θ)∥2 ≤G, ∥∇ft(θ)∥∞≤ G∞,并且由 Adam 生成的任意 θt 之间的距离是有界的,对任意 m, n ∈{1, …, T} 有 ∥θn −θm∥2 ≤D, ∥θm −θn∥∞≤D∞,并且 β1, β2 ∈[0, 1) 满足 β2 1 √β2 < 1。设 αt = α √t 且 β1,t = β1λt−1, λ ∈(0, 1)。Adam 对所有 T ≥1 实现以下保证:R(T) ≤ D2 2α(1 −β1) d X i=1 p TbvT,i+ α(1 + β1)G∞ (1 −β1)√1 −β2(1 −γ)2 d X i=1 ∥g1:T,i∥2+ d X i=1 D2 ∞G∞ √1 −β2 2α(1 −β1)(1 −λ)2 我们的定理 4.1 表明,当数据特征稀疏且梯度有界时,求和项可以远小于其上界 Pd i=1 ∥g1:T,i∥2 << dG∞√T 和 Pd i=1 p TbvT,i << dG∞√T,特别是当函数类与数据特征处于 (Duchi et al., 2011) 第 1.2 节的形式时。他们关于期望值 E[Pd i=1 ∥g1:T,i∥2] 的结果也适用于 Adam。特别地,自适应方法如 AdamAdaGrad 可以达到 O(log d √T),相比非自适应方法的 O(√dT) 是一种改进。在我们的理论分析中,使 β1,t 衰减至零非常重要,并且也与先前的经验发现相符,例如 (Sutskever et al., 2013) 建议在训练末期降低 动量 系数可以改善 收敛性。最后,我们可以证明 Adam 的平均遗憾收敛,推论 4.2。假设函数 ft 具有有界梯度,对所有 θ ∈Rd 有 ∥∇ft(θ)∥2 ≤G, ∥∇ft(θ)∥∞≤ G∞,并且由 Adam 生成的任意 θt 之间的距离是有界的,对任意 m, n ∈{1, …, T} 有 ∥θn −θm∥2 ≤D, ∥θm −θn∥∞≤D∞。Adam 对所有 T ≥1 实现以下保证:R(T) T = O( 1 √T )。该结果可由定理 4.1 和 Pd i=1 ∥g1:T,i∥2 ≤dG∞√T 得到。因此,limT →∞ R(T) T = 0。5 ## 相关工作 与 Adam 直接相关的优化方法是 RMSProp (Tieleman & Hinton, 2012; Graves, 2013) 和 AdaGrad (Duchi et al., 2011);下面将讨论这些关系。其他随机优化方法包括 vSGD (Schaul et al., 2012)、AdaDelta (Zeiler, 2012) 以及 Roux & Fitzgibbon (2010) 的自然牛顿方法,它们都通过估计曲率来设置步长 4

    Published as a conference paper at ICLR 2015 来设置步长。Sum-of-Functions Optimizer (SFO) (Sohl-Dickstein et al., 2014) 是基于小批量的拟牛顿方法,但(与 Adam 不同)其内存需求与数据集的 小批量 划分数量呈线性关系,这在 GPU 等内存受限的系统上通常不可行。与自然 梯度下降 (NGD) (Amari, 1998) 一样,Adam 采用一个能适应数据几何的预条件器,因为 bvt 是 Fisher 信息矩阵对角线的近似 (Pascanu & Bengio, 2013);但是,Adam 的预条件器(与 AdaGrad 一样)在适应方面比朴素的 NGD 更保守,它使用 Fisher 信息矩阵对角线近似的逆的平方根进行预条件化。RMSProp:与 Adam 密切相关的优化方法是 RMSProp (Tieleman & Hinton, 2012)。有时也使用带 动量 的版本 (Graves, 2013)。带 动量 的 RMSProp 与 Adam 之间存在几个重要差异:带 动量 的 RMSProp 使用对重缩放后梯度的 动量 来生成参数更新,而 Adam 的更新使用梯度一阶矩和二阶矩的运行平均直接进行估计。RMSProp 也缺少偏差校正项;这在 β2 接近 1 时(在稀疏梯度的情况下需要)影响最大,因为在这种情况下不校正偏差会导致非常大的步长,并且经常出现发散,正如我们在第 6.4 节中也凭经验证明的。AdaGrad:在稀疏梯度上表现良好的算法是 AdaGrad (Duchi et al., 2011)。它的基本版本将参数更新为 θt+1 = θt −α · gt/ qPt i=1 g2 t。注意,如果我们选择 β2 从下方无限接近 1,则 limβ2→1 bvt = t−1 · Pt i=1 g2 t。AdaGrad 对应于 β1 = 0、(1 −β2) 无限小、并且将 α 替换为退火版本 αt = α · t−1/2 的 Adam 版本,即 θt −α · t−1/2 · bmt/ p limβ2→1 bvt = θt −α · t−1/2 · gt/ q t−1 · Pt i=1 g2 t = θt −α · gt/ qPt i=1 g2 t。注意,当去除偏差校正项时,AdamAdaGrad 之间的这种直接对应关系不再成立;没有偏差校正,与 RMSProp 一样,β2 无限接近 1 时将导致无限大的偏差和无限大的参数更新。6 ## 实验 为了对所提方法进行实证评估,我们研究了不同的流行机器学习模型,包括 逻辑回归、多层全连接神经网络和深度卷积神经网络。我们使用大型模型和数据集证明 Adam 可以高效地解决实际的 深度学习 问题。在比较不同的优化算法时,我们使用相同的参数初始化。超参数,例如 学习率动量,在密集的网格上搜索,并使用最佳的 超参数 设置报告结果。6.1 实验:逻辑回归 我们使用 MNIST 数据集在 L2 正则化的多类 逻辑回归 上评估我们提出的方法。逻辑回归 具有研究充分的凸目标函数,因此适合在不必担心局部极小值问题的情况下比较不同的优化器。我们 逻辑回归 实验中的步长 α 通过 1/√t 衰减进行调整,即 αt = α √ t,这与我们第 4 节的理论预测相符。逻辑回归 直接对 784 维图像向量上的类标签进行分类。我们比较 Adam 与带 Nesterov 动量 的加速 SGDAdaGrad,使用 128 的 小批量 大小。根据图 1,我们发现 Adam 产生与带 动量SGD 类似的 收敛性,二者收敛速度都比 AdaGrad 快。如 (Duchi et al., 2011) 中所讨论的,AdaGrad 能高效处理稀疏特征和梯度,这是它的主要理论结果之一,而 SGD 在学习稀有特征方面较弱。带有 1/√t 步长衰减的 Adam 在理论上应与 AdaGrad 的性能相匹配。我们使用 (Maas et al., 2011) 的 IMDB 电影评论数据集来检验稀疏特征问题。我们将 IMDB 电影评论预处理为词袋(BoW)特征向量,包括最常见的 10,000 个单词。每条评论的 10,000 维 BoW 特征向量是高度稀疏的。如 (Wang & Manning, 2013) 中建议的,可以在训练期间对 BoW 特征施加 50% 的 dropout 噪声 5

    Published as a conference paper at ICLR 2015 0 5 10 15 20 25 30 35 40 45 整个数据集上的迭代次数 0.2 0.3 0.4 0.5 0.6 0.7 训练代价 MNIST 逻辑回归 AdaGrad SGDNesterov Adam 0 20 40 60 80 100 120 140 160 整个数据集上的迭代次数 0.20 0.25 0.30 0.35 0.40 0.45 0.50 训练代价 IMDB BoW 特征 逻辑回归 AdaGrad+dropout RMSProp+dropout SGDNesterov+dropout Adam+dropout 图 1:在 MNIST 图像和带有 10,000 个词袋(BoW)特征向量的 IMDB 电影评论上 逻辑回归 的训练负对数似然。在训练期间,以防止过拟合。在图 1 中,无论有无 dropout 噪声,AdaGrad 都以较大优势胜过带 Nesterov 动量SGDAdam 收敛速度与 AdaGrad 一样快。Adam 的实证表现与我们第 2 节和第 4 节的理论结果一致。与 AdaGrad 类似,Adam 可以利用稀疏特征并获得比带 动量 的常规 SGD 更快的 收敛 速率。6.2 实验:多层神经网络 多层神经网络是具有非凸 目标函数 的强大模型。尽管我们的 收敛性 分析不适用于非凸问题,我们经验上发现 Adam 在此类情况下通常优于其他方法。在我们的实验中,我们做出与该领域先前出版物一致的模型选择;本实验使用具有两个全连接隐藏层(每层 1000 个隐藏单元)和 ReLU 激活 的神经网络模型,小批量 大小为 128。首先,我们使用标准的确定性 交叉熵 目标函数和 L2 参数 权重衰减 来防止过拟合,研究不同的优化器。sum-of-functions (SFO) 方法 (Sohl-Dickstein et al., 2014) 是最近提出的拟牛顿方法,它使用小批量数据,并在多层神经网络优化方面表现良好。我们使用了他们的实现并将其与 Adam 进行比较来训练此类模型。图 2 显示,无论是迭代次数还是墙钟时间,Adam 的进展更快。由于更新曲率信息的成本,SFO 每次迭代比 Adam 慢 5-10 倍,并且具有与小批量数量呈线性关系的内存需求。诸如 dropout 之类的随机 正则化 方法是防止过拟合的有效途径,由于其简单性,在实践中经常使用。SFO 假设确定性子函数,事实上在带随机 正则化代价函数 上未能收敛。我们在带 dropout 噪声训练的多层神经网络上比较 Adam 与其他随机一阶方法的有效性。图 2 展示了我们的结果;Adam 比其他方法表现出更好的 收敛性。6.3 实验:卷积神经网络 具有多层 卷积池化 和非线性单元的卷积神经网络(CNN)在计算机视觉任务中取得了相当的成功。与大多数全连接神经网络不同,CNN 中的权重共享导致不同层中的梯度差异极大。在实践中应用 SGD 时,对 卷积 层通常使用较小的 学习率。我们展示 Adam 在深度 CNN 中的有效性。我们的 CNN 架构具有三个交替阶段的 5x5 卷积 滤波器和步长为 2 的 3x3 最大 池化,然后是一个具有 1000 个修正线性隐藏单元(ReLU)的全连接层。输入图像通过白化进行预处理,6

    Published as a conference paper at ICLR 2015 0 50 100 150 200 整个数据集上的迭代次数 10 -2 10 -1 训练代价 MNIST 多层神经网络 + dropout AdaGrad RMSProp SGDNesterov AdaDelta Adam (a) (b) 图 2:在 MNIST 图像上训练多层神经网络。(a) 使用 dropout 随机 正则化 的神经网络。(b) 使用确定性 代价函数 的神经网络。我们与 sum-of-functions (SFO) 优化器 (Sohl-Dickstein et al., 2014) 进行比较。0.0 0.5 1.0 1.5 2.0 2.5 3.0 整个数据集上的迭代次数 0.5 1.0 1.5 2.0 2.5 3.0 训练代价 CIFAR10 ConvNet 前 3 个 Epoches AdaGrad AdaGrad+dropout SGDNesterov SGDNesterov+dropout Adam Adam+dropout 0 5 10 15 20 25 30 35 40 45 整个数据集上的迭代次数 10-4 10-3 10-2 10-1 100 101 102 训练代价 CIFAR10 ConvNet AdaGrad AdaGrad+dropout SGDNesterov SGDNesterov+dropout Adam Adam+dropout 图 3:卷积神经网络的训练代价。(左)前三个 epoch 的训练代价。(右)45 个 epoch 的训练代价。CIFAR-10 上的 c64-c64-c128-1000 架构。dropout 噪声应用于输入层和全连接层。小批量 大小也设为 128,与之前的实验类似。有趣的是,尽管 AdamAdaGrad 在训练的初始阶段都迅速降低代价(图 3 左所示),如图 3(右)所示,对于 CNN,AdamSGD 最终的收敛速度都比 AdaGrad 快得多。我们注意到,二阶矩估计 bvt 在几个 epoch 之后衰减到零,并被算法 1 中的 ϵ 所主导。因此,与第 6.2 节中的全连接网络相比,二阶矩估计在 CNN 中对 代价函数 几何形状的近似较差。而通过一阶矩降低 小批量 方差在 CNN 中更为重要,并对加速贡献更多。因此,AdaGrad 在这个特定实验中比其他方法收敛慢得多。尽管 Adam 相对于带 动量SGD 仅显示出微小的改进,但它会为不同的层自适应调整 学习率 的尺度,而不是像 SGD 中那样手工挑选。7

    Published as a conference paper at ICLR 2015 β1=0 β1=0.9 β2=0.99 β2=0.999 β2=0.9999 β2=0.99 β2=0.999 β2=0.9999 (a) 10 个 epoch 之后 (b) 100 个 epoch 之后 log10(α) 损失 图 4:在学习 Variational Auto-Encoder (VAE) (Kingma & Welling, 2013) 时,10 个 epoch 之后(左)和 100 个 epoch 之后(右)偏差校正项(红线)与无偏差校正项(绿线)对损失(y 轴)的影响,针对不同的步长 α 设置(x 轴)和超参数 β1 和 β2。6.4 实验:偏差校正项 我们还实证评估了在第 2 节和第 3 节中解释的偏差校正项的影响。如第 5 节所讨论的,去除偏差校正项会导致带 动量 的 RMSProp (Tieleman & Hinton, 2012) 的一个版本。我们在训练具有与 (Kingma & Welling, 2013) 相同架构的变分自编码器(VAE)时改变 β1 和 β2,该架构具有一个 500 个隐藏单元的隐藏层(带 softplus 非线性)和一个 50 维球面高斯潜变量。我们在广泛的 超参数 选择范围上迭代,即 β1 ∈[0, 0.9] 和 β2 ∈[0.99, 0.999, 0.9999],以及 log10(α) ∈[−5, …, −1]。接近 1 的 β2 值对稀疏梯度的鲁棒性是必需的,会产生较大的初始化偏差;因此我们预期偏差校正项在这种慢衰减的情况下很重要,可避免对优化产生不利影响。在图 4 中,当没有偏差校正项时,接近 1 的 β2 值确实导致训练中的不稳定,尤其是在训练的最初几个 epoch。最佳结果在小的 (1−β2) 值和偏差校正下取得;当梯度趋于稀疏(隐藏单元专门化为特定模式时),这在优化的后期更为明显。总之,无论 超参数 设置如何,Adam 的表现与 RMSProp 持平或更好。7 ## 扩展 7.1 ## ADAMAX 在 Adam 中,对于单个权重的更新规则是将它们的梯度按其各自当前和过去梯度的(缩放后的)L2 范数成反比缩放。我们可以将基于 L2 范数的更新规则推广到基于 Lp 范数的更新规则。这种变体对于大的 p 在数值上变得不稳定。然而,在 p →∞ 的特殊情况下,出现了一个出奇简单且稳定的算法;见算法 2。我们现在推导该算法。设在 Lp 范数的情况下,时间 t 的步长与 v1/p t 成反比,其中:vt = βp 2vt−1 + (1 −βp 2)|gt|p (6) = (1 −βp 2) t X i=1 βp(t−i) 2 · |gi|p (7) 8

    Published as a conference paper at ICLR 2015 算法 2:AdaMax,基于无穷范数的 Adam 变体。详见第 7.1 节。所测试的机器学习问题的良好默认设置是 α = 0.002、β1 = 0.9 和 β2 = 0.999。我们用 βt 1 表示 β1 的 t 次幂。这里,(α/(1 −βt 1)) 是带一阶矩偏差校正项的 学习率。所有对向量的运算均按元素进行。Require: α:步长 Require: β1, β2 ∈[0, 1):指数衰减率 Require: f(θ):带参数 θ 的随机 目标函数 Require: θ0:初始参数向量 m0 ←0(初始化一阶矩向量)u0 ←0(初始化指数加权无穷范数)t ←0(初始化时间步)while θt 未收敛 do t ←t + 1 gt ←∇θft(θt−1)(在时间步 t 获取相对于随机目标的梯度)mt ←β1 · mt−1 + (1 −β1) · gt(更新有偏一阶矩估计)ut ←max(β2 · ut−1, |gt|)(更新指数加权无穷范数)θt ←θt−1 −(α/(1 −βt 1)) · mt/ut(更新参数)end while return θt(结果参数)注意,这里的衰减项等价地被参数化为 βp 2 而不是 β2。现在令 p →∞,并定义 ut = limp→∞(vt)1/p,则:ut = lim p→∞(vt)1/p = lim p→∞

    (1 −βp 2) t X i=1 βp(t−i) 2 · |gi|p !1/p (8) = lim p→∞(1 −βp 2)1/p

    t X i=1 βp(t−i) 2 · |gi|p !1/p (9) = lim p→∞

    t X i=1 β(t−i) 2 · |gi| p !1/p (10) = max βt−1 2 |g1|, βt−2 2 |g2|, . . . , β2|gt−1|, |gt| (11) 这对应于一个非常简单的递归公式:ut = max(β2 · ut−1, |gt|) (12),初始值 u0 = 0。注意,方便的是,在这种情况下我们不需要校正初始化偏差。还要注意,AdaMax 比 Adam 对参数更新幅度有更简单的界,即:|∆t| ≤α。7.2 时间平均 由于最后一次迭代由于随机近似而带有噪声,通常通过平均来获得更好的泛化性能。先前在 Moulines & Bach (2011) 中,Polyak-Ruppert 平均 (Polyak & Juditsky, 1992; Ruppert, 1988) 已被证明可以改善标准 SGD收敛性,其中 ¯θt = 1 t Pn k=1 θk。或者,可以对参数使用指数移动平均,给予更近期的参数值更高的权重。这可以通过在算法 1 和 2 的内循环中添加一行来轻松实现:¯θt ←β2 · ¯θt−1 +(1−β2)θt,其中 ¯θ0 = 0。初始化偏差可以再次通过估计 bθt = ¯θt/(1 −βt 2) 来校正。8 ## 结论 我们提出了一种简单且计算高效的算法,用于随机 目标函数 的基于梯度的优化。我们的方法面向具有 9 的机器学习问题

    Published as a conference paper at ICLR 2015 大型数据集和/或高维参数空间。该方法结合了最近两种流行优化方法的优点:AdaGrad 处理稀疏梯度的能力,以及 RMSProp 处理非平稳目标的能力。该方法易于实现,所需内存少。实验证实了在凸问题上关于收敛速率的分析。总体而言,我们发现 Adam 在机器学习领域的各种非 凸优化 问题中表现稳健,且非常适用。9 ## 致谢 如果没有 Google Deepmind 的支持,这篇论文可能不会存在。我们要特别感谢 Ivo Danihelka 和 Tom Schaul 为 Adam 命名。感谢 Duke University 的 Kai Fan 发现原 AdaMax 推导中的一个错误。本工作中的实验部分在 SURF 基金会支持下的荷兰国家电子基础设施上进行。Diederik Kingma 由 Google European Doctorate Fellowship in Deep Learning 资助。## 参考文献 Amari, Shun-Ichi. Natural gradient works efficiently in learning. Neural computation, 10(2):251–276, 1998. Deng, Li, Li, Jinyu, Huang, Jui-Ting, Yao, Kaisheng, Yu, Dong, Seide, Frank, Seltzer, Michael, Zweig, Geoff, He, Xiaodong, Williams, Jason, et al. Recent advances in deep learning for speech research at microsoft. ICASSP 2013, 2013. Duchi, John, Hazan, Elad, and Singer, Yoram. Adaptive subgradient methods for online learning and stochastic optimization. The Journal of Machine Learning Research, 12:2121–2159, 2011. Graves, Alex. Generating sequences with recurrent neural networks. arXiv preprint arXiv:1308.0850, 2013. Graves, Alex, Mohamed, Abdel-rahman, and Hinton, Geoffrey. Speech recognition with deep recurrent neural networks. In Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on, pp. 6645–6649. IEEE, 2013. Hinton, G.E. and Salakhutdinov, R.R. Reducing the dimensionality of data with neural networks. Science, 313 (5786):504–507, 2006. Hinton, Geoffrey, Deng, Li, Yu, Dong, Dahl, George E, Mohamed, Abdel-rahman, Jaitly, Navdeep, Senior, Andrew, Vanhoucke, Vincent, Nguyen, Patrick, Sainath, Tara N, et al. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. Signal Processing Magazine, IEEE, 29(6):82–97, 2012a. Hinton, Geoffrey E, Srivastava, Nitish, Krizhevsky, Alex, Sutskever, Ilya, and Salakhutdinov, Ruslan R. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012b. Kingma, Diederik P and Welling, Max. Auto-Encoding Variational Bayes. In The 2nd International Conference on Learning Representations (ICLR), 2013. Krizhevsky, Alex, Sutskever, Ilya, and Hinton, Geoffrey E. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pp. 1097–1105, 2012. Maas, Andrew L, Daly, Raymond E, Pham, Peter T, Huang, Dan, Ng, Andrew Y, and Potts, Christopher. Learning word vectors for sentiment analysis. In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies-Volume 1, pp. 142–150. Association for Computational Linguistics, 2011. Moulines, Eric and Bach, Francis R. Non-asymptotic analysis of stochastic approximation algorithms for machine learning. In Advances in Neural Information Processing Systems, pp. 451–459, 2011. Pascanu, Razvan and Bengio, Yoshua. Revisiting natural gradient for deep networks. arXiv preprint arXiv:1301.3584, 2013. Polyak, Boris T and Juditsky, Anatoli B. Acceleration of stochastic approximation by averaging. SIAM Journal on Control and Optimization, 30(4):838–855, 1992. 10

    Published as a conference paper at ICLR 2015 Roux, Nicolas L and Fitzgibbon, Andrew W. A fast natural newton method. In Proceedings of the 27th International Conference on Machine Learning (ICML-10), pp. 623–630, 2010. Ruppert, David. Efficient estimations from a slowly convergent robbins-monro process. Technical report, Cornell University Operations Research and Industrial Engineering, 1988. Schaul, Tom, Zhang, Sixin, and LeCun, Yann. No more pesky learning rates. arXiv preprint arXiv:1206.1106, 2012. Sohl-Dickstein, Jascha, Poole, Ben, and Ganguli, Surya. Fast large-scale optimization by unifying stochastic gradient and quasi-newton methods. In Proceedings of the 31st International Conference on Machine Learning (ICML-14), pp. 604–612, 2014. Sutskever, Ilya, Martens, James, Dahl, George, and Hinton, Geoffrey. On the importance of initialization and momentum in deep learning. In Proceedings of the 30th International Conference on Machine Learning (ICML-13), pp. 1139–1147, 2013. Tieleman, T. and Hinton, G. Lecture 6.5 - RMSProp, COURSERA: Neural Networks for Machine Learning. Technical report, 2012. Wang, Sida and Manning, Christopher. Fast dropout training. In Proceedings of the 30th International Conference on Machine Learning (ICML-13), pp. 118–126, 2013. Zeiler, Matthew D. Adadelta: An adaptive learning rate method. arXiv preprint arXiv:1212.5701, 2012. Zinkevich, Martin. Online convex programming and generalized infinitesimal gradient ascent. 2003. 11

    Published as a conference paper at ICLR 2015 10 ## 附录 10.1 ## 收敛性证明 定义 10.1。若对所有 x, y ∈Rd 以及所有 λ ∈[0, 1],都有 λf(x) + (1 −λ)f(y) ≥f(λx + (1 −λ)y),则函数 f : Rd →R 是凸的。还要注意,凸函数可以被其切线处的超平面下界。引理 10.2。若函数 f : Rd →R 是凸的,则对所有 x, y ∈Rd 都有 f(y) ≥f(x) + ∇f(x)T (y −x)。上述引理可用于上界遗憾,主定理的证明通过将超平面替换为 Adam 的更新规则来构造。下面两个引理用于支持我们的主定理。我们也使用一些定义来简化记号,其中 gt ≜∇ft(θt),gt,i 为第 i 个元素。我们将 g1:t,i ∈Rt 定义为包含直到 t 时刻所有迭代上梯度第 i 维的向量,g1:t,i = [g1,i, g2,i, · · · , gt,i]。引理 10.3。设 gt = ∇ft(θt) 且 g1:t 如上定义并有界,∥gt∥2 ≤G, ∥gt∥∞≤ G∞。则 T X t=1 s g2 t,i t ≤2G∞∥g1:T,i∥2。证明。我们将通过对 T 的归纳来证明该不等式。对于基本情形 T = 1,我们有 q g2 1,i ≤2G∞∥g1,i∥2。对于归纳步骤,T X t=1 s g2 t,i t = T −1 X t=1 s g2 t,i t + s g2 T,i T ≤2G∞∥g1:T −1,i∥2 + s g2 T,i T = 2G∞ q ∥g1:T,i∥2 2 −g2 T + s g2 T,i T 。由 ∥g1:T,i∥2 2 −g2 T,i + g4 T,i 4∥g1:T,i∥2 2 ≥∥g1:T,i∥2 2 −g2 T,i,我们可以对两边开平方根得到 q ∥g1:T,i∥2 2 −g2 T,i ≤∥g1:T,i∥2 − g2 T,i 2∥g1:T,i∥2 ≤∥g1:T,i∥2 − g2 T,i 2 p TG2∞。重新整理不等式并代入 q ∥g1:T,i∥2 2 −g2 T,i 项,G∞ q ∥g1:T,i∥2 2 −g2 T + s g2 T,i T ≤2G∞∥g1:T,i∥2 12

    Published as a conference paper at ICLR 2015 引理 10.4。设 γ ≜ β2 1 √β2。对于满足 β2 1 √β2 < 1 的 β1, β2 ∈[0, 1) 以及有界的 gt,∥gt∥2 ≤G, ∥gt∥∞≤G∞,下列不等式成立 T X t=1 bm2 t,i p tbvt,i ≤ 2 1 −γ 1 √1 −β2 ∥g1:T,i∥2。证明。在该假设下,√ 1−βt 2 (1−βt 1)2 ≤ 1 (1−β1)2。我们可以使用算法 1 的更新规则展开求和中的最后一项,T X t=1 bm2 t,i p tbvt,i = T −1 X t=1 bm2 t,i p tbvt,i + p 1 −βT 2 (1 −βT 1 )2 (PT k=1(1 −β1)βT −k 1 gk,i)2 q ## T PT j=1(1 −β2)βT −j 2 g2 j,i ≤ T −1 X t=1 bm2 t,i p tbvt,i + p 1 −βT 2 (1 −βT 1 )2 T X k=1 T((1 −β1)βT −k 1 gk,i)2 q ## T PT j=1(1 −β2)βT −j 2 g2 j,i ≤ T −1 X t=1 bm2 t,i p tbvt,i + p 1 −βT 2 (1 −βT 1 )2 T X k=1 T((1 −β1)βT −k 1 gk,i)2 q T(1 −β2)βT −k 2 g2 k,i ≤ T −1 X t=1 bm2 t,i p tbvt,i + p 1 −βT 2 (1 −βT 1 )2 (1 −β1)2 p T(1 −β2) T X k=1 T β2 1 √β2 T −k ∥gk,i∥2 ≤ T −1 X t=1 bm2 t,i p tbvt,i + T p T(1 −β2) T X k=1 γT −k∥gk,i∥2。类似地,我们可以对求和中的其余项进行上界。T X t=1 bm2 t,i p tbvt,i ≤ T X t=1 ∥gt,i∥2 p t(1 −β2) T −t X j=0 tγj ≤ T X t=1 ∥gt,i∥2 p t(1 −β2) T X j=0 tγj。对于 γ < 1,使用算术-几何级数的上界 P t tγt < 1 (1−γ)2:T X t=1 ∥gt,i∥2 p t(1 −β2) T X j=0 tγj ≤ 1 (1 −γ)2√1 −β2 T X t=1 ∥gt,i∥2 √ t。应用引理 10.3,T X t=1 bm2 t,i p tbvt,i ≤ 2G∞ (1 −γ)2√1 −β2 ∥g1:T,i∥2。为简化记号,我们定义 γ ≜ β2 1 √β2。直观地,当 学习率 αt 以 t−1 2 速率衰减、且一阶矩运行平均系数 β1,t 以典型接近 1 的 λ(例如 1 −10−8)指数衰减时,下面的定理成立。定理 10.5。假设函数 ft 具有有界梯度,对所有 θ ∈Rd 有 ∥∇ft(θ)∥2 ≤G, ∥∇ft(θ)∥∞≤ G∞,并且由 Adam 生成的任意 θt 之间的距离是有界的,∥θn −θm∥2 ≤D, 13

    Published as a conference paper at ICLR 2015 对任意 m, n ∈{1, …, T} 有 ∥θm −θn∥∞≤D∞,并且 β1, β2 ∈[0, 1) 满足 β2 1 √β2 < 1。设 αt = α √ t 且 β1,t = β1λt−1, λ ∈(0, 1)。Adam 对所有 T ≥1 实现以下保证:R(T) ≤ D2 2α(1 −β1) d X i=1 p TbvT,i+ α(β1 + 1)G∞ (1 −β1)√1 −β2(1 −γ)2 d X i=1 ∥g1:T,i∥2+ d X i=1 D2 ∞G∞ √1 −β2 2α(1 −β1)(1 −λ)2。证明。使用引理 10.2,我们有 ft(θt) −ft(θ∗) ≤gT t (θt −θ∗) = d X i=1 gt,i(θt,i −θ∗ ,i)。根据算法 1 中给出的更新规则,θt+1 = θt −αt bmt/ p bvt = θt − αt 1 −βt 1 β1,t √bvt mt−1 + (1 −β1,t) √bvt gt 。我们关注参数向量 θt ∈Rd 的第 i 维。减去标量 θ∗ ,i 并对上述更新规则两边取平方,得到 (θt+1,i −θ∗ ,i)2 =(θt,i −θ∗ ,i)2 − 2αt 1 −βt 1 ( β1,t p bvt,i mt−1,i + (1 −β1,t) p bvt,i gt,i)(θt,i −θ∗ ,i) + α2 t( bmt,i p bvt,i )2。我们可以重新排列上面的方程并使用 Young 不等式 ab ≤a2/2 + b2/2。还可以证明 p bvt,i = qPt j=1(1 −β2)βt−j 2 g2 j,i/ p 1 −βt 2 ≤∥g1:t,i∥2 以及 β1,t ≤β1。则 gt,i(θt,i −θ∗ ,i) =(1 −βt 1) p bvt,i 2αt(1 −β1,t) (θt,i −θ∗ ,t)2 −(θt+1,i −θ∗ ,i)2 + β1,t (1 −β1,t) bv 1 4 t−1,i √αt−1 (θ∗ ,i −θt,i)√αt−1 mt−1,i bv 1 4 t−1,i + αt(1 −βt 1) p bvt,i 2(1 −β1,t) ( bmt,i p bvt,i )2 ≤ 1 2αt(1 −β1) (θt,i −θ∗ ,t)2 −(θt+1,i −θ∗ ,i)2 p bvt,i + β1,t 2αt−1(1 −β1,t)(θ∗ ,i −θt,i)2p bvt−1,i + β1αt−1 2(1 −β1) m2 t−1,i p bvt−1,i + αt 2(1 −β1) bm2 t,i p bvt,i。我们将引理 10.4 应用于上述不等式,并通过对 ft(θt) −ft(θ∗) 上界中 i ∈1, …, d 的所有维度以及凸函数序列在 t ∈1, …, T 上求和得到遗憾界:R(T) ≤ d X i=1 1 2α1(1 −β1)(θ1,i −θ∗ ,i)2p bv1,i + d X i=1 T X t=2 1 2(1 −β1)(θt,i −θ∗ ,i)2( p bvt,i αt − p bvt−1,i αt−1 ) + β1αG∞ (1 −β1)√1 −β2(1 −γ)2 d X i=1 ∥g1:T,i∥2 + αG∞ (1 −β1)√1 −β2(1 −γ)2 d X i=1 ∥g1:T,i∥2 + d X i=1 T X t=1 β1,t 2αt(1 −β1,t)(θ∗ ,i −θt,i)2p bvt,i 14

    Published as a conference paper at ICLR 2015 由假设 ∥θt −θ∗∥2 ≤D, ∥θm −θn∥∞≤D∞,我们有:R(T) ≤ D2 2α(1 −β1) d X i=1 p TbvT,i + α(1 + β1)G∞ (1 −β1)√1 −β2(1 −γ)2 d X i=1 ∥g1:T,i∥2 + D2 ∞ 2α d X i=1 t X t=1 β1,t (1 −β1,t) p tbvt,i ≤ D2 2α(1 −β1) d X i=1 p TbvT,i + α(1 + β1)G∞ (1 −β1)√1 −β2(1 −γ)2 d X i=1 ∥g1:T,i∥2 + D2 ∞G∞ √1 −β2 2α d X i=1 t X t=1 β1,t (1 −β1,t) √ t。我们可以对最后一项使用算术-几何级数的上界:t X t=1 β1,t (1 −β1,t) √ t ≤ t X t=1 1 (1 −β1)λt−1√ t ≤ t X t=1 1 (1 −β1)λt−1t ≤ 1 (1 −β1)(1 −λ)2。因此,我们得到以下遗憾界:R(T) ≤ D2 2α(1 −β1) d X i=1 p TbvT,i + α(1 + β1)G∞ (1 −β1)√1 −β2(1 −γ)2 d X i=1 ∥g1:T,i∥2 + d X i=1 D2 ∞G∞ √1 −β2 2αβ1(1 −λ)2 15

    图表

    Arxiv 1412 6980 ar5iv.png