搜尋意圖: 如果你在找「學習率 是什麼」或「學習率 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 學習率是機器學習模型訓練中的關鍵超參數,它決定了梯度下降演算法每次更新模型參數的步長與幅度,過大可能導致模型震盪,過小則會使收斂速度緩慢。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
你有沒有看過模型明明在學,卻不是走太快就是走太慢? 你可以把學習率想成,模型每次修正時跨出去的步伐大小。 它其實就是控制參數更新幅度的超參數。 步伐太大會衝過頭,太小又會學很久還看不到成果。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
學習率 vs 迭代次數 學習率決定每一步跨多大,迭代次數決定總共要走幾步。 一個管速度,一個管路程。
學習率 vs 批次大小 批次大小決定每次看多少資料,學習率決定看完後改多少。 資料多不代表步伐大,兩者是不同控制鈕。
最關鍵的區別: 一個管步幅,一個管步數。
記住這句就好
步伐剛剛好,模型才走得到終點。
實際案例
影像分類訓練 如果學習率太高,損失可能上下震盪,準確率一直上不去。
微調大模型 在微調時常會用更小的學習率,避免把原本學好的知識整個沖掉。
算法與應用
在梯度下降裡,學習率決定參數更新的幅度,更新太猛會跳過最佳點,太小則收斂很慢。 實務上會搭配 warmup、衰減或自適應優化器,讓前期和後期的步伐不同。 看訓練曲線時,學習率常是第一個要懷疑的超參數。
中英對照與常見說法
| 說法 | 出現場合 |
|---|---|
| 學習率 | 中文正式用語 |
| Learning Rate | 英文原名 |
| LR | 程式碼與論文裡最常見的縮寫 |
| 學習速率、步長(step size) | 意思相同,最佳化理論多用「步長」 |
太大與太小分別會怎樣
| 學習率 | 症狀 | 損失曲線長相 |
|---|---|---|
| 太大 | 每一步跨過最低點,來回震盪甚至發散 | 上下跳動,或直接變成 NaN |
| 略大 | 下降快但停在一個較差的位置不動 | 快速下降後變成一條平的高原 |
| 剛好 | 穩定下降並收斂 | 平滑往下,後期趨緩 |
| 太小 | 收斂極慢,容易卡在局部低點或鞍點 | 幾乎水平的緩降線 |
學習率是深度學習裡影響最大的單一超參數。模型不收斂時,先調它,再調其他東西。
排程與暖身
固定學習率很少是最好的選擇。訓練初期需要大步快速接近,後期需要小步精細收斂。常見排程有:
步階衰減(step decay):每過固定輪數乘以一個係數(例如每 30 個 epoch 乘 0.1)。最直觀。
餘弦退火(cosine annealing):依餘弦曲線從初始值平滑降到接近 0。近年訓練大模型的主流選擇。
暖身(warmup):前幾百到幾千步從很小的值線性升到目標值,之後才開始衰減。目的是避免訓練最初期參數還很亂的時候,一個大步就把模型帶壞。批次大小很大或用 Transformer 架構時,暖身幾乎是必需的。
自適應最佳化器不等於不用調學習率。Adam 會依梯度歷史調整每個參數的有效步長,但全域學習率仍然要設,設錯一樣不收斂。
找起始值的實用做法:用學習率範圍測試(LR range test),讓學習率從很小指數式增加,畫出損失對學習率的曲線,取損失下降最陡那一段的值。比盲猜快得多。
情境判斷
Q1(直覺題): 訓練時損失忽上忽下,哪個設定最值得先檢查?
Q2(判斷題): 學習率設得很小,一定比較安全嗎?
常見問題
學習率太大會怎樣?
模型可能會在最佳點附近來回震盪,嚴重時還會發散。
學習率太小有什麼問題?
收斂速度會很慢,訓練很久卻沒什麼進展。
學習率要怎麼選?
通常要靠實驗,先看損失曲線和驗證集表現,再慢慢調整。