L17|權重初始化與正規化(Initialization/normalization)

零基礎提示

  • 先讀 數學補充:§6 標準化
  • Part 2 是大學程度:中三同學先求看懂概念,不用每行程式都會
  • 字幕:離線網站有 YouTube 中文字幕,選「中英」
  • 看不懂的詞查 白話小辭典

為什麼每層的輸出要保持平均 0、標準差 1:介紹 Glorot/Kaiming 初始化、廣義 ReLU、LSUV、LayerNorm 與 BatchNorm,並實驗優化器與批次大小。 (Why each layer's outputs should keep mean 0 and standard deviation 1: Glorot/Kaiming init, Generalized ReLU, LSUV, LayerNorm and BatchNorm, plus experiments with optimizers and batch sizes.)

項目內容
所屬Part 2:Deep Learning Foundations to Stable Diffusion
影片YouTube
對應書本章節無對應章節(Part 2 以 notebook 為主)
原始頁面Lessons/lesson17
難度(F3 視角)★★★★★ 大學程度(F3 只求理解概念)

影片

本課重點

  1. miniai 更新:加入 HooksCallback 和 ActivationStats,更方便視覺化每層的激活值。
  2. 平均 0、標準差 1:訊號經過很多層後若越乘越大會爆炸,越乘越小會消失。好的初始化讓每層輸出維持在平均 0、標準差 1 附近。
  3. 初始化方法:Glorot(Xavier)初始化依輸入數量縮放權重;Kaiming(He)初始化考慮 ReLU 會砍掉一半,多乘 √2。順便複習變異數、標準差與共變異數。
  4. 廣義 ReLU 與 LSUV:自製 GeneralRelu(可平移、可設上限);LSUV 逐層實際跑一批資料,再調整權重讓輸出變異數為 1,適用任何網路。
  5. 正規化層:LayerNorm 與 BatchNorm 在訓練中持續把激活值調回標準範圍;也提到 InstanceNorm、GroupNorm。最後比較加速 SGD、RMSProp、Adam。

關鍵概念

英文術語中文一句話解釋
Initialization初始化訓練開始前權重的設定方式
Glorot / Xavier initGlorot 初始化依輸入(與輸出)數量縮放權重
Kaiming / He initKaiming 初始化為 ReLU 設計,標準差為 √(2 ÷ 輸入數)
Variance變異數與平均差距平方的平均
LSUV逐層單位變異數實際跑資料後逐層調整,讓輸出變異數為 1
BatchNorm / LayerNorm批次/層正規化訓練時把激活值調回平均 0、標準差 1

認識關聯圖與重點圖

L17_關聯圖_202611041526

練習題

  1. 一層有 100 個輸入。用簡化版「1 ÷ √n_in」初始化,權重標準差是多少?用 Kaiming「√(2 ÷ n_in)」呢?
  2. 如果每一層都把訊號放大 1.5 倍,經過 20 層後大約放大多少倍?這說明了什麼?
  3. BatchNorm 解決了什麼問題?

資源連結

英文延伸資源(零基礎可以先略過,點開看)

相關筆記

Built with LogoFlowershow