5组-Aggregated Residual Transform

作者: Kove_e1c2 | 来源:发表于2018-04-29 00:03 被阅读20次

    文献阅读报告

    1. 前言

    在ImageNet数据集上作者评估了深度高达152层的残差网络——比VGG深8倍但仍具有较低的复杂度,这些残差网络的集合在ImageNet测试集上取得了3.57%的错误率。在ImageNet和COCO 2015竞赛中,深度残差网络 ResNet 在图像分类、目标检测和语义分割各个分项都取得最好成绩。ResNet 作者之一何恺明在去到 Facebook AI 实验室后,继续改进工作提出了 ResNeXt,其中ResNeXt 采用多分支的同构结构,且只需要设定较少的超参数,经分析得出在深度、宽度之外神经网络的另一个衡量指标——“基数”。

    本文从何恺明和他的同事 ResNeXt 论文开始,介绍最近开源的 ResNeXt 的一个Torch 实现,分析阅读论文有助于掌握 ResNeXt “基数”对深度神经网络的意义

    2. 文献阅读与分析

    2.1文献介绍

    文献标题:Aggregated ResidualTransformations for Deep Neural Networks

    文献来源:2017 IEEE Conference onComputer Vision and Pattern Recognition

    文献作者:Saining Xie Ross Girshick Piotr Doll´ar Zhuowen Tu   Kaiming He

    2.2文献内容与分析

    2.2.1研究背景

    视觉识别的工作正在从“feature engineering”向“network engineering”转变。与传统的手工设计特征(SIFT和HOG)相比,神经网络从大量数据中学习到的特征可以在训练过程中最小化人为干预,并且可以在各种识别任务中使用。但随着超参数(宽度,滤波器/核尺寸,步长等)数量的增加,设计网络模型变得越来越难,尤其是当网络层数很深的时候。

    VGG网络提出了一种简单有效的方式来构建深层神经网络,在ResNet中也使用了这种策略;谷歌的Inception 模型证明了精心设计的网络拓扑结构可以在较低理论复杂度的情况下获得较好的效果。

    尽管Inception的精度很高,但该模型的实现伴随着一系列难题:滤波器的数量和尺寸都是针对每个单独的转换而特制的。尽管将这些模快组合好会得到表现优异的网络模型,但通常不知道如何将初始体系结构适用于新的数据集/任务,尤其是当需要设计许多因素和超参数时。

    本文提出了一个采用VGG / ResNets重复策略的简单架构模型的策略,同时使用简单可行的方式使用split-transform-merge策略。

    2.2.2  研究原理

    网络中的一个模块执行一组变换,每个变换都是低维嵌入,其输出通过求和进行聚合。这个想法很容易获得实现,要聚合的变换都是相同的拓扑结构(如图一右),且这种设计允许扩展到任何大量的转换而无需专门的设计。

    Figure 1. Left: A block of ResNet . Right: A block of ResNeXt with cardinality = 32, with roughly the same complexity . A layer is shown as(# in channels, filter size, # out channels).

    该模型有两个等价的形式(图2)。图2b有点类似于Inception-ResNet模块,因为它有多条连接路径。但是该模块不同于现有的Inception模块,因为我们所有的路径具有相同的拓扑结构,因此可以很容易地将路径作为研究的一个因素。该模块可以通过Krizhevsky等人的分组卷积(图2c)进行重新构建。即使在维持计算复杂性和模型大小的限制条件下,聚合变换的性能也优于原始ResNet模型,比如图1右旨在保持图1左的FLOPs复杂度和参数数量。尽管通过提高容量(更深或更宽)来提高精确度相对容易,但在保持(或降低)复杂度的同时提高准确性的方法在文献中并不多见。

    除了宽度和深度之外,基数(变换集的大小)是一个最重要的的具体可测量维度。实验表明,增加基数是获得准确性的更有效途径,而不是增加深度,尤其是当深度和宽度开始给现有模型带来增益减少的时候。

    Figure 2. Equivalent building blocks of ResNeXt. (a):Aggregated residual transformations, the same as Fig. 1 right. (b): A block equivalent to (a), implemented as early concatenation. (c): A block equivalent to (a,b), implemented as grouped convolutions . Notations in bold text high light the reformulation changes. A layer is denoted as (# input channels, filter size, # output channels).

    2.2.3  研究方法

    (1)模版(Template)

    本文采用高度模块化的设计理念,网络由一系列residual block组合而成。并遵循两个简单的规则:

    ① 如果空间特征的尺寸相同,那么blocks具有相同的超参数(宽度、滤波器尺寸等);

    ② 如果空间特征的维度减半,那么block的宽度加倍。

    其中第二条规则使得所有blocks的计算复杂度基本相同。依照这两条规则只需要设计一个模板(template),而网络中的所有模块都可以根据模板(template)来设计。

    (2)聚合转换(Aggregated Transformations)

    最简单的人工神经元执行内积操作,而这种操作可以被重新定义为splitting-transforming-aggregating操作,内积可以看作聚合变换的一种形式:

    splitting:向量x拆分为低维

    transforming:将低维表示进行转换,即计算wixi

    aggregating:将拆分转换的内容进行聚合,即进行求和操作。

    这项操作(通常包括一些非线性输出)也被称为“神经元”,见图3

                                                    Figure 3. A simple neuron that performs inner product.

    而如果将内积的基本变换替换成更一般的函数,则为聚合变换:

    C表示需要聚合的转换集合的大小,定义为cardinality,它的取值控制着复杂变换的规模。通过实验发现,增大cardinality比增加深度(deep)和宽度(wide)更有效。

    (3)模块容量

    事实上,ResNeXt在保持模型复杂度和参数规模不变的情况下提升了模型准确率。这是通过减少超参数的数量做到的。虽然在每个卷积层中总的通道数要比ResNet多,但是两者的参数总量是一致的。

    (4)等价形式

    本文提出了三种等价的ResNeXt blocks,如图2所示。图2(a)即为文章所说的aggregated residual

    transformations(聚合残差转换);图2(b)类似于Inception-ResNet,但是paths是相同的拓扑结合;图2(c)则采用了grouped convolutions(分组卷积),可以减少计算量这三种结构是严格等价的。但本文采用图2(c)的结果,因为此结构比较简洁且速度更快。

    (5)小结

    本文的创新点即提出了aggregated transformations,使用平行堆叠相同拓扑结构的blocks,使得参数数量级基本不变,而由于采用相同的拓扑结构,超参数的数量明显减少,便于模型泛化,且提升了准确率和效率。

    2.2.4  研究实验对比

    通过实验发现,ResNeXt50 的准确度近似等于 ResNet101层的效果,看下图对比:

    Figure 4. Training

    curves on Image Net-1K. (Left): ResNet/ResNeXt-50 with preserved complexity (∼4.1 billion FLOPs, ∼25 million parameters); (Right): ResNet/ResNeXt-101 with preserved

    complexity (∼7.8 billion FLOPs, ∼44 million parameters).

    Table 1. Ablation experiments on Image Net-1K. (Top): ResNet-50 with preserved complexity (∼4.1 billion FLOPs); (Bottom):ResNet-101 with preserved complexity (∼7.8 billion FLOPs). The error rate is evaluated on the single crop of 224×224 pixels.

    Table 2. Comparisons on Image Net-1K when the number of FLOPs is increased to 2× of ResNet-101’s. The error rate is evaluated on the single crop of 224×224 pixels. The highlighted factors are the factors that increase complexity.

    对比结论:

    (1)与 ResNet 相比,在相同的参数个数条件下,ResNeXt 结果更好,换句话说同样的效果,ResNeXt的计算量更少;

    (2)一个 50 层的 ResNeXt 网络,和 101 层的 ResNet 准确度接近;

    (3)增大基数比增大模型的宽度或者深度效果更好;

    (4)ResNeXt 网络结构更加简单,仅需要少量的超参数来描述。

    3. 文献阅读总结

    纵观全文,作者的核心创新点就在于提出了 aggregated transformations,用一种平行堆叠相同拓扑结构的blocks代替原来 ResNet 的三层卷积的block,在不明显增加参数量级的情况下提升了模型的准确率,同时由于拓扑结构相同,超参数也减少了,便于模型移植。

    相关文章

      网友评论

        本文标题:5组-Aggregated Residual Transform

        本文链接:https://www.haomeiwen.com/subject/vyonlftx.html