【网络架构】Interleaved Group Convolut
主要贡献
- 提出了新的网络单元interleaved group convolution,有助于提高参数优化和计算;
- 在保持网络大小和计算复杂度的情况下,提出的网络单元相比传统的组卷积具有更宽的宽度,也就具有更先进的表现;
- 讨论了和传统卷积(Xception和具有总结融合的组卷积)的联系,显示它们只是文中单元的特例。
文中的网络结构
Interleaved Group Convolutions
定义
文中提出的网络单元基于组卷积,也就是将输入通道分成好几个分区,并在每一个分区上分别进行常规卷积。组卷积可以看成是具有稀疏模块的对角卷积核的常规卷积。每个稀疏模块对应通道部分,各个分区之间没有联系。
Interleaved group convolutions包括两级组卷积,一级组卷积和二级组卷积。图1显示了一个例子。我们使用第一级来处理空间相关性,并且使用在state-of-the-art中广泛采用的空间卷积核,比如。卷积核在每个分区上分别进行卷积。使用第二级组卷积对第一级组卷积不同分区的输出进行混合,使用的卷积核。
一级组卷积
一级组卷积的分区个数设为,每个分区包含相同的通道数,第一级的组卷积为:
是维向量,是卷积核的尺寸,的卷积核的尺寸为。它是由该分区中所有通道围绕该空间位置的S个响应形成的(例如,)。第分区的卷积核,其大小为。 代表一级组卷积的输入。
二级组卷积
我们的方法对一级组卷积的输出通道进行了排列,使每个分区的个通道输入到二级组卷积的个分区,使得相同二级分区的通道来自于不同的一级分区。二级分区的组成非常简单,第个二级分区由每个一级分区的第个输出组成。
对应第个二级分区,是的第个元素,,,是排列矩阵,。
二级组卷积是在个二级分区上进行的。
对应第个二级分区的的卷积核,是尺寸为的矩阵。二级组卷积的输出通道被重新排列回之前的形式,进而输入到下一级 Interleaved Group Convolutions单元中去。个回排列分区的计算过程如下,
其中
综上所述,interleaved group convolution block的公式如下,
其中,和是对角阵,,
令为复合卷积核,那么
这就表示,IGC单元等效于卷积核是两个稀疏核乘积的常规卷积。
分析
比常规卷积更宽
一级组卷积的大小是,二级组卷积的大小是。只考虑一个空间点,一个IGC单元里的参数个数(如果特征图的大小固定,等同于计算复杂度)为:
其中,是IGC单元的宽度,也就是通道数。
对于核尺寸同样为,输入和输出宽度为的常规卷积来说,参数个数是
假设参数个数相同,,那么,, 。易得,
当时,
考虑到典型状况下,那么,当时,就有。也就是说,除了这样的极端情况时,IGC比常规卷积更宽。
什么情况下最宽
当时,等式成立。这就意味着,给定参数个数,宽度有上界,。当且仅当时,宽度最宽。
越宽性能越好吗
给定参数个数意味着如下的约束,
表示一个矩阵的范数。这一等式意味着当IGC更宽时(或者输入的维数更高时),和更大也更稀疏。换句话说,复合卷积核变大时约束更多。因此,增加宽度并不一定能提高性能。