打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DO-Conv无痛涨点:使用over-parameterized卷积层提高CNN性能

DO-Conv: Depthwise Over-parameterized Convolutional Layer

论文:https://arxiv.org/pdf/2006.12030.pdf

代码:https://github.com/yangyanli/DO-Conv


0.动机

CNN应用于计算机视觉领域的很多任务中,增加CNN中线性层---非线性层的数量,能够增加网络的表达能力,从而提高网络的性能。

然而,很少有人考虑只增加线性层,只增加线性层会造成过拟合现象,因为多个连续的线性层可以被一个线性层替代,而使用一个线性层参数更少。

在这篇文章中,作者通过在一个普通的卷积层中加入额外的depthwise卷积操作,构成一个over-parameterized的卷积层,并将其命名为DO-Conv,通过实验证明,使用DO-Conv不仅能够加速网络的训练过程,还能在多种计算机视觉任务中取得比使用传统卷积层更好的结果。

在推理时,DO-Conv可以转换为传统的卷积操作,因此将一个网络中的传统卷积替换为DO-Conv并不会增加计算需求。

1.传统的卷积和Depthwise卷积

1.1 传统的卷积

给定输入feature map,传统的卷积操作使用滑动窗口的形式,将卷积核作用到feature map的窗口区域中。

假设feature map的通道数为,卷积核作用的窗口尺寸为,则卷积核作用的窗口可以表示为一个3维张量,记作,为便于后续说明,也可以将其表示为2维张量,即

假设这个卷积层的输出feature map通道数为,一般使用4维张量表示卷积核,但是也可以用3维张量表示卷积核,记作。使用表示卷积操作,则可以表示如下:

上式中只是表示了输出feature map的1个通道的计算过程。上述表示以及计算过程如下图所示:

在上图中,第一行的个元素与做点积运算,完成输出feature map第一个通道的计算,即的第一行。

1.2 Depthwise卷积

与传统卷积不同的是,在Depthwise卷积中,输出特征某个通道只与输入特征的某个通道和对应权重有关,与输入特征的其他通道无关。

对于某个特定通道的输入特征,个卷积核作用于窗口,输出个特征,通常将称作depth multiplier。若输入特征通道为,则输出特征通道数为。如下图所示:

在上图中,权重矩阵被描述成3维张量,即,令表示Depthwise卷积操作,则上图可表示为,该式含义如下:

在上图中,

2.Depthwise over-parameterized卷积(DO-Conv)

2.1 基本原理

对于输入特征,先使用权重进行depthwise卷积,对输出结果进行权重为的传统卷积,且

使用表示DO-Conv操作,则上述运算可表示为。如下图所示

上图中图(a)的计算过程可表示为,即:

  • 对输入特征进行depthwise卷积操作,即,得到中间变量
  • 对中间变量进行传统卷积操作,即,得到最终结果

图(b)的计算过程可表示为,即:

  • 先计算2个权重的乘积,即,得到新的权重;
  • 再用权重对输入特征做传统的卷积操作,即,则到最终结果

作者将图(a)的计算方式称作feature composition,将图(b)的计算方式称作kernel composition。

由于传统的卷积和depthwise卷积都是线性操作,再根据图(a)和图(b)的表示,不难得出下面的公式:

需要注意的是,从图(b)可以明显看出,对输入特征进行DO-Conv操作的感受野仍然为

同样是作用于输入特征中的区域,使用传统卷积,卷积核的参数量为;在DO-Conv中,由于使用了2个权重:,且,即使令,DO-Conv中权重的参数也比传统卷积的参数多

因此,相比于传统的卷积,DO-Conv是一个over-parameterized操作。

2.2 DO-Conv的训练与推理

在训练时,DO-Conv中的参数可以使用训练普通CNN的优化方法训练,比如SGD。

在训练包含DO-Conv的网络时,两种方法的前向计算的计算量如下图所示,分别表示feature map的高度和宽度。

在DO-Conv中,要求,且一般而言,因此在训练时使用kernel composition方式计算DO-Conv,需要更少的操作,且存储比存储更节省内存资源。

在推理时,先计算并存下来,然后做权重为的传统卷积操作,显然,在推理阶段使用DO-Conv与使用相同设置的传统卷积有相同的计算量。

2.3 DO-Conv与深度可分离卷积的区别

