詳細解釋
層正規化(Layer Normalization)是對單個樣本的所有特徵進行正規化的技術,與批次正規化不同,適合序列模型和循環網絡。
與批次正規化的對比:
- Batch Norm:跨批次樣本,同通道
- Layer Norm:單樣本內,跨特徵
- 關鍵區別:LN不依賴批次大小,適合變長序列
數學操作:
- 計算樣本特徵均值μ和方差σ²
- 正規化:x̂ = (x - μ) / √(σ² + ε)
- 縮放平移:y = γx̂ + β
- γ和β是可學習參數(每特徵一個)
為何適合Transformer:
- 序列長度變化:不同樣本長度不同
- 自回歸生成:推理時無法計算批次統計
- 穩定性:不依賴批次組成
- 分布式訓練:無需跨設備同步
位置:
- Transformer:通常是Pre-LN(子層輸入)或Post-LN(子層輸出)
- Pre-LN:更穩定,現代模型常用
- Post-LN:原始Transformer設計
RNN/LSTM中的應用:
- 每時間步獨立正規化
- 解決RNN的內部狀態漂移
- 加速訓練和穩定梯度
變體:
- RMSNorm:去除均值中心化,只保留縮放
- 更簡單,在某些模型中效果更好
- LLaMA等模型使用
應用:
- Transformer:GPT、BERT、T5等的標準組件
- RNN/LSTM:現代實現常用LN
- 語音識別:深層聲學模型
- 強化學習:策略網絡的穩定訓練
與其他技術:
- 批次正規化 (Batch Norm / BN):CNN的標準選擇
- LayerNorm:序列模型的標準選擇
- 選擇取決於數據類型和任務
重要性:
- Transformer成功的關鍵組件之一
- 穩定深度網絡訓練
- 現代架構的標準實踐
層正規化是序列建模和Transformer的標準技術。