背景介绍
ResNeXt:是2017年发表于CVPR的一个模型,是ResNet网络的升级版本。和Inception-ResNet类似,Inception-ResNet可以认为是Inception模型的基础上吸收ResNet残差思想,而ResNext则可以认为是ResNet模型的基础上吸收Inception分块合并思想。
ResNeXt特点
网络结构和ResNet相同,根据ResNet50,则可以修改为ResNeXt50,根据ResNet101,则可以修改为ResNeXt101,等等
引入Inception模型分块合并思想,将ResNet中Conv Block和Identity Block中的普通卷积变成GroupConv分组卷积。提出了**cardinality(基数)**名词,基数为32,相当于分组卷积的组数为32,最后将32组卷积结果合并
Group Convolution
Group Convolution(分组卷积):传统卷积是采用一种卷积全连接的思想,特征图中的每一个像素点都结合了图像中所有通道的信息。而分组卷积特征图像每一个像素点只利用到一部分原始图像的通道。
主要作用是大大降低网络的参数量。如果一个64x64x256的图像,经过5x5的卷积核后变为64x64x256的图像,经过普通卷积的参数量为256x(256x5x5+1)=1638656,而分成32组的分组卷积的参数量为256x(8*5x5+1)=51456,参数量缩小了约32倍,当组数变成通道数时,则类似于Depthwise Convolution深度卷积
ResNeXt50图像分析
TensorFlow2.0实现
1 | from functools import reduce |
ResNeXt小结
ResNeXt是一种非常有效的特征提取网络,ResNeXt参数量为25M,和相同结构的ResNet几乎相同,但是效果优于ResNet,因此是一种实用的特征提取网络。