前言
传统的卷积神经网络在提高性能时都是加深和加宽网络,但随着超参数数量的增加(如通道数,卷积核大小等)网络变得非常难调,且网络的计算开销和网络结构设计也变得越来越难,这一点我在介绍ResNet和DenseNet大型模型的时候已经提到过了。此外这些大模型针对性比较强,即在特定数据集上表现好的网络放到新数据集上就需要修改很多的参数才能工作良好,因此可扩展性比较一般。针对上述问题,Saining Xie, Ross Girshick, Kaiming He在CVPR2017上提出了ResNeXt。论文原文地址见附录。
贡献
- 网络结构更加简单和模块化。
- 大量减少了需要手动调节的超参数,扩展性更强。
- 和ResNet相比,相同的参数个数,结果更好。具体来说,一个101层的ResNeXt 网络,和 200 层的 ResNet 准确度差不多,但是计算量只有后者的一半。
方法
网络结构
ResNeXt的网络结构如Table1所示:

Table 1的左边网络为ResNet-50,Table 1的右边网络为ResNeXt-50,括号代表残差块,括号外面的数字代表残差块的堆叠次数,而 C C C代表的ResNeXt引入的卷积分组数,同时我们可以看到这两个网络的FLOPs基本一致,也即是说模型复杂度一致。那ResNeXt有什么优点呢?这要先从分组来说起。
ResNeXt残差模块
分组数在论文中又被称为基数(cardinality),是对GoogleNet中分立合并思想和VGG/ResNet中堆叠思想的一种结合,ResNet的残差模块和ResNeXt的残差模块如Figure1所示。可以看到ResNeXt残差模块有32个基数(分组数),并且每个被聚合的拓扑结构就完全一样,这里是 1 × 1 + 3 × 3 + 1 × 1 1\times 1 + 3\times 3 + 1 \times 1 1×1+3×

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



