ResNeX是ResNet网络的小幅提升,更新了block
ResNet网络残差结构
假设输入channel为256的特征矩阵,首先采用1乘1的卷积核对它进行降维,降维之后特征矩阵的channel就变成64了。然后再通过64个3乘3的卷积核对它进行卷积处理,再通过256个1乘1的卷积核对它进行升维输出。将它的输出与输入进行相加,得到最终的输出。
ResNeXt网络残差结构
普通卷积所使用的参数个数
主卷积(Group Convolution)
下面讲一下ResNeXt的block,以下三个block模块,它们在数学计算上完全等价。
首先通过1乘1的卷积对他进行降维处理,将channel从256降到128,然后再通过group卷积3乘3的对他进行处理,输出特征矩阵是channel=128,最后通过1乘1卷积对它进行升维,升成channel=256,再与输入特征矩阵相加得到最终的输出。
中间的那个图:
采用了32个paths,也就是32个分支。对于每个分支,都采用了卷积核大小为1乘1,卷积核个数为4的卷积层。也就是对于每个path,卷积核大小一模一样,都是高和宽=1,channel=256,又由于path的个数为32,所以我们就可以把它简单的合并在一起。就变成了最右边的图,卷积核大小为1乘1,个数=128(32乘4)的卷积层了。
下面部分,对于每个path可以理解为一个group主,对于每一个主,采用3*3的卷积核,卷积之后再将他们所得到的特征矩阵进行concat拼接。所以和右边的图第二步也是等价的。
与ResNet最主要的不同:block换了