L03|神經網路基礎:梯度下降與 ReLU
深度學習的數學基礎:用隨機梯度下降(SGD)調整參數,以及「線性函數加上 ReLU」疊起來能逼近任何形狀。
L03|神經網路基礎:梯度下降與 ReLU(Neural net foundations)

深度學習的數學基礎:用隨機梯度下降(SGD)調整參數,以及「線性函數加上 ReLU」疊起來能逼近任何形狀。 (The maths behind deep learning: stochastic gradient descent, and how linear functions plus ReLU can fit any shape.)
| 項目 | 內容 |
|---|---|
| 所屬 | Part 1:Practical Deep Learning |
| 影片 | YouTube |
| 對應書本章節 | 第 4 章 MNIST Basics |
| 原始頁面 | Lessons/lesson3 |
| 難度(F3 視角) | ★★★☆☆ 中等 |
影片
本課重點
- 怎麼上一堂 fast.ai 的課:邊看影片邊記筆記 → 跑 notebook 並實驗 → 不看筆記重寫一次 → 換一個資料集再做一次。最好找讀書會一起學。
- 選更好的模型:Jeremy 的「Which image models are best?」比較了大量 timm 模型的準確度、速度和記憶體。先用小而快的模型迭代,再試更大的。模型檔裡存的是架構加參數。
- 擬合函數:用一個有三個參數 a、b、c 的二次函數去貼合一堆資料點。先用滑桿手動調,再發現需要一個客觀分數:均方誤差(MSE)。
- 梯度下降:PyTorch 能自動算出每個參數的梯度(斜率),告訴你參數往哪邊調、損失會下降。新參數 = 舊參數 − 學習率 × 梯度,重複執行就是梯度下降。
- 學習率:步伐太大會跳過最低點甚至發散,太小則要走很久。用一個小數字乘上梯度,慢慢往谷底走。
- ReLU 與無限彈性:ReLU 把負數變成 0、正數不變。把很多條 ReLU 加起來,可以做出任意彎曲的函數,這就是神經網路的威力。矩陣乘法讓 GPU 能一次算幾百萬個。
- 用試算表做鐵達尼號模型:在 Excel 裡把乘客資料轉成數字(虛擬變數、Fare 取 log、正規化),用矩陣乘法做線性迴歸,再把兩個 ReLU 結果相加變成神經網路,用 Solver 做梯度下降。
關鍵概念
| 英文術語 | 中文 | 一句話解釋 |
|---|---|---|
| Gradient | 梯度 | 某個參數變大一點時,損失會變化多少;就是斜率 |
| Gradient descent (SGD) | (隨機)梯度下降 | 沿著讓損失下降的方向,小步更新參數的方法 |
| Learning rate | 學習率 | 每次更新參數的步伐大小 |
| MSE | 均方誤差 | 預測值與真實值差距的平方平均 |
| ReLU | 線性整流函數 | max(0, x):負數變 0,正數照舊 |
| Matrix multiplication | 矩陣乘法 | 一次把很多組「數字×權重再相加」算完的方法 |
| Normalization | 正規化 | 把各欄數值調到相近範圍,避免大數字主導 |
| Dummy variable | 虛擬變數 | 把類別欄位(如性別)轉成 0/1 欄位 |
| timm | PyTorch 影像模型庫 | 收集了數百種預訓練影像模型的函式庫 |
認識關聯圖與重點圖
迷你範例:梯度下降一步
# 損失 L(w) = w**2,梯度 dL/dw = 2*w
w, lr = 3.0, 0.1
w = w - lr * (2 * w) # 3 - 0.1*6 = 2.4
(One step of gradient descent: w moves from 3.0 to 2.4.)
練習題
- 損失函數 L(w) = w²,目前 w = 3,學習率 0.1。算出梯度、更新一次後的 w,再更新第二次的 w。
- ReLU(x) = max(0, x)。算出 ReLU(−2)、ReLU(0)、ReLU(3)。為什麼把很多 ReLU 加起來可以做出彎曲的形狀?
- 學習率太大和太小各會發生什麼事?
- 模型預測 [2, 4],正確答案 [3, 3]。算出 MSE。
- 鐵達尼號資料中,Fare(票價)從 0 到 500 都有,Age 大約 0 到 80。為什麼要對 Fare 取 log 並正規化?
- 中文學生作答:L03_中文F3學生_202611041526
- English student answers: L03_EN_F3_Student_202611041526
資源連結
英文延伸資源(零基礎可以先略過,點開看)
Resources
- HuggingFace Spaces Pets repository
- Which image models are best?
- How does a neural net really work?
- course repository
- Kaggle
- Solutions
Links from the lesson