什么是BN、LN、IN 和GN?不同归一化方法的比较
2024-09-19 12:10:34 | 作者: 匿名
批量归一化(BN)已成为许多高级深度学习模型的重要组成部分,特别是在计算机视觉领域。它通过批量计算的均值和方差对层输入进行标准化,因此得名。为了使BN 发挥作用,批量大小必须足够大,通常至少为32。但是,在某些情况下,我们必须满足: 的较小批量
当每个数据样本都是高度内存密集型时,例如视频或高分辨率图像
当我们训练一个非常大的神经网络时,它只留下很少的GPU 内存来处理数据
因此,我们需要一种适合小批量的BN 替代品。组归一化(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的第一个通道:
=均值(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的所有系数
[ [[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。因此,一个输入特征的计算完全独立于批次中的其他输入特征。
所有系数均由相同的 和 归一化
=平均值(2, 3, 5, 7, 11, 13, 17, 19)=9.625=var(2, 3, 5, 7, 11, 13, 17, 19)=35.734
计算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),对应的和就是
=均值(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
前面我们说过,当batch size为1时IN的计算和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 个通道中的系数
=均值(2, 3, 5, 7)=4.25=var(2, 3, 5, 7)=3.687
代入归一化公式,
a (2 - 4.25)/(3.687 + 0.00001)=-1.172
a的其他系数,计算方法类似:
[ [[-1.172, -0.651]], [[0.391, 1.432]], [[-1.265, -0.633]], [[0.633, 1.265]] ]
归一化方法比较
蓝色区域对应于集合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 和N. Houlsby。 Big Transfer (BiT) : 通用视觉表示学习(2019),arXiv 预印本。
1. S. Qiao、H. Wang、C. Liu、W. Shen 和A. Yuille。体重标准化(2019),arXiv 预印本。
1. S.桑图尔卡、D.齐普拉斯、A.伊利亚斯和A.马德里。批量归一化如何帮助优化? (2018),NIPS 2018。
声明:本文由入驻作者编辑撰写,除官方账号外,观点仅代表作者本人,不代表本平台立场,如有侵犯您的知识产权的作品和其它问题,请与我们取得联系,我们会即时修改或删除。
相关新闻
-
中超联赛争冠组赛制解析
1. 什么是中超争冠组赛制?中超联赛争冠组赛制是指在赛季末将排名前六名的球队组成一组,进行一轮单循环的比赛,获胜积分最高的球队将荣膺该赛季的中超冠军。2. 中超争冠组赛制的优点是什么?首先,中超争冠组赛制缩小了争冠球队之......
-
巴塞罗那vs巴黎圣日耳曼6比1回放,巴塞罗那vs巴黎圣日耳曼6比1全场视频
1. 赛前阵容分析巴塞罗那和巴黎圣日耳曼各自派出了最强阵容参加这场比赛。巴塞罗那的梅西、苏亚雷斯和内马尔以及巴黎圣日耳曼的博格巴、迪马利亚和卡瓦尼都是顶尖球星,他们的发挥将直接影响比赛。2. 巴塞罗那的控球优势巴塞罗那在......
24小时热文
-
puma足球鞋,Puma足球鞋mg106673-02
2023-10-15
-
1993年NBA总决赛数据纪念经典时刻,回顾传奇巨星们的辉煌岁月
2024-01-12
-
介绍2010年NBA总决赛黑哨内幕,让你看清现实世界的阴暗面
2023-12-18
-
如何成为NBA真球迷?WinFuture广告告诉你答案
2024-03-18
-
nba球员效率值如何查询?
2023-11-07
-
NBA2K17热火队精彩比赛集锦
2024-01-30
用户评论
哇,终于找到这篇关于BN、LN、IN和GN的解析了!之前一直搞不懂这些归一化方法,现在感觉清晰多了。
有18位网友表示赞同!
看了这篇文章,感觉对归一化有了新的认识。特别是GN,之前一直以为是LN的一种,原来有这么多区别。
有10位网友表示赞同!
IN和BN的区别说得太好了,以前总感觉它们差不多,现在明白了它们的适用场景。
有13位网友表示赞同!
这篇文章让我对LN的理解更深入了,尤其是它和BN的对比,学到了很多。
有13位网友表示赞同!
GN的应用场景真是广泛,之前只知道它是个简单的归一化方法,没想到这么实用。
有19位网友表示赞同!
BN、LN、IN和GN,这四个名词太容易混淆了,这篇博文帮了我大忙。
有5位网友表示赞同!
作者对BN、LN、IN和GN的解释很到位,让我这个门外汉也看懂了。
有19位网友表示赞同!
看完这篇文章,我对归一化有了全新的认识,特别是GN的应用,太惊喜了。
有12位网友表示赞同!
LN和BN的对比,感觉作者分析得很透彻,学到了不少。
有5位网友表示赞同!
这篇文章让我对IN有了新的认识,之前一直觉得它没什么用,现在看来我错了。
有7位网友表示赞同!
GN的应用场景让我眼前一亮,原来归一化还能这样用,太有用了。
有7位网友表示赞同!
LN和BN的区别,之前总是记不住,现在看了这篇文章,感觉轻松多了。
有19位网友表示赞同!
IN和GN的结合,感觉这个方法很有前景,期待看到更多应用案例。
有12位网友表示赞同!
BN、LN、IN和GN,这四个方法各有特点,作者的分析很到位。
有7位网友表示赞同!
GN的应用场景让我很感兴趣,想了解更多细节。
有8位网友表示赞同!
文章对BN、LN、IN和GN的讲解很清晰,感觉对后续的学习很有帮助。
有13位网友表示赞同!
LN和BN的区别,之前总是搞不清,现在终于明白了,感谢作者。
有12位网友表示赞同!
GN的应用让我有了新的思考,感觉这篇文章很值得一读。
有8位网友表示赞同!
IN和BN的比较,让我对归一化的选择有了更明确的方向。
有13位网友表示赞同!