Aggregated Residual Transformations for Deep Neural Networks
ResNeXt
论文链接: https://arxiv.org/abs/1611.05431
一、 Problem Statement
Inception模型提出了split-transform-merge的一个策略,但总体而言,如何使初始架构适应新的数据集/任务尚不清楚,特别是当有许多因素和超参数需要设计的时候。
二、 Direction
设计一个简单的结构,融合了VGG/ResNets的重复网络层的策略和Inception模型的split-transform-merge的策略。
三、 Method
先来看一下结构:
由上面的图片可以看出,对ResNet的residual layer进行了改造,变成了32个相同的path。这里提出了一个概念: cardinality。这个有区别于网络的深度,宽度。 作者发现,增加这个cardinality比增加网络的深度和宽度更加有效地提升网络的精度,且参数量没有很大的提升。比如,左边的原始ResNet网络,参数量为:
256
⋅
64
+
3
⋅
3
⋅
64
⋅
64
+
64
⋅
256
≈
70
K
256\cdot 64 + 3 \cdot 3 \cdot 64 \cdot 64 + 64 \cdot 256 \approx70K
256⋅64+3⋅3⋅64⋅64+64⋅256≈70K
而改进后的ResNeXt参数量为:
C
⋅
(
256
⋅
d
+
3
⋅
3
⋅
d
⋅
d
+
d
⋅
256
)
C \cdot (256 \cdot d + 3 \cdot 3 \cdot d \cdot d + d \cdot 256)
C⋅(256⋅d+3⋅3⋅d⋅d+d⋅256)
这里的
C
C
C就是cardinality,
d
d
d是所对应的width。这里默认取
C
=
32
,
d
=
4
C=32, d=4
C=32,d=4。
与ResNet的对比如下:
四、 Conclusion
ResNeXt结构较为简单, 利用分组卷积,构建一种平行堆叠相同拓扑结构的block,提升了ResNet的精度的同时,不明显增加参数量。