Skip to content

Gradient Descent、SGD 與 Learning Rate|CMU 07-280 第 8 堂

2026年8月22日1 分鐘
TL;DRLecture 8 從一維 parabola 推到 vector gradient,再比較 batch GD、SGD 與 mini-batch;learning rate 決定更新是收斂、震盪或發散。

🌏 English version

影片狀態:已查核:官方公開頁未列對應錄影。 影片來源與說明

這是 CMU 07-280 Spring 2026 Lecture 8:Optimization。Lecture 7 的 linear regression 有 normal equation;這一講故意退回 objective 的形狀,建立沒有 closed form 時仍可使用的更新規則。它也是後面 neural networks 與 backpropagation 的直接地基。

承上問題:沒有 inverse 或 closed form 時,怎麼找 argmin

對一維 objective J(ω),minimum 右側的 derivative 通常為正,左側為負。若從任意 ω(0)出發,沿 derivative 反方向移動,就能往較低的 J 走:

ω(t) = ω(t-1) - α dJ/dω

α 是 learning rate/step size。停止條件可以是 loss 改善很小、gradient 很小、參數幾乎不動,或計算預算耗盡。這些條件不完全等價:參數不動可能是已收斂,也可能只是 step 太小。

完整概念脈絡:從 gradient 到資料抽樣

對 vector parameter θ∈R^d,所有 partial derivatives 排成 gradient ∇θJ(θ)。例如 J(θ)=θᵀv 的 gradient 是 v;J(θ)=θᵀAθ 的 gradient 是 (A+Aᵀ)θ。Vector gradient descent 更新為:

θ(t) = θ(t-1) - α ∇J(θ(t-1))

Linear regression 的 J(θ)=||y-Xθ||²有 gradient -2Xᵀy+2XᵀXθ,令它為零就回到 normal equation。一般模型沒有可解 closed form,gradient descent 仍能嘗試找低點;對非凸函數,它不保證找到 global optimum,可能停在 local minimum。

在 ERM 中,batch GD每次用全部 N 筆樣本計算 gradient,方向穩定但單次更新昂貴。SGD每次均勻隨機選一筆樣本,gradient 很 noisy,卻能快速更新。Mini-batch GD每次用介於 1 與 N 之間的 K 筆,折衷向量化效率、記憶體與 noise。

可重做的推導:四個 learning rates 的三步結果

令 J(ω)=ω²、ω(0)=1。因為 derivative 是 2ω:

ω(t) = (1-2α)ω(t-1)

三步後:

αmultiplierω(3)行為
0.250.50.125穩定靠近 0
0.500一步到 minimum
1-1-1在 ±1 間震盪
2-3-27絕對值快速發散

「gradient 指向上升最快方向」並不保證任意步長都下降。方向與距離必須一起設計。Notes 也提到可讓 αt=1/√t隨 iteration 下降,或使用更進階的 adaptive methods,但本講不展開那些演算法。

Recitation/HW 對應

Recitation 4 的 matrix-calculus 題是本講必要前置:若 ∇θJ 的 shape 算錯,更新式即使語法可跑也不是原 objective 的 gradient。Solution 從 J(θ)=(Xθ-y)ᵀ(Xθ-y)推導出 gradient 與 closed form,剛好連接 Lectures 7–8。

HW4 要求對具體 linear-regression objective 寫每個 parameter 的 partial derivative,並處理 weighted least squares。雖然作業尚未要求實作 SGD,它已經測試能否把不同 objective 轉成正確更新方向。公開 PDF 可自行重做,正式評分與回饋不公開。

延伸對照:SGD 的 noise 不是單純缺陷

Batch gradient 是整份資料的確切平均方向;SGD 是隨機估計。單一步看,後者更不穩;看單位計算成本,它能更早產生更新,也能在大型資料下持續學習。Mini-batch 不是模糊折衷,而是現代硬體上常見的計算單位。

本講只宣稱 SGD noisy but fast,沒有進一步證明 noise 改善 generalization 或一定逃離 local minima。那些效果需要額外假設與證據,不能從這份 notes 自動推出。

今晚可以做的動作

  1. 對 J(ω)=ω²手算表中的四組更新,再畫出 J 與每一步位置。
  2. 對兩筆 linear-regression 資料計算一次 batch gradient,再分別算兩個 single-sample gradients。
  3. 寫一個停止條件,並說明它可能誤判的情況。

課程影片來源

已核對 Spring 2026 官方課表:對應講次公開列出投影片、講義與練習,未列本課講次的公開錄影連結,因此本文提供教材入口,沒有對應講次播放器。課表中的 Géron/Karpathy 影片是延伸閱讀,CMU-Qatar NumPy 錄影是另列的 Recitation 0,均不能當成本文講次錄影。

官方來源:

查核日期:2026-10-10。

官方材料與讀取範圍

本文完整讀取 Optimization lecture notes、Optimization and Linear Regression pre-reading、Recitation 4與solution,並核對 HW4。官方課表未列逐講公開錄影連結。

更新紀錄

  • 2026-10-10:標註影片狀態,核對錄影來源與取得方式。
  • 2026-10-10:重查影片狀態。即時回官方課程頁與公開影音來源查證,仍未找到該講公開錄影,狀態維持不變。

參考資料