Aggregated Residual Transformations for Deep Neural Networks
ResNet和ResNeXt的block结构对比
两者的参数量对比
ResNeXt的三种实现方式
具体实现
通常采用 Figure 3 (c) 的group convolution的实现方式,比较Figure 1 Left 和 Figure 3 (c) 可以发现改变的地方 i.middle channel变了 ii.中间的3×3卷积采用了group=32的组卷积。
ResNeXt相比ResNet主要多了两个参数,groups和width_per_group。groups是组卷积的组数,即Figure 1 Right 中paths的数量,Figure 3 (c) 中3×3组卷积的组数。width_per_group是Figure 1 Right 中每一个path中的middle channel,在这里是4。在一些不同的结构中,如resnext50-32×4d,resnext50-32×8d,resnext101-64×8d,这里的32×4d指的就是groups和width_per_group这两个参数。
注意,group数在每个stage中的每个block中都是不变的,每个block中的middle channel随着stage的递增的每次×2,这一点和resnet是一样的。在resnet50中,每个stage的middle channel分别为(64, 128, 256, 512),resnext50中分别为(128, 256, 512, 1024)。