Aggregated Residual Transformations for DeepNeural Networks -ResNetXt2017【论文理解】

前言

这是残差家族的新的成员,在残差网络结构的设计中加入了“基数Cardinality”的概念,本质上就是分组卷积group convolution的运用,分组卷积最早的提出是在AlexNet中,是为了解决显存不够大的问题而提出的。具有相同网络拓扑结构的模块堆叠而成,在ImageNet分类中性能上优于ResNet-101/152[1],ResNet200 [2], Inception-v3 [3]以及 Inception-ResNet-v2 [4] 。并且搭建简单,不像inception网络的每一个模块都是经过了精心的设计,经过精心设计的模块可能并不适应于新的数据集。
因为是分类网络,所以直接看分类的效果:
在这里插入图片描述
在数据集 ImageNet-1K上效果明显优于网络层数相同时的ResNet。
在这里插入图片描述

重新思考神经元

人工神经网络中最简单的神经元执行内积(加权和),即由完全连通和卷积层完成的初等变换。公式如下, i = 1 D w i x i \sum_{i=1}^{D}{w_ix_i}, 此时 x = [ x 1 , x 2 , x 3 . . . . . x D ] x = [x_1,x_2,x_3.....x_D] 为D通道的输入数据, w i w_i 是卷积核对第i个输入通道的权重,如下图所示:在这里插入图片描述
而这种形式就可以简单拆分成 分割、转换、聚合的三元操作:分割:数据以 x i x_i 为单一的低纬度进行拆分,总共有D个;转换:对单一的某一通道进行 w i w_i 的内积,对数据进行变换;聚合:最后对所有的D个转换结果进行聚合,即 i = 1 D \sum_{i=1}^{D}

思考inception结构设计

其实inception model的结构设计也是一种 分割、转换、聚合的三元操作。使用 1 1 1*1 的卷积进行低纬度的分解,再对每一个维度进行 3 3 3*3 或者是 5 5 5*5 的转换操作最后使用concat进行聚合操作。尽管这些组件的仔细组合产生了优秀的神经网络方案,但是通常不清楚如何使先启架构适应新的数据集/任务,特别是当有许多因素和超参数需要设计时。

新的blocks设计

可以结合分割、转换、聚合的三元操作进残差模块之中,如下图所示,右边为原始的ResNet模块,左边为分解为32个简单通道再进行转换操作:

在这里插入图片描述
基数cardinality可以任意控制转换的复杂度,而左边的网络结构形式有如下三种等效的形式
在这里插入图片描述
最终使用的是左边的©使用组合卷积达到相同的结果。
新的网络101层的ResNetXt能够达到ResNet-200 的准确率,但是只有其复杂度的一半。

网络结构与性能

在这里插入图片描述

参考

[1] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.
[2] K. He, X. Zhang, S. Ren, and J. Sun. Identity mappings in deep residual networks. In ECCV, 2016.
[3] C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna. Rethinking the inception architecture for computer vision. In CVPR, 2016.
[4] C. Szegedy, S. Ioffe, and V. Vanhoucke. Inceptionv4, inception-resnet and the impact of residual connections on learning. In ICLR Workshop, 2016.

猜你喜欢

转载自blog.csdn.net/m0_37477175/article/details/84632852