Adam A Method for Stochastic Optimization/zh

    From Marovi AI
    Revision as of 03:44, 27 April 2026 by DeployBot (talk | contribs) (Batch translate Adam A Method for Stochastic Optimization unit 24 → zh)
    (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
    Other languages:
    Research Paper
    Authors Diederik P. Kingma; Jimmy Lei Ba
    Year 2015
    Venue ICLR
    Topic area Optimization
    Difficulty Research
    arXiv 1412.6980
    PDF Download PDF

    Adam: A Method for Stochastic Optimization 是 Kingma 和 Ba 於 2015 年發表的論文,提出了 Adam 優化器,這是一種針對隨機目標函數的一階基於梯度的優化算法。Adam 將兩種早期方法的優勢——AdaGrad(按參數自適應調整學習率)和 RMSProp(使用平方梯度的滑動平均)——結合到一個具有偏差校正矩估計的單一算法中。Adam 已成為大多數領域中訓練神經網絡的默認優化器。

    概述

    訓練深度神經網絡需要使用隨機梯度估計來最小化一個高維、非凸的目標函數。標準的隨機梯度下降(SGD)對所有參數使用單一的全局學習率,當不同參數的梯度量級差異很大,或損失曲面具有高度各向異性的曲率時,這種方式可能並非最優。

    先前的自適應方法(如 AdaGrad)在整個訓練過程中累積平方梯度,導致學習率單調衰減至零——這對於非凸問題是有問題的。RMSProp 通過使用指數滑動平均解決了這一問題,但缺乏偏差校正。Adam 通過對梯度的一階矩(均值)和二階矩(非中心方差)進行偏差校正估計,將這些思想統一起來,提供了一個有效且計算高效的優化器,並具有表現良好的默認超參數。

    主要貢獻

    • Adam 優化器:一種自適應學習率方法,基於梯度一階矩和二階矩的偏差校正估計,為每個參數維護各自的學習率。
    • 偏差校正:一種用於抵消矩估計向零初始化偏差的機制,這在訓練的初始步驟中尤為重要。
    • AdaMax 變體:基於無窮範數的推廣,在某些具有稀疏梯度的問題上有時能優於 Adam。
    • 實用默認值:推薦的超參數取值($ \beta_1 = 0.9 $$ \beta_2 = 0.999 $$ \epsilon = 10^{-8} $),在廣泛的問題上表現良好。

    方法

    Adam 維護兩個指數滑動平均:$ m_t $ 表示一階矩(梯度的均值),$ v_t $ 表示二階矩(平方梯度的均值):

    $ m_t = \beta_1 \cdot m_{t-1} + (1 - \beta_1) \cdot g_t $

    $ v_t = \beta_2 \cdot v_{t-1} + (1 - \beta_2) \cdot g_t^2 $

    其中 $ g_t = \nabla_\theta f_t(\theta_{t-1}) $ 是第 $ t $ 步的梯度,$ \beta_1, \beta_2 \in [0, 1) $ 控制指數衰減率。

    由於 $ m_t $$ v_t $ 被初始化為零向量,它們在初始步驟中會偏向零。Adam 通過 偏差校正估計 來糾正這一點:

    $ \hat{m}_t = \frac{m_t}{1 - \beta_1^t} $

    $ \hat{v}_t = \frac{v_t}{1 - \beta_2^t} $

    參數更新規則隨之為:

    $ \theta_t = \theta_{t-1} - \alpha \cdot \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} $

    其中 $ \alpha $ 是步長(學習率),$ \epsilon $ 是用於數值穩定性的小常數。

    一階矩估計提供了類似動量的行為,沿著一致的梯度方向加速收斂。二階矩估計將學習率與近期梯度的均方根成反比縮放,使每個參數擁有各自的有效學習率。這種組合意味著梯度始終較大的參數獲得較小的更新,而梯度較小或噪聲較大的參數獲得相對較大的更新。

    論文還引入了 AdaMax,它將 Adam 中二階矩使用的 $ L^2 $ 範數替換為 $ L^\infty $ 範數,得到一種更簡單的更新規則,避免了對二階矩的偏差校正。

    結果

    論文在多個基準測試上對 Adam 進行了評估:

    • 邏輯回歸(MNIST 上):Adam 的收斂速度快於帶動量的 SGD、AdaGrad 和 RMSProp。
    • 多層神經網絡(MNIST 上):Adam 取得了最低的訓練代價,其收斂速度與競爭方法相當或更優。
    • 卷積神經網絡(CIFAR-10 上):Adam 的表現與經過精細調優動量和學習率調度的 SGD 相當。
    • 變分自編碼器(VAEs):Adam 被成功用於優化變分下界,證明了其在生成模型中的適用性。

    論文提供了收斂性分析,表明 Adam 在在線凸優化框架下可達到 $ O(\sqrt{T}) $ 的遺憾界,與自適應方法已知的最佳界相匹配。

    影響

    Adam 成為深度學習中使用最廣泛的優化器,從 2010 年代後期一直延續到 2020 年代,被大多數研究論文和生產系統選作默認優化器。它對超參數選擇的魯棒性以及在各種架構下的有效性,使其成為從業者的首選算法。

    後續工作指出了一些局限性,包括在某些情形下的收斂問題(由 AMSGrad 解決)、相較於精心調優的 SGD 可能存在的泛化差距(尤其是在圖像分類中),以及對 $ \epsilon $ 取值的敏感性。諸如 AdamW(將權重衰減與自適應學習率解耦)等變體在訓練大型 Transformer 模型時更受青睞。儘管有這些改進,Adam 及其變體仍然是現代神經網絡優化的支柱。

    參見

    參考文獻

    • Kingma, D. P. 與 Ba, J. (2015). Adam: A Method for Stochastic Optimization. Proceedings of ICLR 2015. arXiv:1412.6980
    • Duchi, J., Hazan, E., 與 Singer, Y. (2011). Adaptive Subgradient Methods for Online Learning and Stochastic Optimization. JMLR 12.
    • Loshchilov, I. 與 Hutter, F. (2019). Decoupled Weight Decay Regularization. ICLR 2019. arXiv:1711.05101.