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

本文介绍了DO-Conv,一种通过在卷积层中加入额外的Depthwise卷积来提高CNN性能的方法。DO-Conv在训练时加速网络收敛,同时在多种计算机视觉任务中展现出优于传统卷积的效果,而且在推理时计算量不变。通过实验,DO-Conv在图像分类、语义分割和目标检测等方面都显示了性能提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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卷积中,输出特征某个通道只与输入特征的某个通道和对应权重有关,与输入特征的其他通道无关。

对于某个特定通道的输入特征,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值