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