论文:Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNets
https://arxiv.org/pdf/2003.13549.pdfarxiv.org代码地址:
zeiss-microscopy/BSConvgithub.com一、背景
一些轻量级的网络,如MobileNet中,会有深度可分离卷积Depthwise Separable Convolution(DSCs),由depthwise(DW)和pointwise(PW)两个部分结合起来,用来提取特feature map,相比常规的卷积操作,其参数数量和运算成本比较低。
Joe.Zhao:深度可分离卷积zhuanlan.zhihu.com作者对其进一步的研究,发现基于深度可分离卷积的体系结构,例如MobileNets隐式地依赖于跨内核的相关性。作者经过定性和定量的研究发现基于核内部的相关性可以更有效地分离标准卷积。
二、启发来源
定性分析:作者可视化了三个基础网络VGG-19、Inception V2、ResNet-50的卷积核,将128*3*3的卷积核沿深度轴划分成128张小图片,每张都是3*3(如图)。图中可以看出,很多卷积核呈现相同的“视觉结构”。就好比这些卷积核是照着一个模子,然后加点线性变换产生的。然后作者就将这个模子称为“蓝图”(高大上的名字)。
定量研究:
为了进一步说明沿深度轴卷积核的相关性,作者用以下方式分析了几个训练过的CNNs:
- 把M*K*K的卷积核划分成M个K*K的样本;
- 对这M个样本进行PCA分析
- 确定由第一个主成分(PC1)解释的过滤器的方差
可以看到,平均每个过滤器内核的方差的50%左右可以用这个简单的模型来解释,这表明使用“蓝图”改进的潜力很大。
三、“蓝图”卷积
“蓝图”即一个卷积核的模板,那么一个普通的卷积核就可以从一个蓝图卷积的各种线性变换而来。
如图第一行,是一个标准卷积,卷积核大小是K*K*M;
第二行是蓝图卷积,卷积核由蓝图(一个K*K的卷积核)和一个M*1的权重向量组成。
四、“蓝图”卷积的两种变形和实现
作者是对深度可分离卷积的一个再思考,那么到底与深度可分离卷积有什么不同呢?
Unconstrained BSConv (BSConv-U):无限制蓝图卷积
从上图的第二列和第三列可以看出,
深度可分离卷积是先逐通道卷积,再对深度方向上加权组合。
无限制蓝图卷积是先对深度方向上加权组合,再卷积。
简单说,就是交换了depthwise(DW)和pointwise(PW)的顺序。
那么这个简单的交换有什么作用?
如下图,DSCs隐式地假设一个用于所有内核的3d蓝图,而BSConv则是依赖于每个内核的单独2d蓝图。
所以,深度可分卷积实际上执行的是跨内核的相关性,而不是内核内部的相关性。而研究发现内核内部的相关性占主导地位,因此有更大的潜力进行有效分离。
Subspace BSConv (BSConv-S) :子空间蓝图卷积
作者进一步研究发现,在BSConv-U中1*1卷积层所使用的参数矩阵W=(Wn,M)行与行之间存在高度关联。(注:每一行有M个参数,对应一个输出通道)。
所以作者进一步将这个卷积核矩阵分解,即因式分解来实现W的低秩近似,然后通过添加正交约束来减少参数之间的相互关联。
上述的结果就是,1个1*1卷积被分解成两个1*1卷积。
五、实验
1、作者在CIFAR10、CIFAR100、StanforDogs、StanforCars等多个数据集上,使用MobileNetV1-V3网络,进行了实验,发现使用蓝图卷积代替标准卷积后,分类准确率都有所提升。
2、作者在CIFAR10、CIFAR100等数据集上,使用ResNet作为基础网络,发现参数量明显减少,性能也有所提升。
在大规模和细粒度分类数据集上的大量实验表明,BSConvs可以很好地改进MobileNets等网络结构,而不会引入任何复杂性。
六、总结
本论文提出了一种新的卷积核的分离方法BSConv,该方法是基于核内部的相关性,因此可以更有效地分离标准卷积。大量实验表明,该方法在减少参数量,提升模型性能方面有明显效果。