使用feature composition模式计算DO-Conv,计算方式很类似于深度可分离卷积(depthwise separable):对于通道数为的输入特征,先进行depthwise卷积运算,输出通道数为的中间变量,然后再进行卷积核尺寸为的传统卷积运算。

但是DO-Conv和深度可分离卷积有一些区别:

  • 使用目的不同:DO-Conv的目的是用更多的参数加快训练,同时能达到更好的性能;深度可分离卷积用于替代传统卷积以减少计算量,便于在终端部署。
  • 超参数不同:在DO-Conv中,以保证足够的参数量;在深度可分离卷积中,以保证更快的运算速度。
  • 结构不同:DO-Conv是两个紧挨着的线性运算,在推理时2个运算可以组合成一个传统卷积 ;深度可分离卷积的depthwise卷积和卷积之间一般有非线性激活函数。


3.DO-DConv和DO-GConv

不仅仅可以使用DO-Conv代替传统的卷积以加快收敛速度、提高网络性能,也可以在depthwise卷积中使用同样的操作,构成DO-DConv,如下图所示:

从上图中可以看出,与DO-Conv类似,DO-DConv也可以通过两种方式计算得到


同样地,在训练阶段得到权重和权重;在推理阶段,将合并为1个权重

此外,可以使用同样的策略,将group卷积替换为DO-GConv,此处不再赘述。

4.在视觉任务中使用Depthwise over-parameterized卷积

4.1 DO-Conv的使用技巧

  • 当传统卷积的卷积核尺寸为时,不要将其替换为DO-Conv;
  • 一般情况下可以令,此时DO-Conv中的权重与原来传统卷积中的权重尺寸相同,权重是一个方阵;
  • 使用恒等矩阵初始化,此时,使得包含DO-Conv的网络也能够使用pretrained的权重;
  • 在实际使用时,通常优化,且使用0矩阵初始化,以防止正则项对中对角线元素的过度压制。

4.2 DO-Conv对计算机视觉任务的性能提升效果

  • 图像分类

在CIFAR-10和CIFAR-100数据集上,测试ResNet-v1、ResNet-v2和Plain(将ResNet-v1中的短接去除)3个网络以及使用DO-Conv替换其中传统卷积的网络,不改变其他超参数,Top1分类正确率如下图所示:

在ImageNet数据集上,测试Plane、ResNet-v1、ResNet-v1b和ResNet-v2这4个网络以及使用DO-Conv替换其中传统卷积的网络,Top1分类正确率如下图所示:

使用DO-DConv和DO-GConv分别替换MobileNet和ResNeXt中的深度分离卷积和group卷积,在ImageNet数据集上的Top1分类正确率如下图所示:

  • 语义分割

使用ResNet-50和ResNet-100作为Deeplabv3的backbone,分别用于Cityscapes和PASCAL VOC这2个数据集,作者测试了只将Segmentation head的传统卷积替换为DO-Conv和将整个网络中的传统卷积替换为DO-Conv这2种情况,测试结果如下图所示:

  • 目标检测

在COCO数据集上使用backbone为ResNet-50的Faster R-CNN,作者测试了只将Detection head中的传统卷积替换为DO-Conv和将整个网络中的传统卷积替换为DO-Conv这2种情况,测试结果如下图所示:

从上面多个结果可看出,使用DO-Conv替代传统卷积,能提升CNN在多种视觉任务中的性能。需要特别指出的是,上述实验过程中并未针对DO-Conv改变超参数。

4.3 使用Depthwise over-parameterized卷积加速训练过程

为了对比使用DO-Conv与否对训练过程的影响,作者使用了不同深度的ResNet-v1b,在ImageNet数据集上训练,记录下训练过程中网络在训练集和验证集下的Top1错误率,如下图所示:

从图中可以看出,使用DO-Conv代替传统卷积,不仅收敛更快,而且能收敛到更低的错误率。


5.总结

  • 在传统卷积操作中增加额外的参数形成DO-Conv,使用DO-Conv代替传统卷积能够加快收敛速度,在不增加网络推理计算量的前提下提高网络性能;
  • 将DO-Conv拓展到DO-DConv和DO-GConv,拓宽其应用范围;
  • 通过实验证明了DO-Conv在多种视觉任务中的性能提升。

END

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MobileNets进化史
卷积神经网络中十大拍案叫绝的操作!
从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2,ShuffleNetV2
图像分类:常用分类网络结构(附论文下载)
人脸识别系列(十八):MobileFaceNets
ShuffleNetV2:轻量级CNN网络中的桂冠
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服