深度學習中的正規化 (Regularization)
這段語音主要講解了深度學習中正規化 (Regularization) 的概念、策略與方法,大致對應於提供的 PDF 簡報 (Chapter 7)。以下是重點摘要:
1. 正規化的目標與概念
目標 (約 [ 2m21s ] - [ 2m59s ], PPT P.2-3): 降低泛化誤差 (Generalization Error),即模型在未見過的測試數據上的誤差,避免過擬合 (Overfitting)。
核心思想 (PPT P.3): 在偏差 (Bias) 和方差 (Variance) 之間取得平衡,通常透過增加少量偏差來顯著降低方差。
2. 正規化策略概覽
主要策略分類 (約 [ 3m3s ] - [ 3m30s ], PPT P.4):
對模型參數施加約束 (Constraints)。
在目標函數中加入懲罰項 (Penalties)。
使用集成方法 (Ensemble methods)。
設計理念 (約 [ 3m42s ] - [ 4m10s ], PPT P.5-6):
奧坎剃刀原理: 偏好更簡單的模型。
編碼先驗知識: 將關於參數的先驗 belief(如參數值應較小)加入模型 (MAP 觀點)。
處理欠定問題: 使原本不可逆的問題變得可解 (well-posed)。
3. 主要正規化方法詳解
參數範數懲罰 (Parameter Norm Penalties) (約 [ 8m53s ] 開始):
通用形式 (PPT P.7): \tilde{J}(\theta;X,y)=J(\theta;X,y)+\alpha\Omega(\theta)。
通常只對權重 (Weights) 作用 (PPT P.8)。
L2 正規化 (Weight Decay) (約 [ 9m20s ] 提及 "L2", [ 10m3s ] - [ 12m9s ] 分析, PPT P.11-15):
懲罰項 \frac{1}{2} ||w||_2^2。
效果是權重衰減,將權重推向原點 (但不為零)。
對應高斯先驗。
透過二次近似分析,L2 會根據 Hessian 特徵值縮放權重。
L1 正規化 (約 [ 9m20s ] 提及 "L1", [ 12m9s ] - [ 13m15s ] 分析, PPT P.16-19):
懲罰項 ||w||_1。
梯度 \alpha \cdot sign(w)。
產生稀疏解 (許多權重變為 0),可用於特徵選擇 (PPT P.17, P.21)。
對應拉普拉斯先驗 (PPT P.20)。
視覺化比較 (約 [ 14m5s ] - [ 15m22s ], PPT P.18): L2 解在圓上,L1 解在座標軸上。
將正規化視為約束 (Constraints) (約 [ 13m16s ] - [ 13m55s ], PPT P.22-24):
帶懲罰項的優化等價於帶約束的優化。
透過拉格朗日乘子法關聯。
數據集增強 (Dataset Augmentation) (約 [ 15m13s ] 附近提及, PPT P.25):
透過變換數據擴充訓練集,非常有效。
噪聲注入 (Noise Injection) (約 [ 16m2s ] 開始, PPT P.26):
可在輸入、權重、輸出等環節加入噪聲。
Dropout 是對隱藏層輸出加噪聲的例子。
多任務學習 (Multi-Task Learning) (約 [ 16m42s ] 開始, PPT P.27):
共享底層表示同時學習多任務,提升泛化。
參數共享與綁定 (Parameter Tying and Sharing) (約 [ 17m4s ] 開始, PPT P.28):
綁定 (Tying): 強制參數相等 (硬約束),如 CNN 權重共享。
共享 (Sharing): 鼓勵參數接近 (軟約束)。
集成方法 (Ensemble Methods) (約 [ 18m25s ] 開始, PPT P.29):
訓練多模型並結合預測 (如 Bagging)。
Dropout 詳解 (約 [ 19m18s ] 開始, PPT P.29-30):
隨機失活神經元。
可視為訓練子網路集成。
測試時需權重縮放 (Weight scaling)。
提前終止 (Early Stopping) (約 [ 21m23s ] 開始, PPT P.31-39):
監控驗證集誤差,在其不再下降時停止訓練。
常用且有效,效果類似 L2 正規化。
討論了相關演算法細節。
對抗樣本與訓練 (Adversarial Examples & Training) (約 [ 23m0s ] 附近提及, PPT P.40):
對輸入微小擾動導致模型出錯。
對抗訓練可提高魯棒性。
4. 額外討論 (約 [ 32m20s ] 開始)
這部分似乎跳轉到了另一個實作相關的討論,提到了如何設定 Data dir、batch size,以及如何執行一個特定的程式碼 (可能與 GAN 或其他生成模型相關,提到了 ProGAN 和圖片轉換問題),並分享了尋找解決方案的過程,包括查看程式碼細節和註解。這部分與前面正規化的理論內容關聯性較低。