层归一化 (LN) vs 批归一化 (BN)
层归一化 (Layer Normalization, LN) 和 批归一化 (Batch Normalization, BN) 是深度学习中两种最常用的归一化技术。它们的核心目的都是为了解决 "内部协变量偏移" (Internal Covariate Shift) 问题,从而加速模型收敛并提高训练稳定性。
简单来说,它们的区别在于 "归一化的维度" 不同。
1. 核心概念对比
为了直观理解,假设我们的输入数据是一个形状为 的张量(常见于图像处理),其中:
- : 样本数量 (Batch Size)
- : 通道数 (Channel/Feature)
- : 特征图的高和宽
批归一化 (Batch Normalization - BN)
- 方向: "纵向"切。
- 操作: 对 同一个通道 (Channel),利用 整个 Batch 的数据计算均值和方差。
- 直觉: 假设你在分析一个班级的考试成绩。BN 就像是把全班同学的"数学成绩"拿出来进行标准化,然后再把"英语成绩"拿出来标准化。它看重的是不同样本在同一特征上的分布。
- 适用场景: 计算机视觉 (CNN)。