BN,LN,IN,GN都是什么?不同归一化方法的比较

简介: BN,LN,IN,GN都是什么?不同归一化方法的比较

不同的归一化方法

为了促进GN的表述,我们将首先看一下以前的一些标准化方法。

xᵢ ← (xᵢ - 𝜇ᵢ) / √(𝜎ᵢ² + 𝜀)

对于每个系数xᵢ输入特性。𝜇ᵢ和𝜎ᵢ²的均值和方差计算的集合Sᵢ系数,和𝜀是一个小的常数数值稳定,避免除零。唯一的区别是集Sᵢ是如何选择的。

为说明归一化方法的计算,我们考虑一批N = 3,输入特征a, b, c,它们有通道c = 4,高度H = 1,宽度W = 2:

a = [ [[2, 3]], [[5, 7]], [[11, 13]], [[17, 19]] ]
b = [ [[0, 1]], [[1, 2]], [[3, 5]], [[8, 13]] ]
c = [ [[1, 2]], [[3, 4]], [[5, 6]], [[7, 8]] ]

因此批将形状(N、C, H, W) =(3、4、1、2)。我们把𝜀= 0.00001。

Batch Normalization

BN规范化的渠道和计算𝜇ᵢ和𝜎ᵢ沿轴(N、H、W)。批次ᵢ系数被定义为一组的批处理xᵢ相同的频道。

第一系数的ᵢ= 2,i=(0,0,0),相应的𝜇ᵢ和𝜎ᵢ²系数的计算,b和c的第一个频道:

𝜇ᵢ = mean(2, 3, 0, 1, 1, 2) = 1.5

𝜎ᵢ² = var(2, 3, 0, 1, 1, 2) = 0.917

代入归一化公式,

aᵢ ← (2 - 1.5) / √(0.917 + 0.00001) = 0.522

计算a的所有系数

a ← [ [[0.522, 1.567]], [[0.676, 1.690]], [[1.071, 1.630]], [[1.066, 1.492]] ]

Layer Normalization

层归一化(LN)的设计是为了克服BN的缺点,包括它对批大小的限制。计算𝜇ᵢ和𝜎ᵢ沿着(C、H、W)轴,和Sᵢ定义为所有系数xᵢ属于相同的输入特性。因此,一个输入特征的计算完全独立于批处理中的其他输入特征。

所有的系数是由相同的归一化𝜇ᵢ和𝜎ᵢ²

𝜇ᵢ = mean(2, 3, 5, 7, 11, 13, 17, 19) = 9.625

𝜎ᵢ² = var(2, 3, 5, 7, 11, 13, 17, 19) = 35.734

计算a的所有系数

a ← [ [[-1.276, -1.108]], [[-0.773, -0.439]], [[0.230, 0.565]], [[1.234, 1.568]] ]

Instance Normalization

实例归一化(IN)可以看作是将BN公式单独应用到每个输入特性(又称实例),就好像它是批处理中的唯一成员一样。更准确地说,在计算𝜇ᵢ和𝜎ᵢ沿轴(H, W)和Sᵢ的系数被定义为一组相同的输入特性和xᵢ也在同一个频道。

由于IN的计算与批大小为1时BN的计算相同,在大多数情况下,IN实际上会使情况变得更糟。而对于样式转换任务,IN在丢弃图像对比度信息方面优于BN。

第一系数aᵢ= 2,i=i(0,0,0),相应的𝜇ᵢ和𝜎ᵢ²只是

𝜇ᵢ = mean(2, 3) = 2.5
𝜎ᵢ² = var(2, 3) = 0.25
aᵢ ← (2 - 2.5) / √(0.25 + 0.00001) = -1.000
得到
a ← [ [[-1.000, 1.000]], [[-1.000, 1.000]], [[-1.000, 1.000]], [[-1.000, 1.000]] ]

Group Normalization

前面我们说过IN的计算与批大小为1时BN的计算相同,但是是针对对每个输入特性分别应用BN。注意,IN还可以看作是将LN单独应用于每个通道,就像通道的数量为1的LN一样。

组归一化(GN)是IN和LN的中间点。组织渠道分成不同的组,计算𝜇ᵢ和𝜎ᵢ沿着(H, W)轴和一组通道。批次ᵢ然后组系数,在相同的输入特性和同一组xᵢ渠道。

组的数量G是一个预定义的超参数,通常需要它来划分c。为了简单起见,我们将通道按顺序分组。所以频道1,…,C / G属于第一组,频道C / G + 1,…,2C / G属于第二组,以此类推。当G = C时,即每组只有1个信道,则GN变为IN。另一方面,当G = 1时,GN变成LN。因此G控制了IN和LN之间的插值。

在我们的例子中,考虑G = 2。规范化的第一个系数aᵢ = 2,i=(0,0,0),我们使用的系数在4 / 2 = 2通道

