Zubnet AI學習Wiki › Normalization
訓練

Normalization

別名:LayerNorm、RMSNorm、BatchNorm
透過將流經網路的數值正規化為一致的尺度來穩定神經網路訓練的技術。層正規化(LayerNorm)在每個樣本的特徵維度上進行正規化。RMSNorm 是其簡化變體。批次正規化(BatchNorm)在批次維度上進行正規化。每個 Transformer 都在層之間使用某種形式的正規化。

為什麼重要

沒有正規化,深度網路極難訓練——啟動值可能在各層之間爆炸或消失,使梯度下降變得不穩定。正規化是那些不起眼但絕對必要的技術之一:從任何現代架構中移除它,訓練就會崩潰。

深度解析

LayerNorm(Ba 等人,2016 年)計算單一訓練樣本中所有啟動值的均值和方差,將它們正規化為零均值和單位方差,然後應用可學習的縮放和偏移參數。這確保無論輸入幅度如何,每一層都接收具有一致分布的輸入。它是 Transformer 的標準。

RMSNorm:現代預設選擇

RMSNorm(Zhang & Sennrich,2019 年)透過移除均值中心化、僅按均方根進行正規化來簡化 LayerNorm:x / sqrt(mean(x²))。這在計算上更便宜(不需要計算均值來中心化),且表現相當。LLaMA、Mistral 和大多數現代 LLM 使用 RMSNorm 而非 LayerNorm。

前正規化 vs. 後正規化

原始 Transformer 將正規化放在注意力/前饋區塊之後(後正規化)。現代架構幾乎普遍使用前正規化:在將輸入傳入區塊之前進行正規化,然後加上殘差。前正規化在訓練期間(尤其是大規模訓練時)更穩定,且允許在沒有學習率預熱的情況下進行訓練。這個看似微小的架構選擇對訓練穩定性有重大影響。

相關概念

← 所有術語
← Model Serving NVIDIA →
ESC