IGC 系列网络的外围在分组卷积的极致使用,将惯例卷积分解成多个分组卷积,可能缩小大量参数,另外互补性准则和排序操作可能在起码的参数量状况下保障分组间的信息流通。但整体而言,尽管应用 IGC 模块后参数量和计算量升高了,但网络结构变得更为繁琐,可能导致在实在应用时速度变慢
起源:晓飞的算法工程笔记 公众号
IGCV1
论文: Interleaved Group Convolutions for Deep Neural Networks
- 论文地址:https://arxiv.org/abs/1707.02725
Introduction
Interleaved group convolution(IGC)模块蕴含主分组卷积和次分组卷积,别离对主分区和次分区进行特征提取,主分区通过输出特色分组取得,比方将输出特色分为 $L$ 个分区,每个分区蕴含 $M$ 维特色,而对应的次分区则分为 $M$ 个分区,每个分区蕴含 $L$ 维特色。主分组卷积负责对输出特色图进行分组特征提取,而次组卷积负责对主分组卷积的输入进行交融,为 $1\times 1$ 卷积。IGC 模块模式上与深度可拆散卷积相似,但分组的概念贯通整个模块,也是节俭参数的要害,另外模块内补充了两个排序模块来保障 channel 间的信息交换。
Interleaved Group Convolutions
IGC 模块如图 1 所示,主卷积对输出进行分组特征提取,而后将主卷积输入的特色进行隔区采样,不便后续的次卷积进行特色交融,将次卷积输入 concate 起来复原为采样前的程序后作为最初的输入。
-
Primary group convolutions
假如共 $L$ 个主分区,每个主分区蕴含 $M$ 维特色,主分组卷积的操作如公式 1 所示,$z_l$ 为按卷积核大小抠出来的 $(MS)$ 维特征向量,$S$ 为卷积核大小,$W^p_{ll}$ 对应第 $l$ 分区的卷积核,大小为 $M\times (MS)$,$x=[z^{\top}_1\ z^{\top}_2\ \cdots \ z^{\top}_L]^{\top}$ 代表主分组卷积的输出。
-
Secondary group convolutions
将主分组卷积的输入 $\{y_1, y_2,\cdots ,y_L \}$ 重排成 $M$ 个次分区,每个分区蕴含 $L$ 维特色,这样可能保障每个分区都蕴含来自不同主分区的特色,第 $m$ 个次分区因为每个主分区的第 $m$ 维特色组成:
$\bar{y}_m$ 对应第 $m$ 个次分区,$y_{lm}$ 为 $y_l$ 的第 $m$ 维特色,$P$ 为排序矩阵,次分组卷积在次分区上进行计算:
$W^d_{mm}$ 对应第 $m$ 个次分区对应的 $1\times 1$ 卷积核,大小为 $L\times L$,次分组卷积的输入将重排为主分区的程序,$L$ 个重排分区 $\{x^{‘}_1, x^{‘}_2, \cdots, x^{‘}_L \}$ 的计算如下:
联合主卷积和次卷积的公式,IGC 模块能够总结为:
$W^p$ 和 $W^d$ 为分块角对角矩阵,定义 $W=PW^dPT^{\top}W^p$ 为混合卷积核,失去:
即 IGC 模块能够看成是惯例卷积,其卷积核为两个稠密核的积。
Analysis
-
Wider than regular convolutions
思考单像素的输出,IGC 模块的参数量为:
$G=ML$ 为 IGC 的笼罩的维度数,对于惯例卷积,输入输出维度为 $C$,参数量为:
给予雷同的参数量,$T_{igc}=T_{rc}=T$,失去 $C^2=\frac{1}{S}T$,$G^2=\frac{1}{S/L+1/M}T$,能够进一步失去:
思考 $S=3\times 3$ 的状况,当 $L>1$ 时可失去 $G>C$,即失常状况下 IGC 模块能够比惯例卷积解决更多的输出维度。
-
When is the widest?
论文钻研了分区数 $L$ 和 $M$ 对卷积宽度的影响,将公式 7 进行变换失去:
当 $L=MS$ 时,公式 12 取等号,给予肯定的参数量,卷积宽度的上界为:
当 $L=MS$ 时,卷积宽度最大
论文列举了不同设置下的宽度比照,能够看到,$L \simeq 9M$ 时宽度最大。
-
Wider leads to better performance?
固定参数量意味着主分组卷积和次卷积的无效参数固定,当输出的特色维度更多时,卷积核也越大,卷积将变得更加稠密,这可能导致性能的降落。为此,论文也进行不同配置的性能比照,具体见图 3。
Experiment
小型试验的网络结构以及参数量和计算量的比照,留神实现时的构造为 IGC+BN+ReLU。
CIFAR-10 上的性能比照。
多个数据集上与 SOTA 的性能比照
Conclusion
IGC 模块采纳两层分组卷积和排序操作来节俭参数量和计算量,结构设计简略奇妙,论文也对 IGC 进行了充沛的推导与剖析。须要留神的是,尽管论文从参数量和计算量上得出 IGC 模块的轻量性,但正如 ShuffleNetV2 论文提到的,参数量和计算量并不能等同于推理时延。
IGCV2
论文: IGCV2: Interleaved Structured Sparse Convolutional Neural Networks
- 论文地址:https://arxiv.org/abs/1804.06202
Introduction
IGCV1 通过两个分组卷积来对原卷积进行合成,缩小参数且放弃残缺的信息提取。但作者发现,因为主分组卷积和次分组卷积在分组数上是互补的,导致次卷积的分组数个别较小,每个分组的维度较大,次卷积核较为浓密。为此,IGCV2 提出 Interleaved Structured Sparse Convolution,应用多个间断的稠密分组卷积来替换原来的次分组卷积,每个分组卷积的分组数都足够多,保障卷积核的稠密性。
Interleaved Structured Sparse Convolutions
IGCV2 的外围构造如图 1 所示,应用多个稠密卷积来替换本来比拟浓密的次卷积,能够公式化地示意为:
$P_lW_l$ 为一个稠密矩阵,其中 $P_l$ 来排序矩阵用来重排维度,$W_l$ 为稠密的分区矩阵,每个分组的维度均为 $K_l$。
IGCV2 在设计的时候有个互补性准则,一个分组卷积的每个分组须要关联另一个分组卷积每个分组,并且仅关联每个分组的一维特色,即分组间有且仅有一条连贯,能够看看图 1 领会一下,外围是排序的办法。依据互补性准则,能够失去输出维度 $C$ 和每层维度数 $K_L$ 的关系:
另外相似与 IGCV1 的推导,IGCV2 在 $L=log(SC)$ 时参数量起码,$S$ 为卷积核大小,这里按次卷积为 $1\times 1$ 分组卷积计算。
Discussions
论文也对 IGCV2 的设计进行了探讨:
- Non-structured sparse kernels,不应用稠密矩阵,应用正则化办法来疏导卷积核稠密化,论文发现这会束缚网络的表达能力。
- Complementary condition,互补性准则不是必须的,只是高效设计分组卷积的一条准则,复合卷积能够不将输入输出全连贯,设计得更稠密化。
- Sparse matrix multiplication and low-rank matrix multiplication,低秩矩阵合成是压缩的罕用办法,而稠密矩阵合成还很少钻研,下一步能够探讨联合稠密矩阵合成和低秩矩阵合成来压缩卷积网络。
Experiment
论文比照的网络结构,IGCV2 主卷积应用深度卷积。
与相似的网络结构进行比照。
与 SOTA 网络进行比照。
Conclusion
IGCV2 在 IGCV1 根底上进一步稠密化,应用多个稠密卷积代替本来较为浓密的次卷积,论文仍然应用充沛的推导对 IGCV2 的原理和超参数进行剖析。但也如后面说到的,参数量和计算量并不能等同于推理时延,须要在理论设施上进行比照。
IGCV3
论文: IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks
- 论文地址:https://arxiv.org/abs/1806.00178
Introduction
基于 IGCV 和 bootleneck 的思维,IGCV3 联合低秩卷积核和稠密卷积核来形成浓密卷积核,如图 1 所示,IGCV3 应用低秩稠密卷积核 (bottleneck 模块) 来扩大和输出分组特色的维度以及升高输入的维度,两头应用深度卷积提取特色,另外引入松弛互补性准则,相似于 IGCV2 的严格互补性准则,用来应答分组卷积输入输出维度不一样的状况。
Interleaved Low-Rank Group Convolutions
IGCV3 次要是对 IGCV2 的构造进行延长,引入低秩分组卷积来代替本来的分组卷积,蕴含分组数为 $G_1$ 低秩 pointwise 分组卷积、深度卷积、以及分组数为 $G_2$ 低秩 pointwise 分组卷积,两个低秩分组卷积别离用于扩大特色维度以及复原特色维度到原始大小,可公式化为:
$P^1$ 和 $P^2$ 为排序矩阵,$W^1$ 为 $3\times 3$ 深度卷积,$\hat{W}^0$ 和 $W^2$ 为低秩稠密矩阵,矩阵构造如下:
$\hat{W}^g_{j,k}\in R^C$ 蕴含 $\frac{C}{G_1}$ 个非零权值,对应首分组卷积的第 $g$ 个分组里的第 $k$ 个卷积核,用于扩大维度。$W^2_g$ 为第二个分组卷积 (图 2 的第三个分组卷积) 的第 $g$ 个分组的卷积核,用于放大维度到原始大小。
因为 IGCV3 的分组卷积的输入输出维度是不同的,这导致 IGCV2 提出的互补性准则不能满足 (输入输出间存在多条连贯门路),排序操作也不能像之前那样应用。为了解决这个问题,论文提出超维(super-channels) 的概念,将输出 \ 输入 \ 两头维度分成 $C_s$ 个超维,输出和输入的超维蕴含 $\frac{C}{C_s}$,两头特色的超维蕴含 $\frac{C_{int}}{C_s}$,如图 2 所示,以超维为单位满足互补性准则,并以此进行排序操作,即松弛互补性准则,定义如下:
Experiment
与前两个版本比照,IGCV3- D 的 $G_1$ 和 $G_2$ 别离为 1 和 2。
在 ImageNet 上与其它网络进行比照。
这里对 ReLU 的应用进行了试验,次要针对 MobileNetV2 的 ReLU 应用办法。
对不同的分组数进行比照。
Conclusion
IGCV3 在 IGCV2 的根底上交融了 MobileNetV2 的次要构造,并且应用更狠的低秩稠密分组卷积,在整体构造上和 MobileNetV2 非常靠近,外围仍然是在稠密分组卷积以及排序操作,尽管性能比 MobileNetV2 有些许晋升,但整体的创新性略显有余。
Conclustion
IGC 系列网络的外围在分组卷积的极致使用,将惯例卷积分解成多个分组卷积,可能缩小大量参数,另外互补性准则和排序操作可能在起码的参数量状况下保障分组间的信息流通。但整体而言,尽管应用 IGC 模块后参数量和计算量升高了,但网络结构变得更为繁琐,可能导致在实在应用时速度变慢。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】