第 14 题:批归一化(BN)在推荐稀疏特征中的陷阱,为什么 Layer Norm 更常用?
题目
批归一化(BN)在推荐稀疏特征中的陷阱,为什么Layer Norm更常用?
完整讲解
一、BN 的做法与假设
BN 对每个特征维度在 batch 内做均值为 0、方差为 1 的标准化,再 scale & shift。依赖「同一特征在 batch 内有多样本」才有稳定均值和方差。
二、推荐里稀疏特征的陷阱
- 稀疏性:大量 ID 特征 one-hot/embedding,batch 内很多样本在该维度为 0,或只有少数非零;batch 统计不稳定(方差可能接近 0、均值偏 0),BN 除方差时易数值爆炸或梯度异常。
- batch 内分布:推荐 batch 常按点击/曝光采样,同一 batch 内用户或物品分布偏斜,batch 统计 ≠ 全局分布,推理时用 moving average 的全局统计与训练时分布不一致,泛化差。
- 变长与缺失:序列/多值特征长度不一,BN 在「特征维度」上做不自然;且缺失、padding 会污染 batch 统计。
三、为什么 Layer Norm 更常用
- LN:对每个样本在其特征维度上做均值为 0、方差为 1,不依赖 batch 内其他样本。
- 优点:不依赖 batch 统计,无 batch 内稀疏与分布问题;对变长、缺失更友好;推理与训练一致。Transformer、推荐 Deep 部分多用 LN。
- 推荐实践:稠密 MLP 用 LN(或不用 norm);Embedding 后、concat 后也可用 LN;避免在稀疏 ID 特征上直接用 BN。
面试要点
- BN 依赖 batch 内同一特征的统计;推荐稀疏导致 batch 统计不稳定、分布偏、推理不一致。
- LN 按样本、按特征维度归一化,不依赖 batch,适合稀疏与变长;推荐多用 LN。
记忆要点
- BN 陷阱:稀疏→batch 统计不稳;batch 分布≠全局→推理漂移;变长/缺失难处理。
- 推荐用 LN:样本内归一化,与 batch 无关,稳定且与 Transformer 一致。