方法

提出来 cardinality 的概念,在上图左右有相同的参数个数,其中左边是 ResNet 的一个区块,右边的 ResNeXt 中每个分支一模一样,分支的个数就是 cardinality。此处借鉴了 GoogLeNet 的 split-transform-merge,和 VGG/ResNets 的 repeat layer。
所谓 split-transform-merge 是指通过在大卷积核层两侧加入 1x1 的网络层,控制核个数,减少参数个数的方式。

而 repeat layer 则是指重复相同的几层,前提条件是这几层的输出输出具有相同的维度,一般在不同的 repeat layers 之间使用 strip=2 降维,同时核函数的个数乘 2。

以上图为例,中括号内就是 split-transform-merge,通过 cardinality(C) 的值控制 repeat layer。
output 在上下相邻的格子不断减半,中括号内的逗号后面卷积核的个数不断翻倍。
等价模式
图一右侧的模型有两个等价的模型,最右侧是 AlexNet 中提出的分组卷积,相同层的 width 分组卷积,最终作者使用的是下图最右边的模型,更加简洁并且训练更快。

实验

结论
ResNeXt 与 ResNet 在相同参数个数情况下,训练时前者错误率更低,但下降速度差不多
相同参数情况下,增加 cardinality 比增加卷几个数更加有效
101 层的 ResNeXt 比 200 层的 ResNet 更好
几种 sota 的模型,ResNeXt 准确率最高
参考链接:
ResNeXt
ResNeXt算法详解
经典分类CNN模型系列其八:ResNeXt
ResNeXt的分类效果为什么比Resnet好?
ResNeXt、SENet、SE-ResNeXt论文代码学习与总结
ResNeXt 学习——ResNeXt50
网友评论