作者:Yuxin,Wu Kaiming He

机构:Facebook AI Research (FAIR)

摘要:BN是深度学习发展中的一个里程碑技术,它使得各种网络得以训练。然而,在batch维度上进行归一化引入如下问题——BN的错误会随着batch size的减小而急剧增加,这是由batch不正确的统计估计造成的。这就限制了BN用于训练由于显存消耗不足而导致batch size受限的大型网络和迁移特征到如检测、分割以及视频等计算机视觉任务。在此论文中,作者提出了Group Normalization(GN)作为BN的简单替代。GN将通道划分成组然后在每一个组中计算用于归一化的均值和方差。GN的计算不依赖于batch size,而且它的准确率在各种batch size下是稳定的。在ImageNet数据集上训练ResNet-50,当使用batch size 为2的时候,GN获得的错误比在相应位置上使用BN低10.6%;当使用典型的batch size,GN比BN相对好,同时相对于其它归一化变体好。此外,GN可以可以很自然地从预训练模型到微调。在COCO的检测、语义分割以及Kinetics数据集的视频分类任务中,在相应位置上使用GN可以比BN获得更出色的表现。这显示了GN可以在很多任务中有效地替换强大的BN。BN可以通过少量代码来实现。

简介:BN是深度学习中一个很有效的组件,极大的推动了计算机视觉的发展。BN是通过计算一个(mini-)batch内的均值和方差来归一化特征的。众多实践证明使用BN的网络易于优化以及使得很深的网络得以收敛。batch统计的随机不确定性也起到有利于泛化的正则化作用。BN已经成为含多先进算法的基石。

虽然BN非常成功,但是在batch维度上截然不同的归一化行为也展露它的不足。在实践中,BN需要足够大的batch size才能达到显著效果。小的batch size会引起batch统计上的错误估计,这会很大地增加模型错误。下图可以看出GN比BN优秀。

图中:是ResNet-50在ImageNet数据集上使用8个GPU进行训练,以及在验证集上验证。图中折线,蓝色BN,红色GN。可见随着batch size的减小,BN的错误率增加,而GN不依赖于BS,其错误率相对稳定。在batch size为2的同等条件下,GN获得比BN低10%的错误率

因此,许多如今的模型由于显存的限制都使用了精心设计的batch size。严重地依赖于BN的效果,变成了限制人们取探索那些大容量但消耗资源的模型。batch size上的限制,会更加要求诸如检测、分割、视频识别的计算机视觉任务以及其它高层系统基于它而建立。比如,Fast/er 和Mask R-CNN框架因为使用了大的分辨率而只能使用batch size为1或者2,其中BN通过转变成线性层进行“冻结”。在使用3D卷积的视频分类任务中,时空特征的存在引入了关于时间长度(temporal length)和batch size的一个权衡。由于BN的使用通常需要系统在模型设计和batch size之间的妥协。

在这篇论文中提出GN,作为BN的一个简单替代。我们注意到许多的特征,类似SIFT和HOG组间特征以及涉及到组间归一化。例如,一个HOG向量是一些空间单元的输出。其中每一个单元由一个已归一化的有向直方图。类似地,我们提出GN作为一个将通道划分成组以及归一化组内的这些特征的层。GN并没有采用batch维度,因此它独立于batch sizes。

除了GN,BN之外,还有LN(Layer Normalization) 和IN(Instance Normalization),这两个也一样防止在batch维度上进行归一化,这个方法在训练序列模型(RNN/LSTM)或者生成模型(GANs).但是正如实验中给出,LN和IN在视觉识别任务中均未能很好表现。而对于GN则表现出较好的结果。换言之,GN可以用于代替LN和IN在序列模型和生成模型中的表现。

相关工作:

归一化层在BN出现之前已经在深度网络中得到广泛应用,Local Response Normalization(LRN)是AlexNet中的组件,它通过计算每一个像素的一个小的邻域的统计量。(待续)

