ResNeXt

主要思想:

  • Inception借鉴ResNet提出Inception-ResNet
  • ResNet也借鉴Inception提出ResNext,主要就是单路卷积变成多个支路的多路卷积,进行分组卷积。

卷积的范式

  • 归纳了Inception的模式: split-transform-merge
  • 如下图所示,先将输入分配到多路,然后每一路进行转换,最后再把所有支路的结果融合。
    ResNeXt_第1张图片
    Inception的缺点:太复杂了,人工设计痕迹过重

然后,作者分析了神经网络的标准范式就符合这样的split-transform-merge模式。一个最简单的普通神经元为例(比如FC中的每个神经元)

  • 输入的每个特征看作split
  • 经过权重的转换-transform
  • 得到的数值汇总与一个神经元上-merge
    就是对输入的m个元素,分配到m个分支,进行权重加权,然后merge求和,最后经过一个激活。
    ResNeXt_第2张图片
    ResNeXt_第3张图片

由此归纳出神经网络的一个通用的单元可以用如下公式表示:
在这里插入图片描述
上面的变换T可以是任意形式。

类似于一个简单的神经元, Ti将x投射到一个低维嵌入中,然后对其进行转换。

一共有C个独立的变换,作者将C称之为Cadinality (基数),并且指出,基数对于结果的影响比宽度和深度更加重要。
Network-in-Neuron: expands along a new dimension 新增维度
Network-in-Network (NIN): increases the dimension of depth
ResNeXt_第4张图片

  • 通过多个并行路径( “cardinality” )增加残差块的宽度
  • 并行路径在本质上与Inception模块类似
    在这里插入图片描述
    数字分别代表通道数、卷积核大小、输出通道数

Equivalent building blocks of ResNeXt 等效的构建块

b和a是等效的,其中聚合是放在了中间,而不是最后才相加;c是一种分组卷积的方式
所以说明了:

  • Inception-ResNet和通道分组卷积网络,都只是ResNext这一范式的特殊形式
  • 进一步说明了split-transform-merge的普遍性和有效性,以及抽象程度更高,更本质一点(把不同路径的多层卷积的变换看成一般神经网络的transform)
    ResNeXt_第5张图片

ResNeXt网络结构

ResNeXt_第6张图片

  • 类似ResNet,选择了简单的基本结构,每一组 c个不同的分支都进行相同的简单变换
  • ResNeXt-50 (32x4d) 32指进入网络的第一个 ResNeXt基本结构的分组数量C (即基数)为32,
  • 4d表示depth即C中每一个分组的通道数为4 (所以第一个基本结构输入通道数为128)
  • ResNet-50和ResNeXt-50 (32x4d)拥有相近个数的参数,但后者精度更高

结果

不管是ResNeXt-50还是ResNeXt-101,最后的结果都是ResNeXt错误率较低
ResNeXt_第7张图片
不管是增加ResNet的深度(200)还是宽度(1x100din),也不如改变ResNeXt的基数C为64(64x4d)更有效。
通过增加"基数"提高准确度相比让网络加深或扩大来提高准确度更有效.
ResNeXt_第8张图片
ResNeXt_第9张图片

你可能感兴趣的:(深度学习)