| SGD | 固定步伐往「平均梯度反方向」走 | 簡單、可控;調好 + schedule 時,泛化常很好 | 需要小心調 learning rate,容易震盪、收斂慢 | 想要「最經典」、在大資料/分類任務追最好 test accuracy 時常用(搭配 momentum、LR schedule) |
| SGD + Momentum | 在 SGD 上加「慣性」,往穩定方向加速 | 比純 SGD 收斂快、路徑更平滑 | 超參數多一點,需要調 momentum、LR | 做圖像分類時很常見的強力 baseline,想追高泛化時常會換成這個 |
| Adam | 每個參數有自己的動量 + 自適應 LR | 起步容易、收斂快、對 LR 不太敏感;預設值就常能用 | 泛化有時略輸 SGD+Momentum;對某些任務會過度 fit 訓練集 | 新模型先驗證「能不能學」、想快速得到不錯結果時,很適合當預設 |
| AdamW | Adam + 正確的 weight decay(解耦 L2) | 泛化通常比 Adam 好些;收斂穩、效率佳,很多研究發現是很平衡的選擇 | 仍然是 adaptive optimizer,有時仍不如 SGD 在極致泛化上 | 想要 Adam 的方便/速度,又在意正則化與穩定收斂時,很推薦當 CNN 預設 |
| RMSprop | 根據「最近梯度平方平均」調每參數 LR | 在梯度不穩的問題上更穩定;比純 SGD 通常容易訓練 | 行為比 Adam 原始一點;超參數(alpha)要懂一點意思 | 傳統上在 RNN、強化學習常見;在 CNN 中可當 Adam 的替代實驗方案 |
| AdaGrad | 按「累積梯度平方」調整 LR:越常更新,LR 越小 | 自動減小步伐;適合稀疏特徵、NLP 早期常用 | LR 會持續變小,後期幾乎不動 → 收斂停滯 | 理解歷史概念、做對照實驗用;現代 CNN 實務較少作為主力 |
| AdaDelta | 改良 AdaGrad:只看「最近一段梯度」,避免 LR 歸零 | 不用顯式設定初始 LR 也能跑;能持續更新,不易卡死 | 表現依任務而異,很多研究裡準確率通常不是最頂 | 想試不同 adaptive optimizer、對 LR 不想太手調時,可作備選,但 CNN 實務也不算主流 |