IGCNet: 交错组卷积网络.
- paper:Interleaved Group Convolutions for Deep Neural Networks
- arXiv:link
作者提出了交错组卷积(interleaved group conv, IGC)网络, 使用两个交错的组卷积结构:主(primary)组卷积和次(secondary)组卷积。两组卷积互补,主组卷积使用空间卷积;次组卷积使用逐点卷积,且使用主组卷积中来自不同分组的特征。交错组卷积相比于普通卷积,具有相同的参数量和计算复杂度,但具有更宽的网络结构。
1. 交错组卷积
交错组卷积的结构如上图所示,包括一个主组卷积和一个次组卷积。主组卷积将输入特征分成$L$个组,每组包含$M$通道特征,进行分组特征提取。次组卷积则负责对主组卷积不同组的输出进行融合,将特征看作包含$L$个通道的$M$个组,每个组内的每一通道特征来自主组卷积的不同组。
主组卷积相当于标准的组卷积,沿通道分成$L$组,每个组内包括$M$个特征通道,使用$\sqrt{S} \times \sqrt{S}$的卷积核进行空间卷积;
次组卷积相当于经过通道打乱的组卷积,沿通道分成$M$组,每个组内包括$L$个特征通道,使用$1 \times 1$的卷积核进行逐点卷积,最后再恢复打乱的通道顺序。
次组卷积前后使用了两个排序模块(permutation),相当于通道打乱操作及其逆操作。
交错组卷积的总参数量为:
\[T_{igc} = (\sqrt{S} \times \sqrt{S} \times M \times M \times L + 1 \times 1 \times L \times L \times M) \\ = (ML)^2\cdot(\frac{S}{L}+\frac{1}{M})= G^2\cdot(\frac{S}{L}+\frac{1}{M})\]其中$G=ML$表示特征通道的宽度。
对于一个标准的卷积,若使用$\sqrt{S} \times \sqrt{S}$的卷积核,输入输出通道数为$C$,则总参数量为:
\[T_{rc} = \sqrt{S} \times \sqrt{S} \times C \times C = S \times C \times C\]假设交错组卷积与标准的卷积具有相同的参数量$T_{igc} =T_{rc} =T$,则有:
\[G^2 = \frac{1}{S/L+1/M}T,\quad C^2=\frac{1}{S}T\]若交错组卷积处理的特征宽度大于标准卷积,即$G>C$;解得:
\[\frac{L}{L-1}<MS\]通常$S=3\times 3$,每组内通道数$M$大于分组数$L$。即在相同的参数量的情况下,交错组卷积相比于标准的卷积能够处理更多通道的特征。
下面讨论给定的参数量时所能处理的最大宽度。有:
\[T_{igc} = S \times M \times M \times L + L \times L \times M \\ =LM(MS+L) \geq LM \cdot 2\sqrt{LMS} \\ =2\sqrt{S}(LM)^{\frac{3}{2}}=2\sqrt{S}(G)^{\frac{3}{2}}\]因此特征通道数$G$具有上界,且在$MS=L$时取得:
\[G \leq (\frac{T_{igc}}{2\sqrt{S}})^{\frac{2}{3}}\]下表给出了两个例子,注意到$MS=L$时具有最小的参数量和最大的通道数:
然而并不是通道数越大越好,实验表明,当$M=2$(每组有两个通道)时模型具有最好的表现:
当$L=1$即不分组时,主组卷积相当于标准的空间卷积,次组卷积相当于逐点的深度卷积(对每个通道分别进行$1\times 1$卷积)。
当$M=1$即每组只有一个通道时,主组卷积相当于相当于深度卷积(对每个通道分别进行卷积),次组卷积相当于逐点卷积。
2. 实验分析
在实践中,交错组卷积块内不使用激活函数,而是采用IGC+BN+ReLU的设置。实验中使用的一些网络结构及其参数量如下表:
实验结果如下,当设置$L=24,M=2$时模型取得最好的表现: