ResNeXt:Aggregated Residual Transformations for Deep Neural Networks
在ResNet的基础上引入分组卷积,降低模型参数量的同时,要求模型生成更鲁棒的特征
什么是 ResNeXt ?
- ResNeXt 同时借鉴 ResNet的"堆叠相同 Shape 子结构"和 Inception 的"split-transform-merge",不过不同于 Inception,ResNeXt 不需要设计复杂的 Inception 模块,而是每个分支采用相同的拓扑结构
- ResNeXt的本质是分组卷积,通过变量基数来控制组的数量
ResNeXt的网络结构?
- 首选ResNeXt借鉴VGGNet网络结构特点(堆叠块),然后再借鉴GoogleNetv1的"split-transform-merge"设计出ResNeXt的基本结构,图中ResNeXt每块采用C个相同分支进行变换,ResNeXt-50(32x4d)的32表示每块采用的分组数量,4d表示每组卷积输出的通道数
- 由图可知,ResNet-50与ResNeXt-50(32x4d)参数相近,所需计算量也相近
ResNeXt实现残差学习的原理
- 由ResNet学习残差原理可知,ResNet学习残差的方式为
- ResNeXt学习残差的公式为: ,这里的 指的是ResNeXt的多个相同拓扑的路径,其中的C指的是路径重复的数量,也即ResNeXt中的“基数”
- 上图是ResNet及ResNeXt的基本块,在第一层转换中,ResNet的256个特征图直接通过1x1卷积转为64个,而ResNeXt将卷积核分为32组(每个卷积核大小为256x1x1x4),每组生成4个特征图,每组特征concatenation得到128个特征图
ResNeXt、InceptionResNet、分组卷积的关系?
- 上图a、b、c分别是ResNeXt、InceptionResNet相似块、分组卷积,通过计算分析,上图三种结构确实等价,b与c等价是显然的
- a 与 b 等价的原因是:在 a 中,4维特征图通过1\1卷积变为256维,然后32个256维数据求和,而在 b 中,是先将4维数据 concat 成 128维,在利用1x1卷积,实际上也就是求和过程
- 第三种结构较为简单且具有较高的效率,所以作者在实验中选择第三种结构