Aggregated Residual Transformations for Deep Neural Networks

Abstract

  • 我们提出了一种简单,高度模块化的网络架构,用于图像分类。我们的网络是通过重复构建块来构建的,该构建块聚合了具有相同拓扑的一组转换。我们的简单设计产生了一个同构的多分支架构,只需要设置一些超参数。这种策略暴露了一个新的维度,我们将其称为“基数”(转换集的大小),作为深度和宽度维度之外的一个重要因素。在ImageNet-1K数据集上,我们凭经验表明,即使在保持复杂性的限制条件下,增加基数也能够提高分类准确性。此外,当我们增加容量时,增加基数比更深或更宽更有效。我们的模型名为ResNeXt,是我们进入ILSVRC 2016分类任务的基础,我们获得了第二名。 我们在ImageNet-5K集和COCO检测集上进一步研究ResNeXt,也显示出比其ResNet对应物更好的结果。 代码和模型可在线公开获取1。

Introduction

  • 视觉识别研究正在从“特征工程”向“网络工程”过渡。与传统的手工设计特征(例如,SIFT [29]和HOG [5])相比,神经网络从大规模数据中学到的特征[33]在训练期间需要最少的人为参与,并且可以转移到各种识别任务。然而,人类的努力已经转移到为学习表示设计更好的网络架构。
  • 随着越来越多的超参数设计架构变得越来越困难,尤其是当存在多个层时。VGG网[36]展示了一种构建非常深的网络的简单而有效的策略:堆叠相同形状的构建块。这种策略由ResNets [14]继承,它堆叠了相同拓扑的模块。这个简单的规则减少了超参数的自由选择,并且深度作为神经网络中的一个基本维度暴露出来。 此外,我们认为此规则的简单性可以降低过度调整超参数到特定数据集的风险。 各种视觉识别任务以及涉及语音和演讲的非视觉任务已经证明了VGGnets和ResNets的稳健性。
  • 与VGG网络不同,Inception模型系列[38,17,39,37]已经证明精心设计的拓扑结构能够以较低的理论复杂度实现引人注目的精度。Inception模型随着时间的推移而发展[38,39],但一个重要的共同属性是分裂变换合并策略。在初始模块中,输入被分成几个低维嵌入(通过1×1卷积),由一组专用滤波器(3×3,5×5等)转换,并通过串联合并。可以证明,该体系结构的解空间是在高维嵌入上操作的单个大层(例如,5×5)的解空间的严格子空间。预期Inception模块的分裂变换合并行为接近大而密集层的表示能力,但计算复杂度要低得多。
  • 尽管准确度很高,但是Inception模型的实现伴随着一系列复杂因素 - 过滤器数量和尺寸是针对每个单独的转换而定制的,并且模块是逐步定制的。 虽然这些组件的仔细组合可以产生出色的神经网络配方,但一般不清楚如何使Inception架构适应新的数据集/任务,尤其是在有许多因素和超参数设计时。
  • 在本文中,我们提出了一种简单的体系结构,它采用VGG / ResNets的重复层策略,同时以简单,可扩展的方式利用分裂变换合并策略。 我们网络中的模块执行一组转换,每个转换都在低维嵌入上,其输出通过求和来聚合。 我们追求这个想法的简单实现 - 要聚合的转换都是相同的拓扑(例如,图1(右))。 这种设计允许我们在没有专门设计的情况下扩展到任何大量的转换。
  • 有趣的是,在这种简化的情况下,我们表明我们的模型有另外两种等价形式(图3)。 图3(b)中的重新制定看起来类似于InceptionResNet模块[37],因为它连接了多条路径; 但是我们的模块与所有现有的Inception模块的不同之处在于,我们所有的路径共享相同的拓扑结构,因此路径的数量可以很容易地被隔离作为要调查的因素。 在一个更简洁的重新制定中,我们的模块可以通过Krizhevsky等人的分组卷积[24](图3(c))进行重塑,然而,这些卷积已经被开发为工程折衷方案。
  • 我们的方法表明,除了宽度和深度的维度之外,基数(变换集的大小)是具有重要性,可测量的维度,这是至关重要的。 实验证明,增加基数是获得精确度的一种更有效的方式,而不是更深或更宽,特别是当深度和宽度开始给现有模型的收益递减时。
  • 我们的神经网络,名为ResNeXt(暗示下一个维度),在ImageNet分类数据集上优于ResNet-101/152 [14],ResNet 200 [15],Inception-v3 [39]和Inception-ResNet-v2 [37]。 特别是,101层ResNeXt能够实现比ResNet-200更好的精度[15],但复杂度仅为50%。 此外,ResNeXt展示的设计比所有Inception模型简单得多。 ResNeXt是我们提交ILSVRC 2016分类任务的基础,我们获得了第二名。 本文进一步评估了ResNeXt在较大的ImageNet-5K集和COCO对象检测数据集[27],显示出比ResNet对应物更高的准确度。 我们希望ResNeXt能够很好地概括其他视觉(和非视觉)识别任务。

