专栏首页AI科技大本营的专栏何恺明、吴育昕最新成果:用组归一化替代批归一化

何恺明、吴育昕最新成果:用组归一化替代批归一化

编译 | 阿司匹林

AI科技大本营按:近日,FAIR 团队的吴育昕和何恺明提出了组归一化(Group Normalization,简称 GN)的方法。其中,GN 将信号通道分成一个个组别,并在每个组别内计算归一化的均值和方差,以进行归一化处理。此外,GN 的计算与批量大小无关,而且在批次大小大幅变化时,精度依然稳定。实验结果证明,GN 在多个任务中的表现均优于基于 BN 的同类算法,这表明 GN 能够在一系列任务中有效地替代 BN。

以下内容来自 Group Normalization 论文,AI科技大本营翻译:

批归一化(Batch Normalization,简称 BN )是深度学习发展中的一项里程碑技术,它让各种网络都能够进行训练。然而,沿着批次维度的归一化也带来了新问题:当统计不准确导致批次的大小越来越小时,BN 的错误会急剧增加。在训练更大的网络,以及执行将特征迁移至包括探测、分割、视频在内的计算机视觉任务时,BN 的使用就受到了限制,因为它们受限于内存消耗而只能使用小批次。

在该论文中,我们提出了一种简单的组归一化的方法。GN 将信号通道分成一个个组别,并在每个组别内计算归一化的均值和方差,以进行归一化处理。GN 的计算与批量大小无关,而且在批次大小大幅变化时,精度依然稳定。例如在 ImageNet 上训练的 ResNet-50 ,当批次大小为 2 时,GN 的误差比 BN 低 10.6 %;当使用典型的批次大小时,GN 与 BN 的表现相当,并且优于其他归一化变体。此外,GN 可以自然地从预训练迁移到微调阶段。在 COCO 的目标检测和 Kinetics 的视频分类任务中,GN 的表现均优于基于 BN 的同类算法,这表明 GN 能够在一系列任务中有效地替代 BN。重要的是,只需几行代码,就可以在现代库中实现 GN。

图1:ImageNet 分类误差与批次大小的关系。这是在 ImageNet 训练集中使用 8 块 GPU 训练的 ResNet-50 模型,并在验证集上进行了评估。

▌组归一化

视觉表征的通道并不是完全独立的。SIFT、HOG 和 GIST 的经典特征是符合分组特征的,其中每组信道由某种直方图(histogram)构成。这些特征通常通过在每个直方图或每个方向上执行分组归一化来处理。诸如 VLAD 和 Fisher Vectors (FV) 等高级特征也是分组特征,其中每一组可以被认为是关于集群计算的子向量。

类似地,我们不需要将深层神经网络特征视为非结构化向量。例如,对于网络的第一个卷基层 conv1 ,我们可以预期,滤波器(filter)及其水平翻转在自然图像上呈现类似的滤波器响应分布是合理的。如果 conv1 碰巧近似地学习到这对滤波器,或者通过将水平翻转设计到架构中,则这些滤波器的相应通道可以一起归一化。

神经网络中的更高层级更加抽象,它们的行为也不那么直观。然而,除了方向之外,还有许多因素可以导致分组,例如频率、形状、照明、纹理等,它们的系数可以是相互依赖的。事实上,神经科学中一个广为接受的计算模型就是对细胞反应进行归一化,“具有各种感受野(receptive-field)中心(覆盖视野)和各种时空频率调谐”,这不仅可以发生在初级视觉皮层,而且可以发生在“整个视觉系统”中。受此启发,我们提出了一种新的深度神经网络的泛组归一化(generic group-wise normalization)方法。

图2:归一化方法。每个子图显示一个特征图张量,其中 N 为批处理轴,C 为通道轴,( H; w )为空间轴。通过计算这些蓝色像素的和,它们被相同的平均值和方差归一化。

组归一化公式:

只需要几行代买,GN 就可以在 iPyTorch 和 TensorFlow 实现。

▌实验

1. 对 ImageNet 数据集进行图像分类

图4:批次大小为 32 幅图像/GPU 时的误差曲线。上图展示了 ImageNet 训练误差(左)和验证误差(右)与训练周期的关系。模型为 ResNet-50。

图5:对批次大小的敏感度:ResNet-50 对 BN (左)和 GN(右)的验证误差,分别使用 32、16、8、4 和 2 幅图像/GPU 进行训练。

表1:ImageNet 验证集中 ResNet-50 的误差(%)的比较,使用大小为 32 幅图像/GPU 的批次进行训练。误差曲线如图4所示。

表2:对批次大小的敏感度。该表展示了 ResNet-50 在 ImageNet 中的验证误差(%)。最后一行显示了 BN 和 GN 之间的差异。误差曲线如图 5 所示。

图6:VGG-16 中 conv5_3(5_3 为下标)输出(在归一化和 ReLU 之前)的特征分布的演变。右侧的表显示了 ImageNet 的验证误差(%)。模型使用 32 幅图像/ GPU 进行训练。

表3:组划分。该表展示了 ResNet-50 在 ImageNet 中的验证误差(%),该模型使用 32 幅图像/GPU 进行训练。(上):给定数量的组。(xia):每组给定数量的通道。每张表的最后一行显示了最佳结果之间的差异。

2. 对 COCO 数据集进行目标检测和分割

表4:使用 Mask R-CNN(ResNet-50 C4)在 COCO 中的检测和分割结果。BN* 表示 BN 被冻结。

表5:使用 Mask R-CNN( ResNet-50 FPN 和 4conv1fc 边界框)在 COCO 中的检测和分割结果。 BN* 表示 BN 被冻结。

3. 对 Kinetics 数据集进行视频分类

图7:Kinetics数据集中,输入长度为 32 帧的误差曲线。上图显示了 ResNet-50 I3D 对 BN(左)和 GN(右)的验证误差。

表6: 对 Kinetics 的视频分类结果:ResNe-50 I3D 基线的 top-1/top-5 精度( % )。

▌讨论以及未来的工作

我们证明了 GN 可以作为一个有效的归一化层,而不需要利用批量维度。我们已经评估了 GN 在各种应用中的表现。然而,我们也注意到,BN 的影响力如此之大,以至于许多最先进的系统及其超参数都是为它设计的,这写对于基于 GN 的模型来说可能不是最佳的。因此,针对 GN 重新设计系统或者寻找新的超参数,可能会得到更好的结果。

此外,我们已经证明 GN 与 LN 和 IN 是相关联的,这两种归一化方法在训练 RNN/LSTM 等递归模型或者 GAN 等生成模型方面特别成功。这也提示我们今后应在这些领域进行 GN 的研究。未来,我们还将测试 GN 在强化学习任务中学习表征方面的表现。

论文链接:https://arxiv.org/abs/1803.08494

本文分享自微信公众号 - AI科技大本营(rgznai100),作者:聚焦AI的

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 拯救CPU

    导语:在过去的10-20年间,硬件技术取得了惊人的进步,但在高性能数据中心和高度受限的移动环境中却仍然不能“奢求”廉价的性能。很多人认为,硬件的下一个进步是将神...

    AI科技大本营
  • 自动驾驶激荡风云录:来自圈内人的冷眼解读

    2019 年 7 月,美国加州硅谷的创业公司 Luminar Technologies 新融资 1 亿美元,到目前它总共已经筹集 2.5 亿美元,同时发布新的“...

    AI科技大本营
  • 30秒让图片变裸照,使用无门槛,这个软件比Deepfake杀伤力更大

    2017 年后,伪造逼真图像的 Deepfake 技术利用其将女性图片嫁接至色情图像内容引起很非议,用它恶意伪造的图像开始大规模在互联网上流传,也给人们辨别图像...

    AI科技大本营
  • sklearn系列之----线性回归

    原理 线性回归,原理很简单,就是拟合一条直线使得损失最小,损失可以有很多种,比如平方和最小等等; ? y是输出,x是输入,输出是输入的一个线性组合。...

    GavinZhou
  • CMDB开发

    TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部...

    菲宇
  • 首次曝光:大厂都是这样过1024程序员节的,看的我都酸了

    据了解,1024程序员节 是中国程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。程序员(英文Programmer)是从事程序开发、维护的专...

    程序员追风
  • Python机器学习方法智能识别亚马逊验证码

    亚马逊网站验证码全部由英文字母组成,每个字母的形式也是多样的,通过Tesseract-OCR技术识别效率还是比较低,非常不理想。这里采用向量空间技术进行训练识别...

    Python中文社区
  • 1024程序员节,WeTest送好礼,为程序员疯狂打call!

    ? 为什么是1024?某百科说:1024是2的十次方,二进制计数的基本计量单位之一。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世...

    WeTest质量开放平台团队
  • 那些会阻碍程序员成长的细节[7]

    处理问题变成人身攻击。不管软件开发,还是项目管理,最终落到实处都是人在执行。俗话讲有人的地方就有江湖,人与人难免会有摩擦,冲突是在所难免。但有时候处理冲突如果演...

    歪脖贰点零
  • 挖掘Oracle日志的“大杀器”

    编辑手记: LogMiner是用于Oracle日志挖掘的利器,使用该工具可以轻松获得Oracle 重做日志文件(归档日志文件)中的具体内容,LogMiner分析...

    数据和云

扫码关注云+社区

领取腾讯云代金券