Paper : Interleaved Group Convolutions for Deep Neural Networks
Code : official
摘要
组卷积操作在AlexNet中被提出,相比普通的卷积可以有效的减少参数,但是组卷积的结构限制了组与组之间相互独立,IGCNet提出使用两步组卷积来代替普通卷积,达到减少参数的目的。
网络结构
IGCNet的核心是交错组卷积结构,交错组卷积包含两个组卷积,结构如下
第一层卷积(Primary Group Conv)用来处理空间相关信息,采用空间卷积核,例如3*3卷积核,使用第二层卷积(Secondary Group Conv)将不同组输出融合,采用1*1的卷积核。
设 L L L表示Primary Group Conv中的分组个数,每组的feature map通道数均为 M M M,卷积层的卷积核大小使用 S S S来表示,例如对于3*3的卷积核 S = 9 S=9 S=9,那么Primary Group Conv可以使用下式表示
其中 z l \text z_l zl是 M S MS MS维的向量, W l l p W_{ll}^p Wllp对应组卷积中第 l l l组卷积核,是一个 M × ( M S ) M\times (MS) M×(MS)的矩阵,令 x = [ z 1 T . . . z L T ] T \text x = [\text z_1^{T}...\text z_L^T]^T x=[z1T...zLT]T表示Primary Group Conv的输入。
然后重排输出通道,将通道数为 L M LM LM的第一层组卷积的输出分为 M M M组,每组有 L L L的feature map通道数为 L L L,一种简单的划分方法就是使之前出现在同一组中的通道划分到不同的组中。经过组卷积层后再将顺序重排回初始状态。
设 P P P表示重排列矩阵, W p W_p Wp表示primary group conv矩阵, W d = d i a g ( W 11 d . . . W M M d ) W_d=diag(W_{11}^d...W_{MM}^d) Wd=diag(W11d...WMMd)表示secondary group conv矩阵,则最终结果表示为
x ′ = P W d P T W p x \text x' = PW^dP^TW^p\text x x′=PWdPTWpx
这说明IGC block是Convolution的一种特殊情况。
与ResNeXt的关系:$W_{11}^d = … =W_{MM}^d $均为全1的矩阵
与Xception的关系: M = 1 M=1 M=1时与Xception类似
普通卷积核与permutation - secondary group convolution - permutation back 之间的关系
核心观点
- 充分利用group conv操作,提出了IGC module,在减少参数的同时,克服了group conv结构中组于组之间相互的缺点。