shuffle net 2017.12.7 face++提出。
本文也是设计小的网络模型,可以应用到移动端。
设计思想主要与Xception和ResNeXt相同,应用组卷积和depthwise卷积,并提出了channel shuffle。
一般在小网络中一般会通过
pointwise convolutions(1*1卷积)减少参数(限制卷积的通道数),但可能会造成模型精度下降。直观想法用group convlution。
如果将group convolution 进行stack,会出现(a)中的现象,这是因为group在进行分组时,采用的是
[1,2,3],[4,5,6]···顺序划分的,即导致某个通道的输出只来自于一部分的输入通道。
为了解决该问题,将上一层group conv得到的特征做了一个channel shuffle,如图(b)。具体操作是先将通道分成g*n,然后将通道维数reshape成(g,n),再通过flatten操作将其作为下一层的输入,如图(c)。
则整个过程: