ResNeXt:Aggregated Residual Transformations for Deep Neural Networks

在ResNet的基础上引入分组卷积,降低模型参数量的同时,要求模型生成更鲁棒的特征

什么是 ResNeXt ?

  • ResNeXt-20230408141106
  • ResNeXt 同时借鉴 ResNet的"堆叠相同 Shape 子结构"和 Inception 的"split-transform-merge",不过不同于 Inception,ResNeXt 不需要设计复杂的 Inception 模块,而是每个分支采用相同的拓扑结构
  • ResNeXt的本质是分组卷积,通过变量基数来控制组的数量

ResNeXt的网络结构?

  • ResNeXt-20230408141107
  • 首选ResNeXt借鉴VGGNet网络结构特点(堆叠块),然后再借鉴GoogleNetv1的"split-transform-merge"设计出ResNeXt的基本结构,图中ResNeXt每块采用C个相同分支进行变换,ResNeXt-50(32x4d)的32表示每块采用的分组数量,4d表示每组卷积输出的通道数
  • 由图可知,ResNet-50与ResNeXt-50(32x4d)参数相近,所需计算量也相近

ResNeXt实现残差学习的原理

  • ResNeXt-20230408141108
  • 由ResNet学习残差原理可知,ResNet学习残差的方式为F(x)+xF(x)+x
  • ResNeXt学习残差的公式为:i=1CTi(x)+x\sum_{i=1}^{C} T_{i}(x)+x ,这里的Ti(x)T_i(x) 指的是ResNeXt的多个相同拓扑的路径,其中的C指的是路径重复的数量,也即ResNeXt中的“基数”
  • 上图是ResNet及ResNeXt的基本块,在第一层转换中,ResNet的256个特征图直接通过1x1卷积转为64个,而ResNeXt将卷积核分为32组(每个卷积核大小为256x1x1x4),每组生成4个特征图,每组特征concatenation得到128个特征图

ResNeXt、InceptionResNet、分组卷积的关系?

  • ResNeXt-20230408141108-1
  • 上图a、b、c分别是ResNeXt、InceptionResNet相似块、分组卷积,通过计算分析,上图三种结构确实等价,b与c等价是显然的
  • a 与 b 等价的原因是:在 a 中,4维特征图通过1\1卷积变为256维,然后32个256维数据求和,而在 b 中,是先将4维数据 concat 成 128维,在利用1x1卷积,实际上也就是求和过程
  • 第三种结构较为简单且具有较高的效率,所以作者在实验中选择第三种结构