摘要
在卷积神经网络中,卷积通常使用具有固定N × N感受野(RF)的平方核来执行。然而,对神经网络最重要的是有效感受野(ERF),它表示输入像素对输出像素的贡献程度。受erf通常表现为高斯分布的性质的启发,我们在这项工作中提出了高斯掩模卷积核(GMConv)。具体来说,GMConv利用高斯函数生成一个同心对称mask,该mask放置在内核上以改进RF。我们的GMConv可以直接取代现有cnn中的标准卷积,并且可以很容易地通过标准反向传播进行端到端训练。我们通过对图像分类和目标检测任务的大量实验来评估我们的方法。在几个任务和标准基础模型中,我们的方法优于标准卷积。例如,在AlexNet和ResNet-50中使用GMConv, ImageNet分类的前1名准确率分别提高了0:98%和0:85%。
关键词 Convolutional neural networks, effective receptive fields, Gaussian distribution, convolutional kernels
1. 介绍
卷积神经网络(cnn)显著提高了计算机视觉任务的性能,包括图像分类[1],[2],目标检测[3],[4],以及许多其他应用[5],[6]。他们的巨大成功归功于他们通过使用卷积层和池化层来学习输入数据的分层表示的能力。尽管取得了显著的成就,但最近出现的视觉变形器(Vision Transformers, ViTs)[7] -[10]引起了越来越多的关注,因为它们为cnn提供了一个有希望的替代方案,并且在各种视觉识别任务中显示出显著的效果,在某些情况下优于cnn.
与此同时,人们一直在努力改进卷积神经网络,最近有许多工作致力于CNN架构的设计。例如,最近提出的大型内核CNN[11] -[13]表明,在所有主要基准测试中,这些纯CNN架构在准确性、可扩展性和鲁棒性方面与最先进的vit相竞争。这些努力重新引起了对cnn的关注,并鼓励社区重新考虑卷积对计算机视觉的重要性。另一方面,由于平方卷积非常适合矩形几何矩阵和张量计算,因此一直被用作构建各种CNN架构[2],[14]-[17]的标准结构.虽然近年来已经有一些通过对像素进行偏移采样来设计新的卷积核的工作[18]-[21],但与大量致力于CNN架构设计的研究相比,这些工作相对较少。
接收野(RF)是CNN中的一个基本概念,对应于CNN单元所依赖的输入区域。Luo等人[bbb]的研究进一步引入了有效感受野(ERF)的概念,即感受野内主要影响输出单元响应的有效区域。他们强调ERF(显示每个像素对输出的贡献)才是对网络真正重要的。ERF不能通过简单地对带有偏移的像素进行采样来建模。在这项工作中,我们的目标是从不同的角度模拟ERF。
受ERF呈高斯分布这一事实的启发,我们提出了一个高斯掩模卷积核(GMConv)来引入一个圆形(或椭圆形)同心RF到CNN核中。在标准卷积中加入σ (σ1, σ2)参数,生成一个类高斯函数形式的射频调整掩模。与现有的相关工作[18]-[20],[23]侧重于设计卷积核的形状不同,我们侧重于在方形核上添加蒙版来改变卷积运算。GMConv的效果如图1所示。掩码上的值决定了卷积核对不同区域的灵敏度,值越大表示灵敏度越强,值越小表示灵敏度越弱。随着参数的变化,GMConv的RFs呈渐进式圆形(椭圆)同心分布,可以近似于有效感受野。
具体来说,我们介绍两种GMConv,第一种是固定版本的GMConv(S-GMConv),与标准卷积相比,只需要一个额外的参数(σ)。该参数使卷积能够生成相应的圆形RF掩模,从而可以对空间关系进行建模并调整RF。第二种是GMConv的动态版本(D-GMConv),它进一步增强了GMConv,增加了更多的参数,从水平和垂直两个方面控制掩码分布,以及一个动态sigma模块,动态预测每个输入的专门sigma参数。这两个模块都是轻量级的,可以很容易地集成到现有的cnn中,作为标准卷积的替代。
我们的实验表明,用我们提出的高斯掩模卷积核(GMConv)取代标准卷积层可以大大提高等效神经网络在ImageNet分类和COCO目标检测上的性能。具体来说,我们发现使用GMConv可以大大提高中小型物体的定位精度,这是许多计算机视觉应用的关键要求。此外,我们还观察到GMConv倾向于在浅层中收缩卷积的感受野,而在深层中保留默认的感受野大小。
我们主要贡献如下:
-
我们提出GMConv,一种简单有效的卷积,它生成一个类似高斯分布的掩膜,以在卷积核中引入同心圆(椭圆)感受野。
-
我们设计了一个静态和动态版本的GMConv,它可以很容易地与常用的CNN架构集成,可以忽略额外的参数和复杂性。
-
我们进行了一系列综合实验,以证明GMConv可以在三个基准数据集上提高各种标准基准模型的性能:CIFAR数据集(CIFAR-10和CIFAR-100)、ImageNet和COCO 2017。
-
我们对GMConv的研究表明,cnn的浅层中更小的感受野和深层中更大的感受野可能更受青睐。这些发现可能为未来的卷积神经网络设计提供见解。
2. 相关工作
A. CNN结构设计
自从AlexNet[1]揭示了cnn的潜力以来,出现了许多强大的人工设计网络[2]、[15]、[16]、[24]和自动架构[17]、[25]。这些网络通常由三个不同的部分组成,即stem、body和head[17]。通常, stem分量是一个N × N卷积,步幅为2,将输入图像的高度和宽度减半。head组件针对特定任务量身定制,例如,在图像分类任务中,全局平均池化之后是用于预测输出类的全连接层。body分量由多个变换阶段组成,逐步降低特征图的空间分辨率。一般保持stem和head固定简单,大部分工作集中在网体body结构上,这对网络精度更为关键。基于设计模式,在将GMConv应用于CNN时,我们对词干层和主体层使用了不同版本的GMConv。详情将在第三节介绍。
B.卷积核设计
分组卷积[1]将特征映射划分到多个gpu并行处理,最后融合结果。这种方法启发了后续轻量级网络的设计。深度可分卷积[26],[27]由一个深度卷积和一个点卷积组成。深度卷积首先在输入的每个通道上独立地执行空间分组卷积。然后点向卷积应用1×1卷积来融合深度卷积的通道输出。这种方法在准确性和资源效率之间取得了很好的平衡,从而在轻量级计算设备中得到广泛应用。
上述变体通常继承平方核,从而产生固定的接受场。为了实现更灵活的接受场,更好地从输入中学习空间变换,另一条研究路线[18]-[20]设计了更自由的带有变形的卷积。active convolution[18]和可变形卷积[19],[20]通过额外的卷积层从前面的特征中学习到的动态偏移量来增强接受场中的采样位置。Deformable ConvNets v2[20]进一步引入了一种动态调制机制,可以评估每个采样位置的重要性,但会带来更高的计算开销。可变形核[28]对原始核空间进行重新采样,以恢复物体的变形。相反,我们的重点是改变原始内核内的感受野。它在不改变标准卷积的张量计算的情况下为卷积提供了更灵活的感受野。
也有一些作品使用masked卷积[29]-[31]。MaConw[29]和LMConv[31]使用二进制掩码生成模型。Noise2void[30]采用二进制掩码去噪。相比之下,GMConv应用类高斯掩模对图像分类任务的有效接受野进行建模。
C.动态机制
在模型中引入了动态机制,提高了模型的性能。得益于输入依赖性,网络可以自动调整自己以适应不同的输入,从而提高表征能力。从动态特征的角度来看,SE-Net[16]提出了“squeeze -and - dexcitation”块,该块通过显式建模通道之间的相互依赖关系,自适应地重新校准通道特征。随后提出的CBAM块[32]重新校准了通道和空间特征。在动态卷积核方面,可变形卷积[18]-[20]学习每个输入的偏移量,实现自适应几何变化。CondConv和Dynamic Conv动态聚合多个并行卷积核以增加模型容量。与上述方法不同的是,GMConv的动态形式,称为DGMConv,在内核上应用动态RFmask,以实现对平方卷积的自适应感受野
D.高斯分布的有效感受野
Luo等人发现,对单元输出有主要贡献的有效接受场只占实际RF的一小部分,并呈高斯分布。这一发现启发了将高斯分布与卷积结合起来的研究。在图像分割中,Shelhamer等[35]和Sun等[36]使用高斯分布构造可变形卷积。它们通常遵循几何变化的学习偏移线。
方法
在本节中,我们将详细介绍GMConv。首先,我们对GMConv进行概述。然后,我们说明了如何生成射频掩模。其次,我们提出了静态GMConv和动态GMConv。最后,我们描述了如何将GMConv应用于CNN架构。
(这里不想打latex直接放原文)
在我们的GMConv中,我们在输入和内核之间放置一个mask
。mask呈同心分布,影响内核对不同区域的感知。
其中表示Mg的调整后的RF掩模。
通过这种方式,我们可以直接将Mg应用于核而不是接受野。由于滑动窗口,RFs不断变化。所以对核函数使用Mg是简单有效的。如图2所示,整个过程可以简化为:
其中⊗表示Hadamard乘法,$w' \in R^{C\times K\times K}$表示最终的RF精化核。在乘法期间,掩码值沿信道维度广播。GMConv的详情如下。
圆形高斯蒙版。我们基于一维高斯函数设计了圆形同心圆高斯掩模:
其中,d表示样本网格内点到中心的距离µ,参数σ表示掩模的分布。注意,函数在µ处取最大值。特别地,我们把µ放在卷积核的中心。为了避免极值的出现和接受域的缺失,我们对掩模执行max归一化:
其中D表示到核中心的一组距离。我们在图3中可视化了一维高斯函数,以说明直接应用该函数的潜在风险。如果$\sigma 2$值太大,曲线会变得非常平坦,所有值都接近于0,导致相应的屏蔽核失去整个接受野。另一方面,如果$\sigma 2$接近于零,则函数在中心处的值非常大,卷积核只能感知到中心点。通过max归一化,修正后的高斯函数总是在中心处获得最大值1,从而避免了极值的出现和感受野的缺失。
椭圆高斯蒙版。利用二维高斯函数设计了椭圆同心高斯掩模的生成函数。最大值归一化也被应用来避免极大值以及感受野的缺失。
其中参数σ1, σ2决定掩码的分布,(µ1;µ2)表示极值点,(x;y)表示卷积核中心的偏移量,K表示核视图内的一组偏移量。
静态GMConv。然后,我们应用Eq.(3)和Eq.(4)中的1D生成函数来生成高斯RF掩模。因此,除了学习网络权值外,静态GMConv只需要学习一个额外的σ参数,该参数默认初始化为5。训练完成后,我们将掩码整合到核权值中。因此,除了标准卷积之外,它不会引入额外的推理时间计算开销。
动态GMConv。在动态GMConv中,我们采用二维生成函数生成射频掩模,如图4所示。参数σ1;σ2由动态σ模块计算,如图5所示。遵循SE模式,我们首先通过使用global-maxpooling和global-average-pooling操作来挤压特征映射
$ x\in C×H×W $
的全局信息,生成两个不同的上下文向量:$x_ \in RC$和$x_\in RC$。然后我们将这两个向量连接起来作为全局上下文描述符:
。接下来,描述符z被转发到两个完全连接的层(中间有一个ReLU),这两个层输出σ1的值和σ2与σ1的比值rσ。整个过程总结如下:
将GMConv应用于cnn。我们的GMConv可以很容易地应用于现有的cnn,并且很容易通过标准的反向传播进行端到端训练。将GMConv应用于cnn时,我们用动态GMConv代替词干中的卷积,用静态GMConv代替词体中的卷积。配置基于以下考虑因素。首先,太多的动态GMConv层会使网络难以训练,因为它们需要联合优化所有核权值和跨多层的动态sigma模块。其次,动态GMConv可以增加网络中参数的复杂性和数量。最后,在CNN的架构设计中,茎层通常保持简单,大部分工作集中在网络体的结构上。因此,在相对复杂的体系结构中,卷积核应该尽可能保持简单,而对于更简单的结构,我们可以用更复杂的卷积来增强它们。
实验
在本节中,我们在几个标准基准上实证证明了GMConv的有效性:CIFAR数据集(CIFAR10和CIFAR100) [37], ImageNet[38]用于图像分类,COCO 2017用于目标检测[39]。我们首先比较GMConv在最先进的基准模型[1],[2],[40]-[43]上的性能。然后我们进行消融研究来分析我们提出的方法的不同方面。最后给出了GMConv的可视化结果,进一步分析了其效果。
A. 实验细节
在本节中,我们在几个标准基准上实证证明了GMConv的有效性:CIFAR数据集(CIFAR10和CIFAR100) [37], ImageNet[38]用于图像分类,COCO 2017用于目标检测[39]。
我们首先比较GMConv在最先进的基准模型[1],[2],[40]-[43]上的性能。然后我们进行消融研究来分析我们提出的方法的不同方面。最后给出了GMConv的可视化结果,进一步分析了其效果。
CIFAR-10和CIFAR-100。为了在CIFAR数据集[37]上进行实验,我们在CIFAR-10和CIFAR-100上对ResNet-20、ResNet-56和ResNet18[2]进行了评估。我们以4为步长对图像进行了随机裁剪来做数据增强以及做了水平翻转,我们使用动量为0.9的SGD优化器,以初始学习率为0.1,批大小为128来训练所有网络。对于ResNet-20和ResNet-56,我们按照原始的训练策略[2],将它们的权值衰减设为1e−4,并将学习率划分为80和120个epoch,共160个epoch。对于ResNet-18,在Cutout[45]之后,将权值衰减设为5e−4,在60、120和160次epoch处将学习率除以5,共200次epoch。
ImageNet。对于ImageNet的实验,我们采用GMConv to AlexNet [1], ResNet-18, ResNet-50 [2], MobileNetV2[40]。我们使用与[2],[32]中相同的数据增强方案和训练策略进行训练,并在测试时采用单作物评估,大小为224 × 224。我们基于原始论文[2]的配置或PyTorch[44]的样本来训练上述模型。默认情况下,我们训练网络的批大小为256,使用SGD优化器,动量为0:9,权重衰减为4e−5。对于MobileNetV2,学习率初始化为0.01,每个epoch乘以0.98,总共300个epoch。对于AlexNet,学习率初始化为0.01,并在30和60个epoch处除以10,共90个epoch。对于ResNets,学习率初始化为0.1,每30个epoch后除以10,共90个epoch。
COCO 对于COCO的实验,我们采用ResNet50作为主干架构。我们以广泛使用的Faster R-CNN架构[4]和Cascade R-CNN[43]与特征金字塔网络(FPNs)[42]为基准,插入我们之前在ImageNet上训练的主干。我们的训练代码和参数是基于mmdetection工具箱[46]。初始学习率设置为0.02,我们使用1×训练计划,批量大小为16个来训练每个模型。重量衰减和动量分别设置为0.0001和0.9。我们使用标准的COCO指标报告结果,包括AP(不同IoU阈值的平均平均精度),AP0:5, AP0:75和APS, APM, APL (IoU阈值为0.5和0.7的AP,以及小型,中型和大型对象的AP)。
图像分类
在接下来的实验中,我们将标准卷积记为StdConv,将静态GMConv记为S-GMConv,将D-GMConv和S-GMConv的组合记为GMConv。
CIFAR数据集上的结果。我们在ResNet-20、ResNet-56和ResNet-18上评估了我们的方法。我们将每个实验进行三次,并报告平均精度。每个基线及其对应的GMConv在CIFAR-10和CIFAR-100上的性能如表所示。与SGMConv相关的模型将在后面的IV-D节中讨论。我们可以观察到基线模型和它的GMConv对应模型的参数和FLOPs的数量是相同的。这是因为GMConv的额外计算成本主要来自于对干层的掩模滤波器的操作,通过训练后将掩模积分到核权值中来消除。此外,动态GMConv占整个网络的比例很小,几乎不会给网络带来负担。在这种情况下,GMConv车型的表现与基线相当,并明显提高了各种车型的性能。
ImageNet上的结果。表2总结了在ImageNet上的结果。与CIFAR数据集类似,基线模型及其对应的GMConv具有相同数量的参数和flop。MobileNetV2、ResNet18、ResNet-50和AlexNet的Top-1准确率分别提高了0.16%、0.2%、0.85%和0.98%。对于具有更大容量的模型,特别是对于使用11 × 11和5 × 5卷积内核的大型内核网络AlexNet,可以观察到更大的增益。
COCO目标检测
表III比较了我们的GMConv和标准卷积的目标检测结果。在使用ResNet-50-FPN的Faster R-CNN模型上,我们可以观察到基线的AP达到37.0%,而应用我们提出的方法可以显著提高0.8%。Cascade R-CNN的较强基线也受益于加入GMConv,明显改善了0.5%。总体结果表明,GMConv可以有效地提高检测性能,特别是对中等大小的目标。
消融实验
在本节中,我们进行了一系列消融研究,以评估我们提出的GMConv方法的不同方面,并经验地讨论了我们设计的关键因素。实验设置与第IV-A节相同。
静态GMConv分析。表1和表2还列出了纯静态GMConv变量(记为SGMConv)在CIFAR数据集和ImageNet上的结果。纯静态的SGMConv变体在大多数基准模型上显示出良好的结果,而允许卷积核调整其接受域通常会带来更好的性能。
然而,我们在MobileNetV2中观察到一个异常。我们假设这可能是因为整个MobileNetV2采用了3 × 3的小卷积内核。正如我们稍后将看到的S-GMConv网络的可视化,S-GMConv将缩小前几个卷积的接受域,而3 × 3核的接受域已经足够小了。
此外,我们发现S-GMConv ResNet-18的Top-1精度明显高于基线和GMConv变体。这种现象在CIFAR数据集上的一些CNN架构中也有不同程度的出现。小网络可能不能利用可学习的sigma module。我们没有把纯动态GMConv变异体的结果放在一起,因为很难达到收敛和获得合理的精度。
s-gmv中初始σ的分析。如第三节所讨论的,参数σ控制卷积核的接受域。σ值越高,接受野越大。因此,通过调整σ的初始值,我们可以分析不同初始感受野的影响。我们比较了CIFAR-10和CIFAR-100上的三个初始值:1、5和10。具体来说,我们对ResNet-20、ResNet-56、ResNet-18及其S-GMConv变体进行了三次训练,并报告了平均准确率。
图6给出了CIFAR-10和CIFAR100的比较。CIFAR-10上网络用一个更小化的初始感受野表现更好。而在CIFAR-100上,太小或太大的初始接受域都可能极大地影响网络的性能。它证明了一个合适的接受场对模型的重要性。适当的初始接受野可以进一步提高模型的性能,而接收野过小或过大都可能对模型造成损害。结果还表明,5是一个合适的初始接受野值,可以稳定地提高模型的性能。
D-GMConv的设计。我们设计了可学习的sigma模块来预测掩模的生成参数。当模块只预测一个值时,该值表示σ的大小,记为σ。如果网络预测两个值,它们可以是σ1和σ2的量级,记为(σ1,σ2),或σ1的大小和比例因子rσ,记为(σ1,rσ)。
如表4所示,一般来说,如果模型简单地预测σ值的大小(表示为σ和σ1、σ2),尽管射频掩模更灵活,但增加σ参数的数量并不会带来更好的性能。然而,这并不意味着椭圆射频掩模不如圆形射频掩模。我们发现,通过预测σ1和两个σ之间的比值(rσ)可以提高两参数(σ1, σ2)模式的性能,其中σ2可以由σ1 × rσ计算。
以上实验证明了我们的D-GMConv的有效性。另一方面,它也表明对干卷积的简单修改可以显著影响整个网络。尽管干层在cnn中所占的比例很小,但我们的研究结果表明,仔细设计这一层对于获得最佳性能仍然是必要的。
E.可视化RF掩模可视化。为了研究射频掩码对网络的影响,我们在图7中可视化了S-GMConv cnn不同层的射频掩码。可以观察到,S-GMConv一般会影响CNN浅层的接受野,特别是对于大卷积核,而在较深层,RFs与标准卷积相差不大。
结果表明,在网络的浅层中,较小的接收场(RF)更有利,而在较深的层中,较大的接收场(RF)更有利。然后,我们对COCO目标检测进行了多次实验,将GMConv应用于前几个卷积层,并将GMConv与通常用于深层的可变形卷积[19]结合起来。当GMConv与可变形卷积结合时,我们用GMConv替换主干和第一主体层的卷积,而主干中其余的卷积默认保持为可变形卷积。值得注意的是,一般来说,在ResNet的第三主体层之前使用GMConv是更好的选择,而在更深的层中使用GMConv可能会影响模型的性能。此外,利用GMConv可以增强对中小型目标的检测。在某种程度上,增加包含GMConv的网络层数可以提高小目标检测的性能。最后,虽然GMConv的性能不如可变形卷积,但将两者结合起来可以提高两个检测器的性能。
我们的结果表明,GMConv的优势源于它在早期层中使用较小内核的能力。通过使用高斯掩码来调整有效内核大小,GMConv允许以最小的开销连续调整内核大小。
有效感受野可视化。上述实验表明,在早期层中使用GMConv可以提高目标定位的精度,并可能获得更详细的底层特征。我们进一步可视化了不同卷积核在物体检测中对不同大小的物体学习到的有效感受野。如图8所示,我们的研究结果表明,GMConv在检测小物体时表现出比标准卷积更紧凑的有效接受野,而在检测大物体时则具有更广阔的有效接受野。相比之下,变形卷积的有效接受野倾向于产生更分散的有效接受野,覆盖更大的区域。结合GMConv可以有效地缓解变形卷积的离散性,获得更精确、更密集的有效感受野。
结论
受cnn中有效接受场的高斯分布的启发,我们提出了高斯掩模卷积核(Gaussian Mask Convolutional Kernel, GMConv),为卷积核引入了一个同心接受场。现有的相关工作主要集中在对像素进行偏移采样,不能有效地模拟有效的感受野。相比之下,GMConv修改高斯函数来生成接受域掩码,然后将其放在卷积核上以调整核内的接受域。特别是,我们提供了静态版本和动态版本的GMConv,它们在网络的不同层上工作,以实现有效性和复杂性之间的良好权衡。我们的GMConv可以很容易地集成到现有的CNN架构中。图像分类和目标检测实验表明,GMConv可以显著提高等效网络的性能。我们的可视化结果表明,GMConv主要在较浅的层中起作用,在较浅的层中倾向于较小的感受野,而在较深的层中倾向于较大的感受野。我们希望我们的发现将为更好地设计卷积神经网络提供见解。