top of page

23 - Batch Normalization 同 Softmax 回歸


一、Batch Normalization 點解咁有用?


1.1 好似餐前洗手——層層輸出都要「標準化」

喺訓練前,我哋通常會對輸入數據做 mean=0、std=1。BatchNorm 就係將呢招推到每一層

  • 每個 mini-batch 入面,計條均值 μ 同方差 σ²。

  • 將輸出減 μ、除 σ,之後再乘 γ、加 β。

類比:跑接力,交棒前教練先幫你調好手勢同方向,下一棒就易追時間。


1.2 減少 Internal Covariate Shift(內部協變偏移)

深網絡越訓練,前面層輸出分佈會日日變。後面層好似坐過山車,難以適應。BatchNorm 將分佈固定落嚟 ⇒ 梯度更穩定,學習率可以開大。


1.3 自帶少少正則化味道

每個 mini-batch 隨機抽樣 → μ、σ 有 noise。等於對激活加咗微細擾動,好似 light 版 Dropout,略減 overfit。不過真要抗過擬合,仲係搭配 L2、Dropout。


1.4 測試期點算?

訓練時一路更新 running mean / var。推斷(evaluation)時,用呢組累積值,唔靠 batch,即使一次只輸入一張圖都得。PyTorch / TF 已自動幫你 switch,開 model.eval() 就 OK。


1.5 多啲貼地例子

  1. 煮糖水:每次撈完蓮子先過秤,確保份量一致,之後先加糖——唔怕忽甜忽淡。

  2. MTR 月台閘門:列車到站前定位,對準門口;乘客上落流暢就係 BN 效果。

  3. 食車胎雪糕:雪糕機先將奶漿混勻(標準化),每啖味道一致。


二、Softmax 回歸——多分類界嘅常客


2.1 由 Logistic 變 Softmax

  • Logistic Regression:二分天下(0/1)。

  • Softmax Regression:派對請 N 個嘉賓,人人有機率。

例子:影相 App 分「狗/貓/烏龜/刺蝟」四類。標籤 one-hot:

狗   [1 0 0 0]
貓   [0 1 0 0]
烏龜 [0 0 1 0]
刺蝟 [0 0 0 1]

最後一層有 4 個 neuron,各自 spit 出對應機率。


2.2 Softmax 函數=「軟件版 max」

ŷ_i = exp(z_i) / Σ_j exp(z_j)

特性:

  • 全部 ŷ_i ∈ (0,1),加埋 = 1。

  • 分數平滑化,可微分 ⇒ 方便反傳。

  • 當其中一個 z_i 遠高過其他,Softmax 近似硬 max,但仍保留梯度。


2.3 損失:交叉熵 Cross-Entropy

L = − Σ_j y_j · log(ŷ_j)        # 只罰錯嗰類
J = (1/m) Σ_i L_i               # 對 m 個樣本取平均

2.4 反向傳播超簡

∂L/∂z = ŷ − y

即「預測機率 − 真實 one-hot」,一行 code solve。


2.5 實際生活例子


  1. 郵局分件

    Barcode 掃描器輸出「本地 / 亞太 / 歐洲 / 其他」四條輸送帶嘅概率。

  2. 串流平台推片

    模型對「電影 / 劇集 / 動畫 / 直播」算出機率,按最高分展示封面。

  3. 中醫診斷

    望聞問切→模型輸出「熱症 / 寒症 / 虛症 / 實症」四類體質機率。


三、兩招合體示範

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.backbone = nn.Sequential(
            nn.Linear(784, 256, bias=False),
            nn.BatchNorm1d(256),
            nn.ReLU(),
            nn.Linear(256, 4)        # 4 類
        )

    def forward(self, x):
        z = self.backbone(x)
        y_hat = F.softmax(z, dim=1)
        return y_hat

Loss:

criterion = nn.CrossEntropyLoss()   # 內部已包 softmax+log

✅ 重點回顧


Batch Normalization

  1. 每層「洗手」標準化,減漂移。

  2. 令 lr 可加大,收斂快 2-4×。

  3. 帶微正則,仍需配 Dropout/L2。

  4. 推斷靠 running mean/var,自動搞掂。


Softmax 回歸

  1. Logistic 二分類嘅多類版。

  2. Softmax 把 logits→機率,交叉熵做損失。

  3. 反傳只係 ŷ−y,實作超簡。

  4. 廣泛應用於影像、NLP、多 Label 任務。

有咗 BatchNorm 呢位「接力教練」同 Softmax 呢個「機率分配器」,你嘅深度模型就可以又快又穩噴住跑!🏃‍♂️💨

翱翔醫療 (2).png

Tsim Sha Tsui H Zentre Clinic

Suite 813, 8/F, H Zentre

15 Middle Road, TST

Phone: 28133700

​Whatsapp:+852 95096276

Central Printing House Clinic

Room 303A & 305,

3/F, Printing House,

6 Duddell Street, Central

Phone: 28716733 / 28716788

Whatsapp:+852 62084539

TKO Maritime Bay Clinic

UG18, UG/F,

Maritime Bay Shopping Centre
Hang Hau, Tseung Kwan O
Tel: 98852916; Whatsapp: 98852916

​Phone:98852916

Whatsapp:+852 98852916

Mong Kok T.O.P. Clinic

Room 2001, 20/F,
700 Nathan Road, Mong Kok

​(Going above from the the 3/F elevator of T.O.P. Mall)

Phone:28710277

Whatsapp:+852 98893911

bottom of page