# Summary # Cues ## 神经网络中常用的归一化方法 | 方法 | 全称 | 归一化维度 | 计算公式 | 主要应用场景 | 优点 | 缺点 | | ----------- | ---------------------- | --------- | ---------------------------------------------------------------- | --------------------- | ---------------------------------------- | ------------------------------------------ | | **BN** | Batch Normalization | Batch维度 | $\hat{x} = \frac{x - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}$ | CNN, 全连接层 | • 加速收敛<br>• 允许更大学习率<br>• 减少梯度消失 | • 依赖batch size<br>• 训练/测试行为不一致<br>• 不适合RNN | | **IN** | Instance Normalization | HW维度 | $\hat{x} = \frac{x - \mu_{HW}}{\sqrt{\sigma_{HW}^2 + \epsilon}}$ | 风格迁移, GAN | • 保留实例特征<br>• 适合图像生成任务 | • 丢失全局信息<br>• 不适合分类任务 | | **GN** | Group Normalization | Group维度 | $\hat{x} = \frac{x - \mu_G}{\sqrt{\sigma_G^2 + \epsilon}}$ | 小batch训练, 检测 | • 不受batch size影响<br>• 性能稳定 | • 需要调整group数<br>• 略逊于大batch BN | | **WN** | Weight Normalization | 权重向量 | $w = g \cdot \frac{v}{\|v\|}$ | 各种网络 | • 计算简单<br>• 重参数化 | • 效果不如BN<br>• 需要数据依赖初始化 | | **SN** | Spectral Normalization | 权重矩阵 | $W_{SN} = \frac{W}{\sigma(W)}$ | GAN判别器 | • 稳定GAN训练<br>• 控制Lipschitz常数 | • 计算谱范数开销大<br>• 主要用于GAN | | **LN** | Layer Normalization | Feature维度 | $\hat{x} = \frac{x - \mu_L}{\sqrt{\sigma_L^2 + \epsilon}}$ | RNN, Transformer, NLP | • 不依赖batch size<br>• 适合序列模型<br>• 训练/测试一致 | • 对CNN效果不如BN<br>• 计算稍慢 | | **RMSNorm** | Root Mean Square Norm | Feature维度 | $\hat{x} = \frac{x}{\text{RMS}(x)} \cdot \gamma$ | 大型语言模型 | • 计算更简单<br>• 与LN效果相当 | • 相对较新<br>• 应用场景有限 | ## 不同归一化方法的可视化理解 ```python # 假设输入张量形状: [N, C, H, W] # N: Batch size # C: Channels # H, W: Height, Width # Batch Norm: 沿着 N 维度计算统计量 # 对每个通道独立归一化 BN: [N, C, H, W] → 计算每个C的统计量 # Layer Norm: 沿着 C,H,W 维度计算统计量 # 对每个样本独立归一化 LN: [N, C, H, W] → 计算每个N的统计量 # Instance Norm: 沿着 H,W 维度计算统计量 # 对每个样本的每个通道独立归一化 IN: [N, C, H, W] → 计算每个(N,C)的统计量 # Group Norm: 将C分组,沿着 Group,H,W 维度计算 # 在BN和LN之间的折中方案 GN: [N, C, H, W] → C分成G组 → 计算每个(N,G)的统计量 ``` ## 选择建议 | 场景 | 推荐方法 | 原因 | | ------------ | ------------- | -------------- | | CNN + 大batch | Batch Norm | 效果最好,广泛验证 | | CNN + 小batch | Group Norm | 不受batch size影响 | | RNN/LSTM | Layer Norm | 适合序列数据 | | Transformer | Layer Norm | 标准配置 | | 图像风格迁移 | Instance Norm | 保留风格信息 | | GAN生成器 | Instance Norm | 生成质量好 | | GAN判别器 | Spectral Norm | 训练稳定 | | 超大模型 | RMSNorm | 计算效率高 | # Notes