一、基礎優化器
- 隨機梯度下降(SGD)
? 核心:?θJ(θ) = η * ?θJ(θ)
? 特點:學習率固定,收斂路徑震蕩大
? 適用場景:簡單凸優化問題
? 改進方向:動量加速
二、動量系優化器
2. SGD with Momentum
? 公式:v_t = γv_{t-1} + η?θJ(θ)
? 效果:平滑梯度更新,加速收斂
? 經典參數:γ=0.9(多數場景推薦)
三、自適應學習率家族
3. Adagrad
? 創新:?θJ(θ)_t = ?θJ(θ) / (sqrt(ρ) + sqrt(∑g2))
? 特性:自動調節學習率,適合稀疏數據
? 缺陷:學習率單調衰減易過早停止
-
RMSProp
? 改進:梯度平方移動平均代替累積和
? 公式:E[g2]t = 0.9rms_decayE[g2]{t-1} + 0.1*g2
? 優勢:緩解Adagrad學習率衰減問題
? 默認參數:η=0.001, γ=0.9 -
Adam
? 融合:動量 + RMSProp
? 更新公式:
m_t = β1*m_{t-1} + (1-β1)g_t
v_t = β2v_{t-1} + (1-β2)g_t2
θ = θ - η(m_t)/(1-β1t)/(v_t/(1-β2t))
? 優勢:計算高效,參數敏感度低
? 推薦配置:β1=0.9, β2=0.999, η=0.001
四、進階優化器
6. AdamW(權重衰減正則化)
? 改進:解耦權重衰減與梯度更新
? 效果:提升模型泛化能力,尤其在Transformer架構中表現顯著
-
Nadam(Nesterov-accelerated Adam)
? 創新:Nesterov動量提前修正梯度
? 優勢:比標準Adam更快收斂3-10% -
LAMB(Large Batch Optimization)
? 適用:大規模mini-batch訓練
? 特征:動態縮放學習率與梯度
五、選擇建議矩陣
訓練數據 | 模型類型 | 目標 | 推薦優化器 | |
---|---|---|---|---|
小樣本 | 圖像分類 | CNN | 快速收斂 | SGD+Momentum |
大樣本 | NLP處理 | Transformer | 穩定訓練 | AdamW |
超大規模 | 深度強化學習 | 多層網絡 | 資源效率 | LAMB |
高精度調優 | 計算機視覺 | ResNet | 最終性能 | SGD+Momentum |
六、調試技巧
- 學習曲線分析:觀察loss曲面是否出現震蕩(動量不足)或平臺期(學習率過低)
- 權重初始化驗證:對He初始化配合SGD效果更佳
- 混合精度訓練:結合AMP技術可提升Adam訓練速度3-5倍
- 漸進式學習率:使用OneCycleLR策略可減少調參次數
七、最新進展
2023年ICML論文提出的AdaBelief優化器,在ImageNet-21k數據集上達到與AdamW相當的分類精度,但參數量減少15%。其核心創新是通過可信區間估計動態調整學習率,值得關注。
需要具體場景的配置建議或某個優化器的數學推導細節,我可以進一步展開說明。建議根據具體任務在Colab上運行對比實驗,使用TensorBoard觀察不同優化器的loss下降曲線差異。