L18|加速 SGD、學習率排程與 ResNet
在 Excel 裡實驗 momentum、RMSProp、Adam 與學習率退火;在 PyTorch 實作 Cosine Annealing 和 OneCycleLR;再用殘差連接打造 ResNet,並試資料增強。
L18|加速 SGD、學習率排程與 ResNet(Accelerated SGD & ResNets)
零基礎提示
- 這一課不用額外數學
- Part 2 是大學程度:中三同學先求看懂概念,不用每行程式都會
- 字幕:離線網站選「中英」(電腦翻譯,大意正確)
- 看不懂的詞查 白話小辭典
在 Excel 裡實驗 momentum、RMSProp、Adam 與學習率退火;在 PyTorch 實作 Cosine Annealing 和 OneCycleLR;再用殘差連接打造 ResNet,並試資料增強。 (Experiment with momentum, RMSProp, Adam and learning-rate annealing in Excel; implement Cosine Annealing and OneCycleLR in PyTorch; build ResNets with residual connections and try data augmentation.)
| 項目 | 內容 |
|---|---|
| 所屬 | Part 2:Deep Learning Foundations to Stable Diffusion |
| 影片 | YouTube |
| 對應書本章節 | 無對應章節(Part 2 以 notebook 為主) |
| 原始頁面 | Lessons/lesson18 |
| 難度(F3 視角) | ★★★★★ 大學程度(F3 只求理解概念) |
影片
本課重點
- Momentum:更新方向不只看這次的梯度,也參考過去梯度的移動平均,像滾下坡的球有慣性,比較不會被雜訊帶偏。
- RMSProp 與 Adam:RMSProp 依各參數梯度大小的移動平均調整步伐;Adam 結合 momentum 和 RMSProp,是目前最常用的優化器。
- 學習率排程:訓練過程中改變學習率。Cosine Annealing 讓學習率像餘弦曲線一樣慢慢下降;OneCycleLR 先升後降,同時反向調整 momentum。
- ResNet 與殘差連接:網路加深加寬能提升能力,但太深難訓練。殘差連接讓輸出 = x + f(x),層只需學「要改多少」,很深也能訓練。用 timm 試多種 ResNet。
- 資料增強與 TTA:random erasing 隨機遮住圖片一小塊;測試時增強(TTA)再加一點準確度。Fashion-MNIST 挑戰:看大家能把準確率推到多高。
關鍵概念
| 英文術語 | 中文 | 一句話解釋 |
|---|---|---|
| Momentum | 動量 | 用過去梯度的移動平均決定更新方向 |
| RMSProp | RMSProp | 依梯度大小調整每個參數的步伐 |
| Adam | Adam 優化器 | 結合 momentum 與 RMSProp |
| Learning rate annealing | 學習率退火 | 訓練中逐步降低學習率 |
| OneCycleLR | 單週期學習率 | 學習率先升後降的排程 |
| Residual connection | 殘差連接 | 輸出 = 輸入 + 這層學到的修正 |
認識關聯圖與重點圖
練習題
- 用移動平均 m = 0.9 × m + 0.1 × g 計算:目前 m = 10,新梯度 g = 0,更新後 m 是多少?這說明 momentum 有什麼效果?
- 殘差連接把輸出寫成 x + f(x)。為什麼這樣比較容易訓練很深的網路?
- 為什麼學習率要在訓練後期變小?
- 中文學生作答:L18_中文F3學生_202611041526
- English student answers: L18_EN_F3_Student_202611041526