一、简介
在ResNet的基础上,对残差结构的block进行了更新。
ResNeXt网络是一种深度神经网络架构,可以视为对ResNet(残差网络)的改进和升级。ResNeXt结合了VGG网络的堆叠相同基础模块的策略以及Inception系列网络中的split-transform-merge思想。
左边的结构更新为右边的
ResNeXt的效果比之前的网络还是有提升的。可以看到图中的错误率是明显降低的。
二、组卷积
上面是没有分组卷积,假设每个卷积核的高和宽都是k,输入的特征矩阵的深度为C,因为有n个卷积核,所以需要的参数为 k x k x C x n。
下面是进行分组卷积,假设分为g组,每一组的输入特征矩阵的深度为 C/g,每个卷积核的参数个数是 k x k x C/g,因为最终需要得到一个channel为n的特征矩阵,所以对于每一个group而言,需要使用 n/g 个卷积核所以每个group的所需参数为 k x k x C/g x n/g;又因为划分为了g个组,所以最后所需参数为k x k x C/g x n/g x g(最后化简后是图片中下面的式子)
通过比较,经过组卷积后的参数是没有使用组卷积的 1/g,g也就是我们所采用的group数
三、block更新
这三个block模块,在数学上是完全等价的
方框指向的箭头是将原来的block替换的。
(b)(c)之间的等价是通过32个组不断叠加实现的 32 x 4 = 128
(a)(b)之间的等价过程
(a)先卷积再拼接
(b)先拼接再卷积
可以看出根据举得简单的例子,两种方式在数值上都是相等的
四、ResNeXt网络参数
在搭建过程中ResNeXt与ResNet搭建非常相似,只需在ResNet的基础上更改block结构即可。
将group数设置为32是因为设置为32组时错误率最低的。