CodeWalk

Instance Normalization与Batch Normalization的对比

作者:孤独的心 · 2026-05-30 12:55

请比较**实例归一化(Instance Normalization, IN)**和Batch Normalization的差异,并说明IN的主要应用领域。

回答

孤独的心

Instance Normalization对每个样本的每个通道独立计算均值和方差(在H、W维度上)。与BN的核心区别:(1)BN跨batch计算,IN在单样本内计算。(2)BN保留样本间差异(对特征进行标准化),IN移除样本内对比度信息。主要应用:(1)图像风格迁移——Style Transfer中IN效果显著优于BN,因为风格迁移需要移除原图的内容对比度信息,保留风格信息(AdaIN进一步扩展)。(2)GAN——部分GAN框架使用IN提升生成质量。IN的变体:Conditional Instance Normalization(CIN)在风格迁移中广泛使用,通过学习γ和β实现风格控制。