简单理解深度学习中的多种归一化方法

图源网络

  • Mini-Batch Samples (N 轴):代表一个批次中的不同样本(比如,批次里有N张不同的图片)。
  • Channels (C 轴):代表特征图的通道(比如,RGB图像有3个通道,卷积后的特征图可能有64、128个通道)。
  • Merged Spatial Dimensions (H,W 轴) :代表一张特征图的高度(H)和宽度(W)上所有的像素点。图中为了方便,把二维的 H x W 展平成了一维。

核心关键 :图中蓝色(或绿色)高亮区域 代表的是用来计算一组均值和方差的数据范围。也就是说,系统会把这个蓝色区域里所有的数值加起来求平均,再计算它们的方差。然后,用这对均值和方差去归一化这个蓝色区域内的所有数值。

现在,我们来看每一种方法:

1. Batch Normalization (BN) - "跨样本的同频道归一化"

  • 看图说话 :蓝色区域像一片"吐司"。它贯穿了整个 N 轴 ,也覆盖了整个 H,W 轴,但它在 C 轴上只占据了一个位置
  • 含义解读 :BN 为每一个通道(Channel)单独计算一对均值和方差。为了计算这个均值和方差,它会使用批次中所有样本在这个通道上的所有像素值。
  • 简单比喻:假设一个班级(Batch)的学生都在考数学(一个 Channel)。BN 就是计算全班所有学生的数学平均分和方差,然后用这个班级的统计数据来标准化每个学生的数学成绩。它对语文、英语等其他科目(其他 Channels)会分别计算各自的平均分和方差。
  • 问题:非常依赖批次大小(Batch Size)。如果批次太小(比如只有1-2个学生),算出来的平均分和方差就没什么代表性,效果会很差。

2. Layer Normalization (LN) - "单个样本的全频道归一化"

  • 看图说话 :蓝色区域像一个"平板"。它贯穿了整个 C 轴 和整个 H,W 轴,但在 N 轴上只占据了一个位置
  • 含义解读 :LN 为每一个样本(Sample)单独计算一对均值和方差。为了计算,它会使用这个样本自己的所有通道和所有像素值。它完全不关心批次里的其他样本是什么样的。
  • 简单比喻 :LN 不再看全班成绩。它只看一个学生(一个 Sample),把他自己的所有科目(所有 Channels)的成绩放在一起,计算一个他自己的"综合平均分"和方差,然后用这个"个人数据"来标准化他自己的各科成绩。每个学生都只跟自己比。
  • 优势:与批次大小无关,因此在 RNN、Transformer 以及批次大小很小的场景下表现优异。

3. Instance Normalization (IN) - "单个样本的单频道归一化"

  • 看图说话 :蓝色区域是图中最小的单位,像一根"铅笔"或"细棍"。它在 N 轴和 C 轴上都只占据了一个位置,只贯穿了 H,W 轴。
  • 含义解读 :IN 为每一个样本的每一个通道都独立计算一对均值和方差。
  • 简单比喻 :这比 LN 更极端。它只看一个学生某一门科目(比如一个学生的数学卷子),计算这张卷子所有题目得分的均值和方差。它既不看这个学生的其他科目,也不看其他学生的数学成绩。
  • 应用 :这种操作会抹除单个特征图的对比度、亮度等风格信息,但保留内容结构。因此,它在风格迁移领域是绝对的核心,用于将一张图的"风格"(由均值和方差代表)换成另一张图的风格。

4. Group Normalization (GN) - "单个样本的分组频道归一化"

  • 看图说话 :GN 像是 LN 和 IN 的折中。和 LN 一样,它在 N 轴上只占据一个位置 (只看单个样本)。但和 LN 不同,它不使用所有的 C 通道,而是将通道分成几组(Group)(图中的蓝色和绿色各代表一个组),然后在每个组内进行归一化。
  • 含义解读 :GN 为每一个样本 计算均值和方差,但是计算范围是一组通道(a group of channels)
  • 简单比喻:还是看一个学生。GN 不会把他所有的科目混在一起算平均分(像LN那样),也不会每科单独算(像IN那样)。它会把科目分成"理科组"(物理、化学)和"文科组"(历史、地理),然后分别计算"理科平均分"和"文科平均分",再用它们来标准化组内的科目成绩。
  • 优势:它是对 BN 在小批次下性能不佳问题的一个优秀解决方案。它既不完全依赖批次,又不像 LN 那样假设所有通道同等重要,是 CNN 中一个非常实用的替代方案。

总结表格

名称 归一化范围 计算均值/方差的数据池 BATCH依赖
Batch Norm 通道 整个批次,单个通道
Layer Norm 样本 单个样本,所有通道
Instance Norm 样本+通道 单个样本,单个通道
Group Norm 样本+通道组 单个样本,一组通道
维度 Batch Normalization Layer Normalization Instance Normalization Group Normalization RMSNorm
归一化维度 沿 Batch 维度 (对每个通道单独归一化) 沿 特征维度 (对每个样本单独归一化) 对每个样本的每个通道单独归一化 沿通道组维度 (对每个样本的通道分组后归一化) 沿 特征维度 (无均值中心化
计算开销 (需统计Batch维度均值/方差并同步) (需统计特征维度均值/方差) (统计量最多,但计算域小) (介于LN和IN之间) (仅统计特征维度二阶矩/RMS)
Batch依赖 (Batch Size小效果差)
优点 CNN中的标准组件,加速训练,提升泛化能力 与Batch Size无关,对RNN/Transformer等变长序列友好 完美解耦内容与风格,是风格迁移的核心 小Batch下的稳定替代方案,性能优于LN 计算高效,作为LN的轻量替代品,在LLM中广泛应用
缺点 依赖Batch Size,对动态网络不友好 计算开销相对较高,可能抑制部分模型表达能力 移除实例特有信息,不适合分类等辨别式任务 需额外设置超参数(分组数量G),性能对G敏感 无均值中心化,理论上可能损失部分信息(但实践中影响甚微)
相关推荐
艾莉丝努力练剑2 小时前
【Linux信号】Linux进程信号(上):信号产生方式和闹钟
linux·运维·服务器·c++·人工智能·ubuntu·云原生
Bonnie3732 小时前
算力基建入门-AI时代,算力为何是数字底座
人工智能·程序人生·云原生·个人开发
前端摸鱼匠2 小时前
面试题6:因果掩码(Causal Mask)在Decoder中的作用是什么?训练、推理阶段如何使用?
人工智能·ai·语言模型·自然语言处理·面试
这张生成的图像能检测吗2 小时前
(论文速读)ASFRMT:基于对抗的超特征重构元传递网络弱特征增强与谐波传动故障诊断
人工智能·深度学习·计算机视觉·故障诊断
statistican_ABin2 小时前
Python数据分析-宝马全球汽车销售数据分析(可视化分析)
大数据·人工智能·数据分析·汽车·数据可视化
ARM+FPGA+AI工业主板定制专家2 小时前
基于ARM+FPGA+AI的船舶状态智能监测系统(一)总体设计
网络·arm开发·人工智能·机器学习·fpga开发·自动驾驶
前端摸鱼匠2 小时前
面试题7:Encoder-only、Decoder-only、Encoder-Decoder三种架构的差异与适用场景?
人工智能·深度学习·ai·面试·职场和发展·架构·transformer
ryrhhhh2 小时前
矩阵跃动技术创新:GEO搜索占位+AI智能体双融合,重构企业获客链路
大数据·人工智能
no_work2 小时前
基于python的hog+svm实现混凝土裂缝目标检测
人工智能·python·目标检测·计算机视觉