IGC系列网络的核心在分组卷积的极致运用,将常规卷积分解成多个分组卷积,能够减少大量参数,另外互补性原则和排序操作能够在最少的参数量情况下保证分组间的信息流通。但整体而言,虽然使用IGC模块后参数量和计算量降低了,但网络结构变得更为繁琐,可能导致在真实使用时速度变慢
来源:晓飞的算法工程笔记 公众号
IGCV1
论文: Interleaved Group Convolutions for Deep Neural Networks
Introduction
Interleaved group convolution(IGC)模块包含主分组卷积和次分组卷积,分别对主分区和次分区进行特征提取,主分区通过输入特征分组获得,比如将输入特征分为
个分区,每个分区包含
维特征,而对应的次分区则分为
个分区,每个分区包含
维特征。主分组卷积负责对输入特征图进行分组特征提取,而次组卷积负责对主分组卷积的输出进行融合,为
卷积。IGC模块形式上与深度可分离卷积类似,但分组的概念贯穿整个模块,也是节省参数的关键,另外模块内补充了两个排序模块来保证channel间的信息交流。
Interleaved Group Convolutions
IGC模块如图1所示,主卷积对输入进行分组特征提取,然后将主卷积输出的特征进行隔区采样,方便后续的次卷积进行特征融合,将次卷积输出concate起来恢复为采样前的顺序后作为最后的输出。
Primary group convolutions
假设共
个主分区,每个主分区包含
维特征,主分组卷积的操作如公式1所示,
为按卷积核大小抠出来的
维特征向量,
为卷积核大小,
对应第
分区的卷积核,大小为
,
代表主分组卷积的输入。
Secondary group convolutions
将主分组卷积的输出
重排成
个次分区,每个分区包含
维特征,这样能够保证每个分区都包含来自不同主分区的特征,第
个次分区由于每个主分区的第
维特征组成:<