動量

Momentum

利用歷史梯度的加速項

詳細解釋

動量(Momentum)是梯度下降的加速技術,累積歷史梯度方向,幫助加速收斂並減少震盪,類比物理中的動量概念。

核心思想:

  • 梯度 = 當前梯度 + 動量係數 × 前一步更新
  • 加速一致方向:如果梯度持續同向,步長增大
  • 抑制震盪:如果梯度方向變化,動量抵消部分更新
  • 逃出局部最優和鞍點

數學表達:

vₜ = β × vₜ₋₁ + (1-β) × ∇L(θ)

θ = θ - η × vₜ

  • v:速度(累積梯度)
  • β:動量係數(通常0.9)
  • η:學習率

變體:

  • Nesterov動量:先按動量方向移動,再計算梯度
  • 更穩定,常用於隨機梯度下降+momentum
  • 自適應動量:Adam優化器中的動量(β1=0.9)

優勢:

  • 加速收斂:特別在狹長的損失曲面
  • 減少震盪:平滑梯度噪聲
  • 逃出局部最優:累積動量有助於跳出淺層局部最優
  • 更好的泛化:通常優於純SGD

視覺理解:

  • 想像小球滾下山坡
  • 動量 = 小球的速度和慣性
  • 平坦區域加速,狹窄山谷減少兩側震盪

應用建議:

  • SGD:強烈建議加上momentum(β=0.9)
  • 預設值:0.9是標準選擇
  • 較大任務:可考慮0.99或隨時間增加
  • 調整學習率:使用momentum時學習率通常可更大

動量是優化算法最簡單有效的改進之一。

探索更多AI詞彙

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