本文已参与「新人创作礼」活动,一起开启掘金创作之路。
之前介绍了ResNetResNet - 掘金 (juejin.cn),本篇介绍下ResNeXt
在这篇文章中,作者介绍了ResNeXt。ResNeXt是ResNet和Inception的结合体,不同于Inception v4的是,ResNext不需要人工设计复杂的Inception结构细节,而是每一个分支都采用相同的拓扑结构。ResNeXt的本质是分组卷积(Group Convolution),通过变量基数(Cardinality) 来控制组的数量。组卷机是普通卷积和深度可分离卷积的一个折中方案,即每个分支产生的Feature Map的通道数为 n(n>1) 。
通过下面的网络结构可以看到ResNeXt和ResNet基本一样,ResNeXt与ResNet的主要区别就是ResNeXt将ResNet的每个Block进行了替换,换成了新设计的Block,所以将这种新的Block学会也就是学会了ResNeXt。
这里32×4d的32是指group数,4d是指conv2每个组卷积核个数
网络结构
group卷积
ResNeXt就是将ResNet中的残差模块换成了右边这个模块
下面三个模块在数学计算上是等价的
注意:
只有当模块层数大于等于3时才能构建出一个有意义的block,所以对于ResNet中的浅层网络(18和34层)是不改变的。上图两个是数学上等价的,所以如果对于2层的改变,那么和原本的没什么区别,卷积核的个数还增多了。
We note that the reformulations produce nontrivial topologies only when the block has depth ≥3. If the block has depth = 2 (e.g., the basic block in [14]), the reformulations lead to trivially a wide, dense module. See the illustration in Fig. 4.