ResNeXt
Paper : Aggregated Residual Transformations for Deep Neural Networks
Code : official
摘要
ResNeXt 提出了 aggregated transformations,用一种平行堆叠相同拓扑结构的blocks代替原来 ResNet 的三层卷积的block,在不明显增加参数量级的情况下提升了模型的准确率。本文脱离了加深网络或是加宽网络的思路,从拓扑结构出发进行创新,比较新颖。
网络结构
上图中,左侧为普通的ResNet Block,并且是bottleneck结构,右侧是与之相对应的ResNeXt的模块,ResNeXt模块存在一个超参数表示多路的个数,称之为ResNeXt模块的基数。图中展示的是基数为32的ResNeXt模块。根据拓扑结构可知,ResNet模块与ResNeXt模块的运算量相近。
多种等价的ResNeXt模块的设计方法,如下图所示,三个子图的结构是等价的,最后一个子图用了组卷积技术使得结构更加紧凑简洁,模型实现使用的是最后一个子图的结构。**函数和批正则化的位置遵循ResNet V1的用法,Conv-BN-ReLU,在block的最后一个BN-ReLU输出时,把ReLU放在addition的后面。shortcut都用恒等映射,除了要用映射增维的时候。
使用ResNet-50改造的ResNeXt-50的网络如下
核心观点
- 提出了ResNeXt模块,证明了保持同样的复杂度,增加ResNeXt模块的基数可以提高准确率。另外,增加模型容量时,增加基数比增加深度或宽度更加有效。101-layer ResNeXt准确率比ResNet-200更高,同时花费一半的复杂度。
- ResNeXt结合了Inception和ResNet的优点,Inception的核心观点是对每一层的学习进行ensemble learning,而ResNet的核心观点是shortcut,是对于低维特征的复用。