【网络架构】Interleaved Group Convolut

2019-06-17  本文已影响0人  EverydayRunning

主要贡献

文中的网络结构

Interleaved Group Convolutions

定义

文中提出的网络单元基于组卷积,也就是将输入通道分成好几个分区,并在每一个分区上分别进行常规卷积。组卷积可以看成是具有稀疏模块的对角卷积核的常规卷积。每个稀疏模块对应通道部分,各个分区之间没有联系。
Interleaved group convolutions包括两级组卷积,一级组卷积和二级组卷积。图1显示了一个例子。我们使用第一级来处理空间相关性,并且使用在state-of-the-art中广泛采用的空间卷积核,比如3 \times 3。卷积核在每个分区上分别进行卷积。使用第二级组卷积对第一级组卷积不同分区的输出进行混合,使用1 \times 1的卷积核。

图1.PNG
一级组卷积

一级组卷积的分区个数设为L,每个分区包含相同的通道数M,第一级的组卷积为:
\left[\begin{array}{ccc} \boldsymbol y_1\\\boldsymbol y_2\\:\\\boldsymbol y_L \end{array}\right]= \left[\begin{array}{ccc} \boldsymbol W_{11}^p&\boldsymbol 0&\boldsymbol 0&\boldsymbol 0\\\boldsymbol 0&\boldsymbol W_{22}^p&\boldsymbol 0&\boldsymbol 0\\:&:&:&:\\\boldsymbol 0&\boldsymbol 0&\boldsymbol 0&\boldsymbol W_{LL}^p \end{array}\right]\left [\begin{array}{ccc} \boldsymbol z_1\\\boldsymbol z_2\\:\\\boldsymbol z_L \end{array}\right]
\boldsymbol z_lMS维向量,S是卷积核的尺寸,3 \times 3的卷积核的尺寸为9。它是由该分区中所有通道围绕该空间位置的S个响应形成的(例如,3\times 3)。\boldsymbol W_{ll}^pl分区的卷积核,其大小为M \times (MS)X=[\boldsymbol Z_1^{\text T},\boldsymbol Z_2^{\text T},...,\boldsymbol Z_L^{\text T}]^{\text T}代表一级组卷积的输入。

二级组卷积

我们的方法对一级组卷积的输出通道\{{\boldsymbol y_1,\boldsymbol y_2,...,\boldsymbol y_L} \}进行了排列,使每个分区的L个通道输入到二级组卷积的M个分区,使得相同二级分区的通道来自于不同的一级分区。二级分区的组成非常简单,第m个二级分区由每个一级分区的第m个输出组成。
\overline{\boldsymbol{y}}=[y_{1m},y_{2m},...,y_{Lm}]^{\text T}=\boldsymbol{P_m^{\text T}y},\overline{\boldsymbol y}=\boldsymbol{P^{\text T}y}
\overline{\boldsymbol{y}}对应第m个二级分区,y_{lm}\boldsymbol y_l的第m个元素,\overline{\boldsymbol y}=[\overline{\boldsymbol y}^{\text T}_1,\overline{\boldsymbol y}^{\text T}_2,...,\overline{\boldsymbol y}^{\text T}_M ]^{\text T}\boldsymbol y=[\boldsymbol y^{\text T}_1\boldsymbol y^{\text T}_2,...,\boldsymbol y^{\text T}_L ]^{\text T}\boldsymbol P是排列矩阵,\boldsymbol P = [\boldsymbol P_1,\boldsymbol P_2,...,\boldsymbol P_M]
二级组卷积是在M个二级分区上进行的。
\overline{\boldsymbol z}_m=\boldsymbol W_{mm}^d\overline{\boldsymbol y}_m
\boldsymbol W_{mm}^d对应第m个二级分区的1\times1的卷积核,是尺寸为L\times L的矩阵。二级组卷积的输出通道被重新排列回之前的形式,进而输入到下一级 Interleaved Group Convolutions单元中去。L个回排列分区\{{\boldsymbol x'_1,\boldsymbol x'_2,...,\boldsymbol x'_L}\}的计算过程如下,
\boldsymbol x'_l= [\overline z_{1l},\overline z_{2l},...,\overline z_{Ml}]^{\text T}, \boldsymbol x'=\boldsymbol {P\overline z} 其中\overline {\boldsymbol z} = [\overline {\boldsymbol z}_1^{\text T} ,\overline {\boldsymbol z} _2^{\text T} ,...,\overline {\boldsymbol z} _M^{\text T} ]
综上所述,interleaved group convolution block的公式如下,
\boldsymbol x'=\boldsymbol{PW}^d\boldsymbol{P}^{\text T}\boldsymbol{W}^p\boldsymbol{x}
其中,\boldsymbol{W}^d\boldsymbol{W}^p是对角阵,\boldsymbol{W}^d=\text{diag}(\boldsymbol{W}^d_{11},\boldsymbol{W}^d_{22},...,\boldsymbol{W}^d_{MM})\boldsymbol{W}^p=\text{diag}(\boldsymbol{W}^p_{11},\boldsymbol{W}^p_{22},...,\boldsymbol{W}^p_{LL})
\boldsymbol W=\boldsymbol{PW}^d\boldsymbol{P}^{\text T}\boldsymbol{W}^p为复合卷积核,那么
\boldsymbol x' =\boldsymbol W \boldsymbol x
这就表示,IGC单元等效于卷积核是两个稀疏核乘积的常规卷积。

分析

比常规卷积更宽

一级组卷积的大小是S,二级组卷积的大小是1(=1\times1)。只考虑一个空间点,一个IGC单元里的参数个数(如果特征图的大小固定,等同于计算复杂度)为:
T_{igc}=L \times M \times M \times S + M \times L \times L=G^2\times (S/L+1/M)
其中,G=ML是IGC单元的宽度,也就是通道数。
对于核尺寸同样为S,输入和输出宽度为C的常规卷积来说,参数个数是
T_{rc}=C\times C \times S
假设参数个数相同,T_{igc}=T_{rc}=T,那么,C^2=\frac{T}{S}G^2=\frac{T}{S/L+1/M}。易得,
\frac{L}{L-1}<MS时,G>C
考虑到典型状况下S=3\times3=9,那么,当L>1时,就有G>C。也就是说,除了L=1这样的极端情况时,IGC比常规卷积更宽。

什么情况下最宽

\begin{split}T_{igc}&=L \times M \times M \times S + M \times L \times L\\&=LM(MS+L)\\&\ge LM \sqrt{2MSL}\\&= 2 \sqrt S (LM)^{ \frac{3}{2}}\\&=2 \sqrt S G^{\frac{3}{2} } \end{split}
L=MS时,等式成立。这就意味着,给定参数个数,宽度G有上界,G \le (\frac{T_{igc}}{2 \sqrt S})^{\frac{3}{2}}。当且仅当L=MS时,宽度最宽。

越宽性能越好吗

给定参数个数意味着如下的约束,
||W^p||_0+||W^d||_0=T
||.||_0表示一个矩阵的l_0范数。这一等式意味着当IGC更宽时(或者输入的维数更高时),\boldsymbol{W}^p\boldsymbol{W}^d更大也更稀疏。换句话说,复合卷积核\boldsymbol{W}变大时约束更多。因此,增加宽度并不一定能提高性能。

上一篇下一篇

猜你喜欢

热点阅读