隨機梯度下降(Stochastic Gradient Descent)是什麼?

隨機梯度下降(SGD)是一種迭代優化算法,用於最小化目標函數。它每次迭代僅使用一個或少量樣本計算梯度,加速訓練過程,但可能導致收斂不穩定。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Stochastic Gradient Descent
主題標籤
機器學習、深度學習、模型訓練
考點定位
非 iPAS 核心術語
最後更新
2026/07/29
隨機梯度下降(Stochastic Gradient Descent)是什麼? 機器學習深度學習
術語快查

搜尋意圖: 如果你在找「隨機梯度下降 是什麼」或「隨機梯度下降 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 隨機梯度下降(SGD)是一種迭代優化算法,用於最小化目標函數。它每次迭代僅使用一個或少量樣本計算梯度,加速訓練過程,但可能導致收斂不穩定。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

你有沒有想過,模型到底是怎麼學會、怎麼驗收、怎麼慢慢變準的?

你可以把它想成先看答案,再用誤差修正模型。 隨機梯度下降 的重點是 隨機梯度下降(SGD)是一種迭代優化算法,用於最小化目標函數。它每次迭代僅使用一個或少量樣本計算梯度,加速訓練過程,但可能導致收斂不穩定。 它重要,是因為學習速度、穩定度和泛化能力,會決定模型最後能不能上線。

容易混淆

隨機梯度下降 vs 梯度下降 隨機梯度下降:偏向 讓模型學習、更新與驗收 梯度下降:偏向 更完整的梯度下降家族 最關鍵的區別:隨機梯度下降看的是「讓模型學習、更新與驗收」,梯度下降看的是「更完整的梯度下降家族」。

隨機梯度下降 vs 學習率 隨機梯度下降:偏向 讓模型學習、更新與驗收 學習率:偏向 更新步伐的大小設定 最關鍵的區別:隨機梯度下降看的是「讓模型學習、更新與驗收」,學習率看的是「更新步伐的大小設定」。

記住這句就好

有答案、會更新、看泛化。

實際案例

案例:用標答案資料訓練垃圾郵件分類器 訓練時看標籤,部署時只看新郵件內容

案例:先保留一批沒看過的資料來驗收模型 這樣才能知道它是真的會做,還是只會背題

算法與應用

先看資料,再更新參數,最後看驗證或測試表現 學習率、批次大小和損失函數,常一起決定收斂速度 重點不是背熟訓練集,而是遇到新資料也能做對

三種梯度下降的比較

梯度下降的更新規則都一樣:

θ ← θ − η × ∇J(θ)

θ 是參數,η 是學習率,∇J(θ) 是損失函數對參數的梯度。差別只在「這個梯度是用多少筆資料算出來的」。

方法 每次更新用幾筆 每步成本 梯度品質 實務地位
全批次(BGD) 全部 極高 精確 資料量大時不可行
隨機(純 SGD) 1 筆 極低 雜訊很大 幾乎不用
小批次 32 到 512 適中 夠好 深度學習的標準做法

現在文獻與框架裡寫 SGD,指的幾乎都是小批次版本。純粹一次一筆的做法無法利用 GPU 的平行能力,實際上比小批次還慢。

雜訊是缺點也是優點

用少量資料估出來的梯度方向不準,所以 SGD 的下降路徑是抖的,不像全批次那樣平滑。這看起來是缺點,但它帶來兩個好處。

能跳出不好的局部最小值與鞍點。 高維空間裡真正的局部最小值其實不多,麻煩的是鞍點:梯度接近 0 但不是最小值。全批次梯度下降到了鞍點就卡住,SGD 的雜訊會把它推出去。

偏好平坦的極小值。 雜訊讓參數待不住尖銳的谷底,最後停在較平坦的區域,而平坦通常對應較好的泛化。

常見的改良

動量(Momentum)。 把過去的更新方向累積起來,像滾下坡的球。能加速在一致方向上的前進,也能抑制來回震盪。

Nesterov 動量。 先按動量往前看一步再算梯度,修正得更準一點。

Adam。 同時做兩件事:對每個參數各自調整學習率(依梯度平方的移動平均),並加上動量。收斂快、對學習率不那麼敏感,是現在的預設選擇。

但 SGD 加動量沒有被淘汰。 在影像分類這類任務上,仔細調過的 SGD 加動量最終泛化常常比 Adam 好一點,所以追求極致成績的訓練設定仍然會用它。實務建議是:先用 Adam 把東西跑起來,需要最後那幾個百分點時再試 SGD 加動量並配合學習率排程。

情境判斷

Q1(直覺題): 資料很多又想先跑起來,這類方法適不適合? → 適合,尤其是你已經有標答案資料,想先做一版可用模型時。

Q2(判斷題): 資料很少但每一步都要很穩,這類方法一定是最佳解嗎? → 看情況,資料少時通常還要配合正則化、驗證策略或其他方法,不能只靠同一招。

常見問題

這類方法什麼時候最值得用?

當你有標答案資料,而且想要穩定做預測、分類或評估時,最值得用。

什麼情況下要先換方法,不要硬調參?

如果資料太少、標籤品質很差,或任務本身不適合這種學習方式,先換策略通常更有效。

它和盲目背題有什麼不同?

好方法追求泛化,不是把訓練資料背熟;一旦新資料出現,還能不能做對才是重點。