IGCV2: 交错结构化稀疏卷积.

为了消除卷积核的冗余,作者设计了交错结构化稀疏卷积(interleaved structure sparse conv, IGCV2),将IGC中的两个卷积核组成的交错组卷积推广为更多稀疏核的乘积,进一步消除冗余。作者提出互补条件和平衡条件指导结构化稀疏核的设计,在模型规模、计算复杂度和分类精度上取得平衡。

标准的卷积可以写作矩阵的乘法,若特征输入通道为$C_i$,输出通道为$C_o$,卷积核的尺寸为$S$,则每个窗口的输入尺寸为$SC_i$,一次卷积操作可以表示为$W \in \Bbb{R}^{C_o\times SC_i}$,$W$的每一行表示一个卷积核,即:

\[y=Wx\]

为简化问题通常记$C_i=C_o=C$。对于交叉群卷积IGC,$W$被两个稀疏矩阵替代:

\[y=P^2W^2P^1W^1x\]

其中$P$是置换矩阵,用于对通道重排序。$W^i$是分块稀疏的矩阵,若特征分成$G$组,则$W^i$表示为:

\[W^i = \left[ \begin{matrix} W^i_1 & 0 & 0 &...& 0 \\ 0 & W^i_2 & 0 &...& 0 \\ ... & ... & ... & ... & ... \\ 0 & 0 & 0 & ... & W^i_{G_i} \end{matrix} \right]\]

IGC使用了两个交错的组卷积。

主组卷积设置分组$G_1=\frac{C}{2}$,采用$S_1=3\times 3$卷积核,则$W_g^1$的尺寸为$S_1C/G_1 \times C/G_1=36$。

次组卷积设置分组$G_2=2$,采用$S_2=1\times 1$卷积核,则$W_g^2$的尺寸为$S_2C/G_2 \times C/G_2=C^2/4$。注意到$W_g^2$仍然是稠密矩阵,能够继续进行分解。

作者提出了IGCV2,对上述次组卷积进一步分解,表示为:

\[y=P_LW_LP_{L-1}W_{L-1}...P_1W_1x \\ = (\prod_{l=L}^{1}P_lW_l)x\]

注意到$P_lW_l$为稀疏的卷积核,引入构造组卷积的互补条件(Complementary condition),使得复合卷积核$\prod_{l=L}^{1}P_lW_l$是稠密的:

下图是一个IGCV2的示意图。对于一次组卷积$W_l$,其每一分组的任意输入特征连接到该分组的所有输出特征;每一分组的任意输出特征与该分组的所有输入特征相关。对于互补的组卷积$W_l$和$W_{l-1}$,后一个组卷积中任意分组的输入特征来自前一个组卷积中不同的分组。IGCV2的任意输出通道连接到所有输入通道,因此IGCV2整体是稠密的。

记$L$次组卷积中每个分组的通道数分别为\(\{K_1,K_2,...,K_L\}\)。对于输出特征的每一个通道,连接到最后一个组卷积输入特征的$K_L$个通道。对于第$l$个组卷积的输出特征,其每一个通道连接第$l-1$个组卷积的输出特征中的$K_{l-1}$个通道。则输出特征的每一个通道连接到输入特征的通道数为$\prod_{l=L}^{1}K_l$。由于连接是稠密的,即输出特征的每个通道与输入特征的所有通道相关,则有:

\[\prod_{l=1}^{L}K_l = C\]

作者设置第一层组卷积使用$S=3\times 3$的卷积核,其余组卷积使用$1\times 1$的卷积核。则$L$层组卷积的总参数量$Q$为(注意到$K_lG_l=C$):

\[Q=SK_1K_1G_1+\sum_{l=2}^{L}K_lK_lG_l \\ = CSK_1+C\sum_{l=2}^{L}K_l\\ = C(SK_1+K_2+\cdot\cdot\cdot+K_L) \\ \geq CL(SK_1K_2 \cdot\cdot\cdot K_L)^{1/L} \\ = CL(SC)^{1/L}\]

上述不等号表示均值不等式,等号成立的条件为平衡条件(balance condition):

\[SK_1=K_2=\cdot\cdot\cdot=K_L\]

$CL(SC)^{1/L}$是参数量$Q$的一个下界。下面分析使得参数量取得极小值对应的层数$L$。计算偏导数:

\[\frac{d \log Q}{d L} = \frac{d}{dL}(\log C+\log L + \frac{1}{L}\log (SC)) \\ = \frac{1}{L}-\frac{1}{L^2}\log (SC)\]

令导数为$0$,则$L=\log (SC)$。

作者设计的IGCV2网络结构如下表。其中$x\times (3\times 3,1)$表示第一个卷积,使用$3\times 3$的通道卷积(即$S=9,K_1=1$)。$[L-1,x,(1\times 1,K)]$表示堆叠的$L-1$层组卷积,每层组卷积分成$x/K$组,每组有$K$个特征(取$K=8,L=\lceil \log_K(x) \rceil+1$)。

实验结果如下: