[轻量化网络]ShuffleNet V1学习笔记

1. 重点和创新

1.1. 分组1x1卷积(Group Pointwise Convolution)

1.1.1. 分组卷积是什么

左边是标准卷积,右边是分组卷积,与标准卷积不同(每个卷积核需要处理12个通道),分组卷积的卷积核只需要负责它那组的输入通道的卷积任务,如右边的分组卷积,卷积核处理的通道数为4而不是标准卷积那样的12。分组1x1卷积只是表示其中的卷积核尺寸为1x1而已。

1.1.2. 分组卷积优缺点

优点是降低了参数量与计算,减少内存占用,加快推断速度。

缺点也很明显,分组卷积的组和组之间是没有信息交流的,会导致类型近亲繁殖的现象,无法更好提取特征,导致性能下降。

 

1.2. 通道重排(Channel Shuffle)

1.2.1. 重排逻辑

原来没有通道重排的情况如a图所示,组和组之间一直没有交流,老死不相往来。通道重排是分组卷积之后,将feature map重新排列,如第一组的第一个feature map与第二、三组的按照顺序排在一起,第一组的第二个与第二、三组的第二个feature map排一起……以达成信息交流。

1.2.2. 重排操作

先reshape成g行n列矩阵,其中g为分组数,n为每组输出的feature map通道数,然后转置,最后压平。

1.3. 主要Block模块

a图是将标准bottleneck模块中的卷积改为深度可分离卷积,b图是在a的基础上,将1x1卷积改为分组1x1卷积,降维,然后通道重排,然后再接一个深度可分离卷积,然后分组1x1卷积升维,之后就不接通道重排,因为这里效果已经很好了,最后再接一个shotcut。c图是降采样模块,结果是长宽减半,通道数加倍,左边对输入进行平均池化,步长为2,右边也是先降维再升维,只是深度可分离卷积的步长为2,最后将左右两边的通道串起来。

2. 其他

2.1.分组数量及通道重排的性能影响

shuffle0.5X表示,减少卷积核的数量为shuffle1x的一半,以此类推。

从表中可以得出结论:通道重排比不通道重排的效果要好;分组数越多性能越好,而且在小网络中提升越明显,原因是小网络精度低往往是提取的feature map少,而分组数越多,卷积核也越多,提取的feature map也越多。

但是分组越多,虽然参数和计算量没有增加,但是推断速度却下降了,论文中说到的原因是内存访问和其他复杂的原因,因此权衡精度与速度,最终选择的分组数为3。

3. 参考

[1] 【精读AI论文】旷视轻量化网络ShuffleNet V1

(完)

posted @ 2022-10-09 00:37  大师兄啊哈  阅读(160)  评论(0编辑  收藏  举报