你有沒有發現,模型不是一路用同一種力道訓練最順? 你可以把學習率排程想成,訓練不同階段用不同速度走路。 它其實就是在訓練過程中動態調整學習率的策略。 前期走快一點找方向,後期走慢一點才比較不會跨過頭。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
學習率排程 vs 固定學習率 固定學習率從頭用到尾,排程會依訓練階段改變步伐。 一個不變,一個會看情況調整。
學習率排程 vs 提前終止 排程是調學習率,提前終止是決定什麼時候停訓練。 一個管怎麼走,一個管何時收工。
最關鍵的區別: 排程在調步伐,提前終止在決定停不停。
記住這句就好
前快後慢,模型比較容易走進好位置。
實際案例
大型模型訓練 前期用較高學習率快速摸清方向,後期慢慢降下來,能讓收斂更平滑。
小資料微調 在小資料微調時,用排程把學習率逐步降低,能減少把原模型弄壞的風險。
算法與應用
常見排程包括 step decay、exponential decay、cosine decay 和 warmup。 這些方法的共同目標,是讓訓練前期有足夠探索,後期有更細的修正。 在長時間訓練、資料量大或需要高穩定性的任務裡特別常見。
情境判斷
Q1(直覺題): 模型前期學得很快,後期卻一直震盪,哪個工具最像解法?
Q2(判斷題): 所有任務都要用複雜的學習率排程嗎?
常見問題
學習率排程最常見的用途是什麼?
讓模型在訓練前期學得快、後期收斂得更細。
warmup 是什麼?
就是一開始先用較小的學習率,避免模型剛起步時更新過猛。
學習率排程和動量有什麼不同?
排程在改步伐大小,動量在改更新方向的慣性,兩者可以一起用。