LinDragon 筆記圖書館2026年10月
Journal of CNN

卷積神經網路 · 優化器 · 學習率調度

Research Note

學習率調度器 整理表

學習率調度器 整理表

Scheduler學習率變化形狀(直觀)主要參數重點優點缺點 / 注意CNN 何時適合用?
StepLR像樓梯:一段時間不變,到了某個 epoch 突然降一階​step_size:隔幾個 epoch 降一次;gamma:每次乘多少(如 0.1)實作簡單;常見設定(如 30, 60, 90)在分類 CNN 上很好用lr 是「突然跳變」;需要事先猜大概什麼 epoch 降​做 CIFAR‑10/Imagenet 類 CNN,照論文設定 epoch 30/60/90 衰減,很常見的 baseline
MultiStepLR還是樓梯,但「哪幾階要降」自己指定​milestones=[30,60,90] 等;gamma 同上比 StepLR 更靈活,適合你已經有想好的關鍵 epoch里程碑要自己設,錯設可能浪費訓練跟隨某篇 paper 的 schedule 時,用 MultiStepLR 很方便直接對齊
ExponentialLR平滑指數曲線:每個 epoch 都按固定比例慢慢變小​gamma:每步乘的比例(0.9、0.95、0.99 等)不用設里程碑;lr 連續變化、不會突然跳早期降得太快或太慢要靠經驗調 gamma ​想要「一直慢慢變小」的簡單策略,訓練時間預估不準時也好用
CosineAnnealingLR半個餘弦形狀:一開始降比較快,後期很平滑地貼近 0​T_max:一個「餘弦周期」的 epoch 數;eta_min:最低 lr幾乎不用選很多點;長訓練常有不錯效果,收斂穩定需要大概知道訓練總 epoch(好設 T_max)​訓練 ResNet/大 CNN 跑很多 epoch,又懶得設一堆 milestones 時,很推薦
ReduceLROnPlateau沒固定形狀:看驗證集有沒有進步,卡住一段時間才降​mode(看 min 或 max)、factor(衰減倍數)、patience(多久沒進步才降)真正「自適應」:loss/acc 不進步才降 lr,比較聰明​必須用驗證指標來 step();調 patience 等參數要點經驗​你不確定什麼時候該降 lr,或想用 early‑stopping+動態 lr 搭配時很適合

相關筆記