Adam優化器

Adam Optimizer

結合動量與自適應學習率的常用優化器

詳細解釋

Adam(Adaptive Moment Estimation)是一種自適應學習率優化算法,結合了動量RMSprop的優點,是深度學習中最流行的優化器之一。

核心機制:

  • 一階矩估計(m):梯度的指數移動平均(類似動量)
  • 二階矩估計(v):梯度平方的指數移動平均(類似RMSprop)
  • 偏差修正:初期估計偏向0,需要修正
  • 自適應學習率:每個參數有自己的學習率

更新公式:

  • mₜ = β₁ × mₜ₋₁ + (1-β₁) × gₜ
  • vₜ = β₂ × vₜ₋₁ + (1-β₂) × gₜ²
  • m̂ = mₜ / (1-β₁ᵗ)
  • v̂ = vₜ / (1-β₂ᵗ)
  • θ = θ - η × m̂ / (√v̂ + ε)

默認超參數:

  • β₁ = 0.9(一階矩衰減率)
  • β₂ = 0.999(二階矩衰減率)
  • ε = 1e-8(數值穩定性常數)
  • 學習率 η 通常 0.001

優勢:

  • 對超參數不敏感:默認值在大多數場景表現良好
  • 適合稀疏梯度:自然處理某些參數很少更新的情況
  • 快速收斂:通常比純SGD更快達到合理效果
  • 易用:無需複雜的學習率調度

局限:

  • 泛化問題:可能在訓練集過擬合,測試集不如SGD+momentum
  • 權重衰減問題:與L2正則化交互不佳
  • 記憶體:需要存儲兩倍於SGD的狀態

改進版本:

  • AdamW:解耦權重衰減,修正Adam的問題
  • Adamax:使用∞範數更穩定
  • Nadam:結合Nesterov動量

Adam是初學者和快速實驗的首選優化器。

探索更多AI詞彙

查看所有分類,繼續學習AI知識