ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices (2017)
论文地址:http://arxiv.org/pdf/1707.01083
主要内容
为了克服分组卷积带来的副作用,本文提出了一种新的通道重排操作来帮助信息在特征通道间流动。
1.设置了分组卷积的通道重排
2.设置了shuffleNet单元
通道重排
作者提出的解决方案就是对1 * 1的卷积采用组卷积的方式,这样逐点卷积的计算量就变成了原来的 1 / g 1/g 1/g,g表示分组的数目。但是如果只是采用分组卷积又带来了一个新的问题,那就是输出的channel只和其所在分组的输入有关,这样减少了channel间的信息交叉之后又会对模型的效果造成负面的影响,如下图(a)所示。
上图中,a是常规的分组卷积,但是其存在的问题是当分组比较多时,各个通道的信息就被隔离开来,此属性会阻塞通道组之间的信息流并削弱表征能力,所以我们做出了b方式的改进,将分组卷积卷积好的特征图进行通道重排(进行了channel间的信息交互),就是将分组后的特征图分成若干份,然后随机按照某一规则进行组合,组合好之后送入到下一次的卷积中,c是b的美观版本。具体实现是通过数据的转置进行实现的。
采用了分组逐点卷积 + channel shuffle的思路,在减少计算量的同时保持了通道间的信息交互,实现了较好的处理效果。
shuffleNet单元