Group Normalization笔记的更多相关文章

  1. Group Normalization

    Group Normalization 2018年03月26日 18:40:43 阅读数:1351 FAIR 团队,吴育昕和恺明大大的新作Group Normalization. 主要的优势在于,BN ...

  2. Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization、Switchable Normalization比较

    深度神经网络难训练一个重要的原因就是深度神经网络涉及很多层的叠加,每一层的参数变化都会导致下一层输入数据分布的变化,随着层数的增加,高层输入数据分布变化会非常剧烈,这就使得高层需要不断适应低层的参数更 ...

  3. 全面解读Group Normalization,对比BN,LN,IN

    前言 Face book AI research(FAIR)吴育昕-何恺明联合推出重磅新作Group Normalization(GN),提出使用Group Normalization 替代深度学习里 ...

  4. MYSQL的group by笔记

    对应的表数据如下 现在的需求是要找出dcid为9951,9957,9064共同拥有的good_code. 第一种方案是 SELECT a.good_code FROM ( SELECT good_co ...

  5. Batch Normalization 笔记

    原理 BN的效果 Why BN works? 原理 输入层可以归一化,那么其他层也应该可以归一化.但是有个重要的问题,为什么要引入beta和gamma. 为什么要引入beta和gamma 不总是要标准 ...

  6. [PyTorch 学习笔记] 6.2 Normalization

    本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson6/bn_and_initialize.py https: ...

  7. 『计算机视觉』各种Normalization层辨析

    『教程』Batch Normalization 层介绍 知乎:详解深度学习中的Normalization,BN/LN/WN 一.两个概念 独立同分布(independent and identical ...

  8. SQL 笔记 By 华仔

    -------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...

  9. 深度学习中batch normalization

    目录 1  Batch Normalization笔记 1.1  引包 1.2  构建模型: 1.3  构建训练函数 1.4  结论 Batch Normalization笔记 我们将会用MNIST数 ...

随机推荐

  1. MT【128】不动点指路

    已知数列\(\{a_n\}\)满足\(2a_{n+1}=1-a_n^2\),且\(0<a_1<1\).求证:当\(n\geqslant 3\) 时,\(\left|\dfrac{1}{a_ ...

  2. 【BZOJ2463】谁能赢呢?(博弈论)

    [BZOJ2463]谁能赢呢?(博弈论) 题面 BZOJ 洛谷 题解 洛谷上对于难度的评级我总觉有些问题. 很多人按照代码难度而并非思维难度在评级,导致很多评级很不合理啊... 不说废话了.. 对于一 ...

  3. BZOJ2800 [Poi2012]Leveling Ground 【扩展欧几里得 + 三分 + 堆】

    题目链接 BZOJ2800 题解 区间加极难操作,差分之后可转化为两点一加一减 那么现在问题就将每个点暂时独立开来 先判定每个点是否被\((A,B)\)整除,否则无解 之后我们先将\(A,B\)化为互 ...

  4. 【bzoj1937】 Shoi2004—Mst 最小生成树

    http://www.lydsy.com/JudgeOnline/problem.php?id=1937 (题目链接) 题意 一个无向图,给出一个生成树,可以修改每条边的权值,问最小修改多少权值使得给 ...

  5. BZOJ 2878 【NOI2012】 迷失游乐园

    题目链接:迷失游乐园 这道题也没有传说中的那么难写吗→_→ 似乎有篇博客讲得特详细……附上链接:戳这里 如果这道题不是基环树,而就是一棵树的话,我们来考虑改怎么做.因为树上的路径只有向上.向下两种走法 ...

  6. 毕业设计预习:maxplus2入门教程

    maxplus2入门教程 一.安装配置(maxplus2.zip) 下载安装完成后,运行maxstart.exe,显示如下错误提示: 为节省配置工作,在E:盘下新建maxplus2文件夹,仅将所需附加 ...

  7. RRDtool绘制lvs连接数图形

    需求:用RRDtool绘制lvs的连接数图形 RRDtool是一个强大的绘图工具,作者是Tobias Oetiker. RRD全称Round Robin Database,轮转数据库,也是一个时间序列 ...

  8. phpredis -- redis_cluster

    https://github.com/phpredis/phpredis/tree/feature/redis_cluster https://github.com/phpredis/phpredis

  9. loj6436【PKUSC2018】神仙的游戏

    $|S| \le 5 \times 10^5$ 题解 这题直接用通配符匹配的套路会错,因为重复部分的$?$可能同时被当做了$0$和$1$ 有长度为$i$的公共前缀后缀等价于有长度为$n-i$的循环节: ...

  10. PHP正则表达式基本语法

    本章主要学习正则表达式的基本语法: 正则表达式就是一个匹配的模式,正则表达式本身也就是一个字符串(有一些语法规则,特殊符号组成) 正则表达式这个字符串一定要在对应的函数中使用才有意义(分割,替换函数结 ...