在一间绘画工作室里,住着一位严谨的色彩校准师——老白。每天学徒们交上画作,老白会等收齐一批后,把这批画看作一个整体,算出一个“平均色调”,再把每幅画都往这个平均色调上“拉一拉”,让整批画明暗统一。这就是批量归一化(BatchNorm)的思路。可问题来了:如果某天工作室只画出一幅画,平均色调就成了这幅画自己的颜色,校准瞬间失去意义。深度学习训练中,显存有限导致 batch size 只有 1 或 2 时,BatchNorm 也会遇到同样的尴尬。 后来,老白发现莫奈的睡莲和梵高的星空各有各的色彩灵魂,“全班平均”式校准反而抹掉了艺术个性。于是他改变策略:每幅画单独校准自己的色彩平衡,保留画面独有的明暗与色调——这就是实例归一化(InstanceNorm)。再后来,他又发明了分区校准:把一幅画分成天空、水面、人物几个区,分别调整各区明暗,既不依赖其他画,又能利用画内更多信息——这就是分组归一化(GroupNorm)。这篇文章将带小白读者认识 IN 与 GN 这两位“校准师”:它们的原理公式、风格迁移和小 batch 训练中的实战用法,以及调参时容易踩的坑。
掌握 IN 与 GN 的适用边界,能帮你在图像生成任务中得到风格更稳定、效果更惊艳的模型;在显存受限或 batch 极小的场景下让网络依然稳健训练,是深度学习工程师调参工具箱中的必备技能。
目录
可视化演示
展示Instance Normalization按实例通道归一化用于风格迁移、Group Normalization分组归一化适用小batch场景、以及BN/IN/GN三种方法的归一化维度对比。
本节配有交互动效(进入视口后自动加载,约 3KB)。
Instance Norm:按实例按通道独立归一化 每个实例的每个通道独立计算均值方差 消除实例间的风格对比度差异 y = γ(x-μ)/σ + β, μ,σ per (N,C) IN保持内容结构,剥离风格信息。
归一化溯源:从班级成绩到批量归一化
在一个周末的补课班里,五个孩子的数学成绩分别是 45、80、15、60、90 分。老师没有直接念分数,而是先算出全班平均分和标准差,再给每个分数换算成“标准分”,这样无论题目难易,成绩都能横向比较。归一化在神经网络里做的事与此同构:把某一层的输出统一拉成均值为 0、方差为 1 的分布,避免不同层输出数值忽大忽小,让梯度传播更顺畅。
深度学习中最常用的批量归一化(BatchNorm,简称 BN)就把“全班”当成一个小批量。假设某层输出是形状为 (N, C, H, W) 的四维张量,N 是样本数,C 是通道数,H 与 W 是特征图尺寸。BN 对每个通道,跨 N 个样本和所有空间位置统计均值与方差,再做标准化:
回到补课班,γ 和 β 就像老师给学生开的“修正分”。班级人数越少,平均分越不可靠;当 batch size 等于 1 时,批量统计只剩下自己,均值就是 x 本身、方差为 0,归一化瞬间失去意义。画室里的老白由此意识到:必须找到一种不依赖“同班同学”的校准方式。
- 求批量均值对每个通道 c,把所有 N 个样本、所有 H×W 个空间位置的元素放在一起求平均,得到该通道的“班级平均分”。
- 求批量方差衡量这些元素围绕均值波动的剧烈程度,波动越大说明这一层输出越“参差不齐”。
- 标准化减去均值、除以标准差,把分布拉回均值为 0、方差为 1 的“标准分”尺度;ε 是极小正数,防止分母为零。
- 缩放平移再乘以可学习的 γ 和 β,让网络能“撤销”标准化带来的限制,保留原始表达能力。
实例归一化IN:每幅画单独调色
画室里有两位画家:林岚的油画用色浓郁,周放的素描只有灰阶。老白若用一套“全班平均”的标准去校准所有画,浓郁的和灰阶的都会被搅成没有特点的灰色。于是他改变策略:对每幅画单独校准自身的色彩平衡——只统计这一幅画自身的明暗分布,压暗亮部、提亮暗部。这样一来,每幅画都保住了自己独特的色调和情绪。
这就是实例归一化(InstanceNorm,简称 IN)的核心:不再像 BN 那样跨样本统计,而是把每个样本单独拎出来,在它的每个通道上分别计算均值和方差。这里“通道”可以理解为画面中的不同颜色层,比如 R、G、B 三层,每层代表画面的一种属性。对于形状为 (N, C, H, W) 的特征张量,IN 对第 n 个样本、第 c 个通道的 H×W 个像素做统计并归一化:
因为 IN 的统计量对每幅画、每个颜色层都是“专属定制”的,画面的构图和对比度被重新校准,却又不会受到其他画风格的干扰。这正是风格迁移需要的“免疫屏障”:内容画和风格画无论怎么配对,各自的统计特征都不会互相污染——每幅画都保留着自己的灵魂。
- 锁定样本与通道x 的下标 n、c、h、w 分别表示第几幅画、第几个颜色层、以及层上的横纵坐标;IN 的一切统计都围绕 (n, c) 这个“小抽屉”展开。
- 单通道均值只对当前样本当前通道的空间位置求平均,不掺入其他画、其他颜色层的信息。
- 单通道方差刻画这个颜色层内部的明暗对比强度,对比越强烈,方差越大。
- 标准化与仿射每个样本每个通道独立标准化,再逐通道乘 γ、加 β,让模型保留调节饱和度的能力。
风格迁移应用:洗白再上色
假设你想把莫奈《睡莲》的色彩风格迁移到自己拍的照片上——构图仍是你的,色彩却变成睡莲的蓝绿光影。老白的做法很直接:先把照片的内容特征“洗白”成中性状态,再用睡莲特征的色调重新上色。前半步是 IN 的工作,后半步则需要风格特征的统计量,二者结合就是自适应实例归一化(Adaptive Instance Normalization,简称 AdaIN)。
风格迁移任务需要网络分别编码内容特征与风格特征。内容特征代表“画了什么”,比如人像轮廓、建筑结构;风格特征代表“怎么画的”,比如笔触粗细、用色冷暖。卷积网络提取的深层特征中,风格信息的主要载体正是通道级统计分布——这正是 IN 操作的对象。AdaIN 把标准 IN 中固定的 γ 和 β,替换成风格特征自身的均值和方差:
老白把这个过程称为“洗白再上色”:一幅白描画被拿到睡莲下,先洗掉自身颜色,再按睡莲的色彩分布整体上色。关键在于所有操作都只针对单张图、单独通道进行,不向 batch 里的其他画“借颜色”——这正是生成结果风格干净、稳定的根源。
- 内容特征标准化对内容特征按单样本单通道统计均值 μ(x) 与标准差 σ(x),并做标准化,这一步抹掉了内容画原有的色彩分布,只保留构图“骨架”。
- 提取风格统计量对风格特征计算同样的通道级均值与标准差,这两个统计量就是“风格”的数学化身。
- 风格缩放用风格特征的标准差给已标准化的内容特征按通道重新缩放,相当于给画面换上睡莲的“明暗对比度”。
- 风格偏移再加上风格特征的均值,完成色彩整体平移,形成最终迁移特征 t。
分组归一化GN:分区校准
老白的画室里,有时一整天只送来一幅画,他不能再依赖“全班平均”。但他有自己的办法:把一幅画分成几个区域——天空、远山、近湖——在每一个区域内单独校准明暗。这种“分区校准”既能保留局部特征,又完全不依赖其他画的存在。GroupNorm(GN)的“分区”由通道分组构成:特征张量有 C 个通道,把它们均分成 G 组,每组包含 C/G 个通道。
统计均值与方差时,GN 只在单个样本的单个分组内部进行,因此 batch size 无论多小,统计都不会像 BN 那样退化成“自己对自己”。对小 batch 训练来说,GN 就像老白的便携调色盘——你永远不知道今天会有几幅画送过来,但只要打开画箱,他就能在任何一组颜色上单独校准,来了几幅画都与他无关。
分区校准的好处是“各管各的”:天空暗一点不影响湖面的对比度。同时,因为组内包含多个通道的信息,GN 的统计量比 IN 更稳健——既有 IN 不依赖 batch 的定力,又有比 IN 更全局的视野。
- 通道分组索引把第 n 个样本的 C 个通道均分成 G 组,第 g 组含 C/G 个通道,先确定每个元素属于哪个组。
- 组内均值在单样本的第 g 组内,跨 C/G 个通道与全部 H×W 空间位置求平均。
- 组内方差衡量该组内元素围绕均值的波动,组内元素越多,统计越可靠。
- 标准化与仿射在组内完成标准化后,再逐通道乘 γ、加 β,保持每个通道的独立性。
IN与GN对比:单通道 vs 分组
老白的工具箱里有两把校准尺:一把只量单个颜色层,另一把量一组颜色层。IN 是前者,GN 是后者。它们都不向 batch“借数据”,但统计范围不同,因此适用场景也截然不同。以下表格能帮你快速分清它们:
| 维度 | InstanceNorm | GroupNorm |
|------|-------------|-----------|
| 统计范围 | 单样本 × 单通道 | 单样本 × 分组通道 |
| 每组元素量 | H×W | (C/G)×H×W |
| 是否依赖 batch | 否 | 否 |
| 典型任务 | 风格迁移、图像生成 | 检测/分割等小 batch 训练 |
| 特殊情形 | 与 BN 的折中 | G=C 时等价 IN,G=1 时等价 LN |
从统一视角看,BN、IN、GN、LN 的差别只在于“统计集合 S”选在哪里。给定元素 x_{n,c,h,w},归一化公式可以写成:
面对一张画时,老白会问自己:我是要保留每层的独立性(选 IN),还是要兼顾组内整体性(选 GN)?选 IN,风格更纯粹;选 GN,统计更稳健。二者只有合适与否,没有绝对优劣。
- 定义统计集合S 是当前元素参与统计的“小屋”,IN 的小屋是单个颜色层,GN 的小屋是一组颜色层,LN 的小屋是全部颜色层。
- 集合内求均值只对 S 内的元素求平均,集合越大,均值越稳定,但也越容易抹掉局部特征。
- 集合内求方差衡量 S 内元素波动,小集合的方差噪声大,大集合的方差更平滑。
- 标准化在集合 S 内完成减均值、除标准差,得到统一尺度的输出。
实战要点:PyTorch实现与调参
老白的工具箱里,IN 和 GN 已经封装成现成的“校准工具”。PyTorch 中,nn.InstanceNorm2d 和 nn.GroupNorm 分别对应这两位校准师。实际使用中,最关键的三个旋钮是:是否开启 affine、分组数设多少、以及放在网络的什么位置。
先看最常用的配置方式:
affine=True 时,IN 会给每个通道引入可学习的 γ 和 β,风格迁移模型通常开启它,因为后续的 AdaIN 需要把风格统计量注入到这些通道尺度上。而 affine=False 时,归一化只做纯标准化,适合不想让模型额外学习通道权重的场景。GN 的分组数则遵循“能整除就行”的原则:C=64 时选 8 或 16 组,C=256 时选 32 组。分组越多,每组统计量越少,噪声越大;分组越少,越接近 LayerNorm,局部信息越容易被抹平。
调试时有个小技巧:训练初期打印各层输出的均值与方差,理论上应接近 0 和 1。如果发现输出分布严重偏移,先检查输入是否有 NaN、通道数是否能被分组数整除,再检查 epsilon 是否设置过小。此外,IN 和 GN 在训练与推理模式下行为一致——不像 BN 那样有滑动平均统计量的差异,这也是它们在小 batch 推理场景中格外省心的原因。
老白把这三条经验贴在画室墙上:一、风格任务开 affine;二、分组数选能整除的稳定值;三、训练推理行为一致,不必为 eval 模式担惊受怕。校准师的工作,从来都是细节里见真章。
# InstanceNorm: affine=True 让每个通道有自己的缩放和偏移self.in_norm = nn.InstanceNorm2d(num_features=64, affine=True)# GroupNorm: 8 组,每组 8 个通道 (64 / 8 = 8)self.gn_norm = nn.GroupNorm(num_groups=8, num_channels=64)
总结展望:校准师的决策手册
老白的画室越来越忙,学徒们开始问他:“到底该用哪种校准方式?”他翻出一本泛黄的决策手册,上面写着三条经验法则:第一,如果你的 batch 足够大(比如 32 以上)且是分类识别任务,BN 仍是省心之选;第二,如果 batch 小到 1 或 2,且任务是检测、分割这类判别任务,换上 GN 能明显稳定训练;第三,如果任务涉及图像生成、风格迁移,无论 batch 多大,IN 都是保护风格独立性的最佳选择。
从更广阔的视角看,归一化家族的演进很像校准师手艺的迭代:BN 用“全班平均”解决内部协变量偏移,却在样本少时失灵;LN 转向“单画全色层”统计,却少了跨样本信息;IN 走向“单画单色层”统计,保住了风格却牺牲了统计量规模;GN 则用“分组”在二者之间找到了连续可调的谱系——从逐个通道(G=C)到全部通道(G=1),覆盖了 IN 到 LN 的整段光谱。
展望未来,随着显存越来越紧张、生成模型越来越多,IN 与 GN 的地位只会更加重要。对于工程实践者,建议把归一化层也当作超参数的一部分:在原型阶段分别用 BN、GN、IN 各跑一遍小实验,观察收敛曲线和生成质量,再决定最终方案。校准师老白的故事告诉我们:归一化没有银弹,只有读懂任务需求的人,才能让每一幅画都绽放出自己的光彩。
AI 应用场景
艺术风格迁移 App
阶段:模型设计与推理部署
解决的问题:传统滤镜只能做局部纹理叠加,无法实现全局色彩结构的艺术迁移。AdaIN 通过 IN 对内容特征与风格特征做通道级统计对齐,把“风格”变成可计算的分布参数,几毫秒即可生成风格化图片。
具体案例:用户上传自拍照片,选择梵高《星空》风格。后端用预训练 VGG 提取内容与风格特征,AdaIN 模块将内容特征的均值方差替换为风格特征的均值方差,随后解码器生成构图不变、色彩笔触类似《星空》的输出图。整个过程无需训练,一次前向推理即可完成。
医学影像小 batch 训练
阶段:模型训练与调优
解决的问题:3D CT 或 MRI 影像分辨率大,单卡只能容纳 1~2 个样本,BN 在小 batch 下统计噪声大、训练不稳定。GN 不依赖 batch 大小,用通道分组统计替代跨样本统计,让小 batch 训练也能稳定收敛。
具体案例:某医院影像团队训练 U-Net 做肝脏分割,原本 batch size 设为 2 时 BN 版本损失震荡、分割精度低。将编码器中的 BN 层全部替换为 GroupNorm(8, 64) 后,损失曲线平稳下降,Dice 系数提升了约 5 个百分点。
实时视频人像风格化
阶段:推理优化
解决的问题:视频逐帧推理时,BN 在推理模式虽使用滑动平均统计量,但切换风格模型时帧间色彩仍会闪烁。IN 对单帧单独归一化,输出色彩稳定,适合实时视频特效。
具体案例:某短视频 App 上线“漫画脸”特效,生成网络的所有归一化层使用 InstanceNorm2d。用户录制视频时,每一帧的漫画风格保持稳定,不再出现画面明暗跳动,推理速度也因无需跨帧统计而提升。
Python 演示
import torchimport torch.nn as nn class InstanceNorm2d(nn.Module): def __init__(self, num_channels, eps=1e-5, affine=True): super().__init__() self.eps = eps self.affine = affine if affine: self.weight = nn.Parameter(torch.ones(num_channels)) self.bias = nn.Parameter(torch.zeros(num_channels)) def forward(self, x): n, c, h, w = x.shape mu = x.mean(dim=(2, 3), keepdim=True) var = x.var(dim=(2, 3), keepdim=True, unbiased=False) out = (x - mu) / torch.sqrt(var + self.eps) if self.affine: out = out * self.weight.view(1, c, 1, 1) + self.bias.view(1, c, 1, 1) return out class GroupNorm2d(nn.Module): def __init__(self, num_groups, num_channels, eps=1e-5): super().__init__() self.num_groups = num_groups self.eps = eps self.weight = nn.Parameter(torch.ones(num_channels)) self.bias = nn.Parameter(torch.zeros(num_channels)) def forward(self, x): n, c, h, w = x.shape x = x.view(n, self.num_groups, -1) mu = x.mean(dim=2, keepdim=True) var = x.var(dim=2, keepdim=True, unbiased=False) out = (x - mu) / torch.sqrt(var + self.eps) out = out.view(n, c, h, w) return out * self.weight.view(1, c, 1, 1) + self.bias.view(1, c, 1, 1) def adain(content, style): c_mu = content.mean(dim=(2, 3), keepdim=True) c_std = content.std(dim=(2, 3), keepdim=True) s_mu = style.mean(dim=(2, 3), keepdim=True) s_std = style.std(dim=(2, 3), keepdim=True) return s_std * (content - c_mu) / c_std + s_mu if __name__ == "__main__": torch.manual_seed(0) x = torch.randn(2, 6, 8, 8) print("IN output:", InstanceNorm2d(6)(x).shape) print("GN output:", GroupNorm2d(3, 6)(x).shape) content = torch.randn(1, 16, 32, 32) style = torch.randn(1, 16, 32, 32) fused = adain(content, style) print("AdaIN output:", fused.shape)
mu = x.mean(dim=(2, 3), keepdim=True)在 H 和 W 两个空间维度上求均值,这是 IN 的统计核心var = x.var(dim=(2, 3), keepdim=True, unbiased=False)计算方差时使用有偏估计,与 PyTorch 内置 BN/IN 保持一致self.weight = nn.Parameter(torch.ones(num_channels))每个通道一个可学习缩放参数,对应公式中的 γx = x.view(n, self.num_groups, -1)把 C 个通道折叠成 G 组,剩余维度自动展平return s_std * (content - c_mu) / c_std + s_muAdaIN 的核心:用风格特征的标准差和均值重涂内容特征
常见误区
误区batch 小的时候直接把 BatchNorm 换成 GroupNorm 就好了,InstanceNorm 只用在风格迁移里,其他场景用不上。
正解生成类任务(图像生成、风格迁移)即便 batch 小,首选仍是 InstanceNorm,因为任务需要保留每张图的独立风格;判别类任务(分类、检测、分割)在小 batch 下才优先考虑 GroupNorm。选择归一化层的依据是“任务是否依赖样本间的统计信息”,而非单纯看 batch 大小。老白会说:给睡莲上色要单独调色,给一批苹果分级才用分区校准,工具要对着需求挑。
为何常见:GN 的经典宣传语“小 batch 替代 BN”太深入人心,初学者容易把它当成万能公式,忽略了任务特性这个更重要的维度。
误区InstanceNorm 和 LayerNorm 不都是对单个样本做归一化吗?它们应该完全一样。
正解二者统计范围不同:IN 对每个样本的每个通道分别统计,范围是 H×W;LN 对每个样本的所有通道一起统计,范围是 C×H×W。可以这样记:IN 是一幅画的一个颜色层单独调整明暗,LN 是把整幅画当作整体调整亮度。只有在通道数 C=1 时,二者才恰好等价。
为何常见:两者在“不跨样本统计”这一点上共用同一个直觉,初学者没细看“通道维度是否参与分组”,就把它们画了等号。
误区风格迁移模型里用 BatchNorm 也能收敛,效果应该差不多吧?
正解BN 在一个 batch 内跨样本统计,会把同批次其他图片的色彩分布混入当前图片,导致生成结果风格互相“污染”、画面闪烁不稳定。IN 按单样本单通道统计,才能保证每张图的风格互不干扰。生成领域几乎不用 BN 作为归一化层,这不是偏好,而是任务性质决定的。
为何常见:BN 在分类任务中表现太好,容易让人默认它是“所有任务的默认配置”,忽略了生成任务对样本独立性的特殊要求。
误区GroupNorm 的分组数越多,每组统计越精细,效果应该越好。
正解分组越多,每组内通道数越少,统计样本量越小,均值方差的噪声越大。以 C=64 为例,G=32 时每组只有 2 个通道,统计可靠性远不如 G=8 时每组 8 个通道。实践中一般设 G=32、16 或 8,并基于验证集调参,而不是盲目追求大分组数。
为何常见:“更细粒度 = 更精细”的直觉在数据量充足时成立,但统计量不足时反而引入噪声,初学者容易忽略样本量与估计可靠性之间的权衡。
误区模型推理时 BatchNorm 也应该用当前输入 batch 的均值和方差去归一化,这样才“实时”。
正解BN 在训练阶段用滑动平均维护全局统计量,推理时必须使用这些固定的滑动统计量。若在测试时重新计算当前 batch 的统计量,单张图像输入的均值和方差会被自身主导,结果与训练严重不一致。IN 和 GN 没有这个烦恼,因为它们的统计范围始终在单样本内部,训练与推理行为完全一致。
为何常见:初学者只记住了 BN“减去均值除以标准差”的操作,没意识到训练与推理两个阶段统计量的来源根本不同。
面试题
Q1. InstanceNorm 统计特征图的均值和方差时,应用在哪一维度?
- A.全批次样本所有通道
- B.单样本单通道空间内← 正确答案
- C.单样本全部通道空间
- D.单样本单分组空间内
答案:B。IN 的统计范围是单个样本的单个通道,即在 H×W 空间上求均值和方差。选项 A 是 BN,C 是 LN,D 是 GN。可以类比:IN 只调一幅画的一个颜色层。
Q2. batch size 等于 1 时,哪种归一化方法最易失效?
- A.LayerNorm
- B.InstanceNorm
- C.GroupNorm
- D.BatchNorm← 正确答案
答案:D。BN 需要跨样本统计均值方差,batch size 为 1 时统计量退化为该样本自身,归一化失去意义。LN、IN、GN 都在单样本内部统计,不受 batch 大小影响,因此依然有效。
Q3. GroupNorm 中若通道数为 8、分组数为 2,每组通道数是?
- A.每个组包含四个通道← 正确答案
- B.每个组包含两个通道
- C.每个组包含八个通道
- D.每个组包含一个通道
答案:A。每组通道数 = C/G = 8/2 = 4。GN 先把 C 个通道均分成 G 组,再在组内统计均值方差,分组数必须能整除通道数。
Q4. 风格迁移选择 InstanceNorm 最主要的原因是?
- A.它能跨样本共享风格统计
- B.它对单样本单通道独立统计← 正确答案
- C.它比 BatchNorm 训练更快
- D.它可以替代全部卷积结构
答案:B。IN 对单样本单通道独立统计,使每张图片的通道级统计只反映自身风格,不被 batch 内其他样本干扰,这正是风格迁移需要的“风格独立性”。A 是 BN 行为,C、D 均不成立。
Q5. 关于 BatchNorm 在小 batch 下的问题,正确的有?
- A.样本太少导致统计量噪声大← 正确答案
- B.单样本时方差退化为零← 正确答案
- C.训练与推理统计方式不一致← 正确答案
- D.小 batch 下完全无法收敛
答案:ABC。A 正确,小样本统计量方差大;B 正确,单样本时标准差为 0;C 正确,训练用 batch 统计、推理用滑动均值。D 过于绝对,GN、IN 等方案可以解决该问题,不能说“完全无法收敛”。
Q6. InstanceNorm 的 affine=True 时,额外引入的参数是?
- A.每个通道的全连接权重
- B.每通道可学习缩放与偏移← 正确答案
- C.每个样本独立的偏置项
- D.归一化统计中的修正项
答案:B。affine=True 时,IN 为每个通道引入可学习的 γ(缩放)和 β(偏移),作用是在标准化后恢复网络的表达能力。D 选项指的是 ε,不是 affine 参数。
Q7. 关于 IN 与 GN 的关系,下列表述正确的有?
- A.GN 分组数为 1 时等价于 LayerNorm← 正确答案
- B.GN 分组数等于通道数时等价于 IN← 正确答案
- C.IN 的统计范围不依赖 batch 大小← 正确答案
- D.GN 的统计范围依赖 batch 大小
答案:ABC。G=1 时所有通道一组统计,等价 LN;G=C 时每组一个通道统计,等价 IN;IN 和 GN 都在单样本内部统计,均不依赖 batch 大小,所以 D 错误。老白会说:分区调到最细就是单色层,调到最粗就是整幅画。
Q8. AdaIN 中,风格信息主要由哪种统计量承载?
- A.内容特征的通道级均值方差
- B.风格特征的通道级均值方差← 正确答案
- C.风格特征的原始像素值
- D.内容特征的原始像素值
答案:B。AdaIN 将内容特征标准化后,用风格特征的通道级均值 μ(s) 和标准差 σ(s) 做缩放与偏移。这里的“均值+方差”正是风格的数学化身,原始像素值不直接承载可迁移的风格分布。
Q9. 给定特征 (N=4, C=64, H=32, W=32),GN 分组数 G=16 时,每组统计的元素数量是?
- A.每个组统计 64 个元素
- B.每个组统计 1024 个元素
- C.每个组统计 2048 个元素
- D.每个组统计 4096 个元素← 正确答案
答案:D。每组通道数 = 64/16 = 4,每组统计量 = 4×32×32 = 4096 个元素。这个计算揭示 GN 的本质:它在组内聚合足够多的元素来估计统计量,而通道数恰好决定了分组的粒度。
Q10. 关于 GN 与 IN/LN 的等价关系,正确的有?
- A.分组数等于通道数时等价于 IN← 正确答案
- B.分组数为 1 时等价于 LayerNorm← 正确答案
- C.分组数为 2 时完全等价于 BN
- D.所有分组数下与 BN 均等价
答案:AB。G=C 时每组只有一个通道,退化为 IN;G=1 时整幅画所有通道一组,退化为 LN。GN 的统计范围始终在单样本内部,与跨样本的 BN 在任何分组数下都不可能等价,故 C、D 错误。