Related Work

  • 多分支卷积网络。 Inception模型[38,17,39,37]是成功的多分支架构,其中每个分支都经过精心定制。 ResNets [14]可以被认为是双分支网络,其中一个分支是身份映射。 深度神经决策森林[22]是具有学习分裂功能的树状图案多分支网络。
  • 分组卷积。 使用分组卷积可以追溯到AlexNet论文[24],Caffe [19],Torch [3]和其他库支持分组卷积,主要是为了兼容AlexNet。 据我们所知,几乎没有证据表明利用分组卷积来提高准确性。 分组卷积的特殊情况是通道方式,其中组的数量等于通道的数量。 通道方式的卷积是[35]中可分离卷积的一部分。
  • 压缩卷积网络。 分解(在空间[6,18]和/或信道[6,21,16]级别)是广泛采用的技术,以减少深度卷积网络的冗余并加速/压缩它们。 Ioannou等人提出了一种用于减少计算的“根”模式网络,并且根中的分支通过分组卷积来实现。 这些方法[6,18,21,16]显示了精度的优雅折衷,具有较低的复杂性和较小的模型尺寸。 我们的方法不是压缩,而是一种经验上表现出更强代表能力的架构。
  • Ensembling。 平均一组独立训练的网络是提高准确性的有效解决方案[24],在识别竞赛中广泛采用[33]。 Veit等人。 [40]将单个ResNet解释为较浅网络的集合,这是由ResNet的附加行为[15]产生的。 我们的方法利用添加来聚合一组转换。 但我们认为将我们的方法视为集合是不精确的,因为要聚合的成员是联合训练的,而不是独立训练的。

Method

  • 我们采用VGG / ResNets之后的高度模块化设计。 我们的网络由一堆残余块组成。 这些块具有相同的拓扑结构,并受到VGG / ResNets启发的两个简单规则的约束:(i)如果生成相同大小的空间映射,则块共享相同的超参数(宽度和滤波器大小),以及(ii) )每当空间图被下采样2倍时,块的宽度乘以因子2.第二个规则确保计算复杂度,就FLOP而言(浮点运算) 乘法 - 加法),对于所有块大致相同。有了这两个规则,我们只需要设计一个模板模块,就可以相应地确定网络中的所有模块。 因此,这两条规则大大缩小了设计空间,使我们能够专注于几个关键因素。 这些规则构建的网络见表1。
  • 人工神经网络中最简单的神经元执行内积(加权和),这是由完全连接和卷积层完成的基本变换。 内积可以被视为聚合转型的一种形式:其中是神经元的D通道输入向量,wi是第i个通道的滤波器权重。 该操作(通常包括一些输出非线性)被称为“神经元”。上述操作可以重新组合为拆分,转换和聚合的组合。 (i)分裂:矢量x被切片为低维嵌入,并且在上面,它是单维子空间。 (ii)变换:低维表示被转换,并且在上面,它被简单地缩放:。 (iii)聚合:所有嵌入的转换由聚合
  • 鉴于上述对简单神经元的分析,我们考虑用更通用的函数替换初等变换,该函数本身也可以是网络。 与“网络中的网络”[26]相比,结果证明我们的“神经网络”在一个新的维度上扩展。在形式上,我们将聚合转换呈现为:
  • 其中可以是任意函数。 类似于一个简单的神经元,应该将x投射到(可选的低维)嵌入中,然后对其进行转换。
  • 在等式(2)中,C是要聚合的变换集的大小。 我们将C称为基数[2]。 在等式(2)中,C处于与等式(1)中的D类似的位置,但是C不需要等于D并且可以是任意数。 虽然宽度的维度与简单变换的数量(内积)有关,但我们认为基数的维度控制着更复杂的变换的数量。 我们通过实验表明,基数是一个基本维度,可以比宽度和深度的维度更有效。
  • 在本文中,我们考虑一种设计变换函数的简单方法:所有都具有相同的拓扑结构。 这扩展了重复相同形状图层的VGG风格策略,这有助于隔离一些因素并扩展到任何大量的转换。 我们将单个转换设置为瓶颈形状的架构[14],如图1(右)所示。 在这种情况下,每个中的第一个1×1层产生低维嵌入。
  • 面的模块使用分组卷积的符号变得更简洁[24] .4这种重新制定如图3(c)所示。 所有低维嵌入(第一个1×1层)可以由单个较宽的层(例如,图3(c)中的1×1,08-d)代替。 当分组卷积层将其输入通道分成组时,分裂基本上由分组卷积层完成。 图3(c)中的分组卷积层执行32组卷积,其输入和输出通道是4维的。 分组的卷积层将它们连接为层的输出。 图3(c)中的块看起来像图1中的原始瓶颈残留块(左),除了图3(c)是更宽但稀疏连接的模块。
  • 我们注意到,只有当块具有深度≥3时,重构才产生非平凡的拓扑。 如果块具有深度= 2(例如,[14]中的基本块),则重新构造导致宽的密集模块。
  • 我们在下一节中的实验将表明,我们的模型在维护模型复杂性和参数数量时提高了准确性。 这不仅在实践中很有意思,更重要的是,参数的复杂性和数量代表模型的固有能力,因此通常作为深度网络的基本属性进行研究[8]。当我们在保持复杂性的同时评估不同的基数C时,我们希望最小化其他超参数的修改。 我们选择调整瓶颈的宽度(例如,图1(右)中的4-d),因为它可以与块的输入和输出隔离。 此策略不会对其他超参数(块的深度或输入/输出宽度)进行任何更改,因此有助于我们专注于基数的影响。

