訓練與最佳化

層正規化

批次正規化在批次中的各樣本上標準化每個特徵,這把每個樣本的處理綁在它的同批夥伴上,並在批次極小或不存在時失靈。層正規化(Ba、Kiros 與 Hinton,2016)做了相反的切法:它在單一樣本內部跨特徵標準化,獨立於其它每個樣本。把一張影像的激活值想成一列數字——LayerNorm 單獨把這一列重新縮放成零均值、單位變異數,完全不參照任何其它影像。這使它完全與批次無關:無論批次有一個樣本還是一千個都表現相同,訓練與推論時也相同。

形式上,對一個維度為 d 的特徵向量 x(單一樣本),LayerNorm 在那 d 個特徵上計算平均 μ 與變異數 σ²,正規化 x̂ = (x − μ) / √(σ² + ε),再施加可學習的縮放 γ 與平移 β(各維度皆 d)得到 y = γ ⊙ x̂ + β,其中 ⊙ 是逐元素相乘。平均與變異數是在該單一 token 或位置的特徵維度上計算,因此統計量從不跨越樣本——這正是它對小批次與變長序列穩健的性質。

這種與批次無關的特性,正是層正規化成為 transformer 標準正規化器的原因,因而也用於視覺 transformer(ViT)、DETR、CLIP 的文字與影像編碼器,以及多數現代多模態模型。transformer 處理數量不一的 token 集合,每張裝置上常是極小的有效批次,正是批次正規化吃力的情境。一個實務細節是放置位置:「Post-LN」(在殘差相加之後正規化,如原始 transformer)在深層時訓練可能不穩,需要小心的暖身;而「Pre-LN」(在注意力或 MLP 之前正規化每個子層的輸入)給出穩定得多的梯度,如今是深層視覺與語言 transformer 的預設。

一個廣為使用的簡化是 RMSNorm,它捨去減均值與偏置 β,只除以特徵的均方根,y = γ ⊙ x / RMS(x)。它更便宜,經驗上效果大致相當,如今出現在許多大型模型中。更廣的重點是:BN、LN、GroupNorm 與 InstanceNorm 其實是同一套配方——先正規化、再學一個縮放與平移——差別只在於它們在哪些軸上匯總統計量,你依據架構與批次情境在它們之間選擇。

在 ViT 中,每個影像區塊變成一個例如 768 維特徵的 token 向量。LayerNorm 對每個區塊各自標準化那 768 個數字——所以 1 個區塊的批次與 256 個區塊的批次被正規化得一模一樣,這正是注意力層所需要的。

又称
LayerNormLN