𝜇ᵢ = mean(2, 3, 5, 7) = 4.25
𝜎ᵢ² = var(2, 3, 5, 7) = 3.687
代入归一化公式,
aᵢ ← (2 - 4.25) / √(3.687 + 0.00001) = -1.172
对于a的其他系数,计算方法相似:
a ← [ [[-1.172, -0.651]], [[0.391, 1.432]], [[-1.265, -0.633]], [[0.633, 1.265]] ]

归一化方法比较

image.png

蓝色的区域对应的集Sᵢ计算𝜇ᵢ和𝜎ᵢ,然后用来正常化任何系数在蓝色区域。

从这个图中我们可以看到,GN如何在IN和LN之间插入。GN优于IN,因为GN可以利用跨渠道的依赖关系。它也比LN好,因为它允许对每一组通道学习不同的分布。

当批大小较小时,GN始终优于BN。但是,当批处理大小非常大时,GN的伸缩性不如BN,可能无法匹配BN的性能。

引用

  1. A. Kolesnikov, L. Beyer, X. Zhai, J. Puigcerver, J. Yung, S. Gelly, and N. Houlsby. Big Transfer (BiT): General Visual Representation Learning (2019), arXiv preprint.
  2. S. Qiao, H. Wang, C. Liu, W. Shen, and A. Yuille. Weight Standardization (2019), arXiv preprint.
  3. S. Santurkar, D. Tsipras, A. Ilyas, and A. Madry. How Does Batch Normalization Help Optimization? (2018), NIPS 2018.
  4. Y. Wu, and K. He. Group Normalization (2018), ECCV 2018.
目录
相关文章
|
SQL 存储 Kubernetes
K8S搭建SQL server
K8S搭建SQL server
|
JSON 自然语言处理 编译器
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
前言包大小是衡量APP性能的一项重要指标,它直接影响用户的下载点击率(包太大不想下)、下载安装成功率(下载慢不用了)、APP卸载率(太占空间先删掉)。包大小的计算逻辑很简单,它是各种类型的文件占用磁盘大小相加。APP瘦身的技术却很复杂,代码文件的复杂度和编译器策略决定了可执行文件的大小,业务功能和工程架构决定了代码文件的复杂度。iOS APP瘦身,需要掌握的技能有XCode构建技术、LLVM编译器
4837 0
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
|
传感器 存储
STM32--TIM定时器(3)
STM32--TIM定时器(3)
563 0
STM32--TIM定时器(3)
HH
|
物联网
阿里云物联网平台基于MQTT.fx完成OTA升级
物联网平台提供OTA升级与管理服务。下面介绍OTA升级消息的Topic和Alink数据格式,包括设备上报OTA模块版本、物联网平台推送升级包信息、设备上报升级进度和设备请求获取最新升级包信息。
HH
4512 0
阿里云物联网平台基于MQTT.fx完成OTA升级
|
6月前
|
供应链 API 区块链
从库存周转率提升30%看京东API如何重构供应链效率
京东API分类全景图展示了其从商品管理到生态协同的技术中台架构,涵盖商品、交易、供应链及家政服务等多维度接口,助力电商数字化转型。
|
Cloud Native 关系型数据库 分布式数据库
【PolarDB开源】PolarDB与云原生数据库比较:特点、优势与选型建议
【5月更文挑战第26天】PolarDB是阿里云的云原生数据库,以其计算存储分离、一写多读架构和数据一致性保障脱颖而出。与Amazon Aurora和Google Cloud Spanner相比,PolarDB在中国市场更具优势,适合读多写少的场景和需要严格数据一致性的应用。企业在选型时应考虑业务需求、地域、读写比例和兼容性。PolarDB作为优秀解决方案,将在云原生数据库领域持续发挥关键作用。
1022 1
|
10月前
|
机器学习/深度学习 人工智能 编解码
Step-Video-TI2V:开源视频生成核弹!300亿参数+102帧电影运镜
Step-Video-TI2V 是阶跃星辰推出的开源图生视频模型,支持根据文本和图像生成高质量视频,具备动态性调节和多种镜头运动控制功能,适用于动画制作、短视频创作等场景。
714 0
Step-Video-TI2V:开源视频生成核弹!300亿参数+102帧电影运镜
|
机器学习/深度学习 存储 计算机视觉
基于YOLOv8深度学习的智能道路裂缝检测与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、目标分割(2)
基于YOLOv8深度学习的智能道路裂缝检测与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、目标分割
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
690 0
|
存储 机器学习/深度学习 人工智能
基于Megatron-Core的稀疏大模型训练工具:阿里云MoE大模型最佳实践
随着大模型技术的不断发展,模型结构和参数量级快速演化。大模型技术的应用层出不穷。大模型展现惊人效果,但训练和推理成本高,一直是巨大挑战。模型稀疏化能降低计算和存储消耗。近期以Mixtral为代表的MoE(多专家混合)大模型证明了稀疏MoE技术能大幅降低计算量、提升推理速度,模型效果甚至超过同规模稠密模型。阿里云PAI和NVIDIA团队深入合作,基于Megatron-Core MoE框架,解决了MoE大模型训练落地时会遇到的可拓展性、易用性、功能性以及收敛精度等核心问题,在下游任务上取得了很好的模型效果。