七、ResNeXt
论文导读
文章标题:深度神经网络中的残差聚合变换;
意义:提炼split-transform-merge思想;提炼block堆叠思想;引入cardinality指标,为CNN模型提供新的思路;
Split-Transform-Merge思想:实际上是Inception模块背后的思想,表示分发—变换—合并的过程;
论文概要
全文概括:提出一个简洁且高度可调的神经网络结构,该网络通过反复堆叠Building Block实现;
优点:该网络具有相同的、多分支的结构,并且对应的超参数非常少;
方法:提出一个与网络宽度和深度类似作用的参数,用来衡量网络大小,称之为Cardinality(基数);
1、ResNet与ResNeXt的Building block对比:
结论:由图可以看出,ResNeXt就是采用了多分支,并且每个分支是相同的结构;
2、聚合变换(Aggregated transformations)
一个神经元的操作:
Spliting:X分解为D个元素,可理解为低维嵌入(1x1卷积);
Tramsforming:每个元素进行变换,做一些卷积操作;
Aggregating:对D个变换后的结果进行聚合;
3、卷积结构的优化过程:
最终采用C方式的分组卷积结构;
4、分组卷积
最早在AlexNet中使用,实现是将输入的特征图分为C组,每组内部进行正常的卷积,然后按通道拼接,得到输出特征图;
优点:用更少的参数得到相同的特征图,网络学习到不同的特征,获取更丰富信息;
当分组数与通道数相等的时候,就叫做逐通道卷积,参数量减少的最多,轻量化网络中常见;
论文总结
提炼VGG、ResNet和Inception系列优秀思想:
1、处理相同尺寸的特征图时,采用同样大小、数量的卷积核;
2、特征图分辨率长宽降低2倍时,特征图通道数翻倍;
3、block中各分支采用相同结构,演化成分组卷积;
提出Cardinality来衡量模型复杂度,实验表明cardinality比模型深度、宽度更高效;
1、相同结构的block进行堆叠,可减少过度适应的风险,侧面反映出Incepotion系列模型泛化性能可能较差(目前用的少);
2、参数少不一定训练速度快,要参考硬件对OP的支持情况;
3、ResNeXt比ResNet的方差大,所以需要在更大的数据集上进行训练;
4、分组卷积的优点:
- 减少参数量,分组卷积可减少参数至1/G,G为分组数;
- 组卷积可以看成是正常卷积的稀疏结构,即与其他组特征图相连接的权重为0,可视为一种正则;
- 极限组卷及—Depth-Wise Convolution,逐通道卷积可进一步减少参数量;
论文代码
分组卷积的实现,只需要在卷积层参数中增加一个groups的参数
self.conv2 = conv3x3(width, width, stride, groups, dilation)
|