Implementation details

  • 我们的实现遵循[14]和公开的fb.resnet.torch代码[11]。 在ImageNet数据集上,使用由[11]实现的[38]的比例和宽高比增强,从调整大小的图像中随机裁剪输入图像224×224。 快捷方式是身份连接,除了那些增加的维度是投影([14]中的类型B)。 如[11]中所建议的,对每个阶段的第一个块的3×3层中的步幅2卷积进行conv3,4和5的下采样。 我们在8个GPU(每个GPU 32个)上使用小批量256的SGD。 重量衰减为0.0001,动量为0.9。 我们从学习率0.1开始,并使用[11]中的时间表将其除以10三次。 我们采用[13]的权重初始化。 在所有消融比较中,我们从短边为256的图像评估单个224×224中心裁剪上的误差。
  • 我们的模型通过图3(c)的形式实现。 我们在图3(c)中的卷积之后立即执行批量归一化(BN)[17] .6在每个BN之后立即执行ReLU,期望在添加到快捷方式之后执行ReLU的块的输出,[14]。我们注意到,当如上所述适当地处理BN和ReLU时,图3中的三种形式是严格等同的。 我们已经训练了所有三种形式并获得了相同的结果。 我们选择通过图3(c)实现,因为它比其他两种形式更简洁,更快速。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
众所周知,人工智能是当前最热门的话题之一, 计算机技术与互联网技术的快速发展更是将对人工智能的研究推向一个新的高潮。 人工智能是研究模拟和扩展人类智能的理论与方法及其应用的一门新兴技术科学。 作为人工智能核心研究领域之一的机器学习, 其研究动机是为了使计算机系统具有人的学习能力以实现人工智能。 那么, 什么是机器学习呢? 机器学习 (Machine Learning) 是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科。 机器学习的用途 机器学习是一种通用的数据处理技术,其包含了大量的学习算法。不同的学习算法在不同的行业及应用中能够表现出不同的性能和优势。目前,机器学习已成功地应用于下列领域: 互联网领域----语音识别、搜索引擎、语言翻译、垃圾邮件过滤、自然语言处理等 生物领域----基因序列分析、DNA 序列预测、蛋白质结构预测等 自动化领域----人脸识别、无人驾驶技术、图像处理、信号处理等 金融领域----证券市场分析、信用卡欺诈检测等 医学领域----疾病鉴别/诊断、流行病爆发预测等 刑侦领域----潜在犯罪识别与预测、模拟人工智能侦探等 新闻领域----新闻推荐系统等 游戏领域----游戏战略规划等 从上述所列举的应用可知,机器学习正在成为各行各业都会经常使用到的分析工具,尤其是在各领域数据量爆炸的今天,各行业都希望通过数据处理与分析手段,得到数据中有价值的信息,以便明确客户的需求和指引企业的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值