炼丹-深度学习-《Aggregated Residual Transformations for Deep Neural Networks》

ResNeXt通过增加cardinality(基数)而非深度或宽度,提高了深度神经网络的性能。作者提出了一个同质、多分支的网络结构,每个分支具有相同的拓扑结构,减少了超参数的选择自由度,降低了模型对数据集的过拟合风险。实验显示,ResNeXt在ImageNet-1K和ImageNet-5K数据集上取得了优于ResNet和其他模型的性能。
摘要由CSDN通过智能技术生成

Aggregated Residual Transformations for Deep Neural Networks

原文地址:Aggregated Residual Transformations for Deep Neural Networks

生词:

单词 释义
topology 拓扑
aggregate 聚合
cardinality 基数
minimal 最小的;极简主义
compelling 引人入胜的,难以抗拒的
concrete 具体的,有形的,钢筋混
decomposition 分解;腐烂
harnesses 挽具,马具,保护带
recast 重新安排,重新浇铸
succinct 简洁的
proportional 成比例的

Abstract

Resnext的网络结构聚合了一系列的block,这些block都是基于同样的拓扑结构的。按照这个思路,模型的机构是一个同质、多分枝的网络结构,并且只有很少的参数需要去设置。branch个数的作为一个新的维度,我们成为cardinality,中文基数。

实验表明,即使是在限制了复杂度的情况下,增加cardinality也可以增加分类的准确率。更确切的说,增加cardinality比加深或者加宽模型深度更加有效。

Introduction

计算机视觉的任务已经从"feature engineering"转向"network engineering"。初期的时候网络结构不会太深,所以特征的学习需要极少的人工干预,现在随着网络层数的增多,各类超参的数量爆炸式的增长,所以网络结构的设计变得越来越难。

我们都知道vgg通过堆叠简单的、具有相同尺寸的building-block来构建更深的网络,ResNet也继承了vgg的工作,采用相同的堆叠方式来构建模型,这一简单的规则带来一个问题:超参数选择的自由度减少了,并且深度变成了神经网络中的一个essential dimension但是,作者认为这种简单的规则是可以降低超参数过度自适应数据集的风险的。

不同于vgg网络,Inception系列的模型已经证明了,经过精心设计的拓扑结构可以在很低复杂度的情况下依旧达到很好的效果。虽然Inception模型已经升级换代了好几次,但是最基本的策略依旧是:split-transform-merge。这个策略首先将input通过1x1的卷积映射到不同的低维embedding,最后通过一些3x3或者5x5的卷积核来改变形状,然后通过concatenation来merge。可以被证明这种结构的解空间是单独层(例如5x5的卷积核)在高维空间操作的解空间的子空间。这种做法当然是有弊端的,由于有过多复杂的参数,例如filter的个数,size等,对于每一种transformation都需要定做,虽然仔细的组合对于特定数据集能产生很好的效果,但是对于新的数据集却需要重新调整超参数。

在本文中,作者两种结构都用,既用了VGG/ResNets’中的简单堆叠,又探索了split-transform-merge策略的更加简单的使用方式。和Inception不通,每一个module里面的transformations不需要逐个精细的设计,而是统一采用一样的拓扑结构,这样的话就可以直接拓展到任何数量的transformations而不需要额外的特殊设计。具体见下图,右边就是文章中的一个module结构

module-of-ResNeXt

下面是作者提出的三种resnext block的等价形式:

three-equivalent-of-resnext-block

3(a)是最初始的形式,3(b)是resnet-inception的类似形式,对所有的transications进行concatenate后再进行卷积,和Inception不同的是所有的path都是一样的shape。3©是简要格式,中间层采用了组卷积。

作者通过实验证明,cardinality这个参数在提升准确率的性价比上高于增加模型的宽度和深度。

在成果上,resnext比resnet-101/152,ResNet-200,Inception-v3和Inception-ResNet-v2的表现都更加优异。实验中,一个101-layer的ResNeXt就比200层的ResNet效果好,并且复杂度只有其50%。作者用ResNeXt在ILSVRC 2016的图像分类任务上拿到了第二名。并在ImageNet-5K数据集上和COCO物体检测任务上拿到了比ResNet更好的成绩。

Related Work

Multi-branch convolutional networks

Inception系列的模型有很多成功的多分枝网络。ResNet也可以堪称一个简单的二分支网络,其中一个分支是identity mapping。Deep neural decision forests是一个树形的多分枝网络。

Group convolutions

最早的组卷积应该是AlexNet中提出的,但是这篇文章提出组卷积的目的在于把模型分布运行在两个GPU上。就目前而言,有很少的迹象表明组卷积有提升模型准确率的优点。一个比较特殊的例子就是channel-wise convolutions。

Compressing convolutional networks

Decomposition:在空间或者通道上对网络进行分解,是一个减少网络复杂度的有效手段。

Ensembling

将一系列独立的模型进行平均是用来提升准确率的有效手段,这种方式被广泛的应用于竞赛。我们的模型中虽然聚合了一堆transformations,但是不能称为ensemble,因为各个模块不是独立训练而是联合训练的。

Method

Template

网络是通过堆叠一系列的residual-block组成的。这些blocks有相同的拓扑结构,并且满足下面两个简单的原则:

  • (i) 如果产生相同size的map,那么这些blocks的超参数相同,例如宽高度,卷积核个数。
  • (ii) 每次spatial map以2为倍数下采样,blocks的宽度就增加一倍。这条规则是为了确保计算复杂度相同。这里的block的宽度指的是block-neck中,把原始输入做降维时卷积核的个数。

根据这两个原则,我们只需要设计一个template module,那么整个网络就可以被确定下来。这两个原则极大的缩小了网络的搜索空间,让设计网络的人只需要关注极少的几个变量,下面事物网络结构和resnet的对比图,两者的FLOPS基本相当。
resNet-vs-resNeXt

Revisiting Simple Neurons

我们以最简单的线性神经元为例,这种split-transform-merge方法我们可以拆分成split,transforming和aggregating。

linear neural

  • split:就是把x拆分成一个个独立的xi
  • transforming:把拆分后的低纬表示进行转换。在这里就是wixi。
  • aggregating:把所有的transformations都aggregate,这里就是加和操作。

Aggregated Transformations

根据上述对于线性网络的分析,我们再来看wixi,假如我们把它看成一个更加抽象的方程,那么是不是就可以看成为Network-in-Neuron,这个说法是相当于Network-in-Network而言的,Network-in-Network主要指depth这个维度,而Network-in-Neuron主要是指cardinality这个维度。

把transformations看成一般式的话,那这个aggregated transformations就可以表达成如下的公式:

F ( x ) = ∑ i = 1 C T i ( x ) F(x)=\sum_{i=1}^{C}T_{i}(x) F(x)=i=1CTi(x)
其中 T i ( x ) T_i(x) Ti(x)可以看成是任意的方程,其目的是把x映射到一个相对低维的空间并做转换,也就是split和transformations。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值