您现在的位置是:首页 >技术杂谈 >RFAConv:创新空间注意力和标准卷积操作网站首页技术杂谈

RFAConv:创新空间注意力和标准卷积操作

静静AI学堂 2024-07-04 06:01:03
简介RFAConv:创新空间注意力和标准卷积操作

摘要

论文链接:https://arxiv.org/pdf/2304.03198.pdf
空间注意力被广泛用于提高卷积神经网络的性能。然而,它有一定的局限性。本文对空间注意力的有效性提出了一种新的视角,即空间注意力机制从本质上解决了卷积核参数共享问题。然而,空间注意力生成的注意图中包含的信息对于大尺寸的卷积核来说是不够的。因此,本文提出一种新的注意力机制,称为感受野注意力(RFA)。现有的空间注意力,如卷积块注意力模块(Convolutional Block attention Module, CBAM)和协同注意力(coordination attention, CA)仅关注空间特征,未能完全解决卷积核参数共享的问题。相比之下,RFA不仅关注感受野空间特征,而且为大尺寸卷积核提供了有效的注意力权重。RFA提出的感受野注意力卷积操作(RFAConv)是一种替代标准卷积操作的新方法。它提供了几乎可以忽略不计的计算成本和参数增量,同时显著提高了网络性能。在ImageNet-1k、COCO和VOC数据集上进行了一系列实验,以证明所提方法的优越性。特别重要的是,对于当前的空间注意力机制,是时候将焦点从空间特征转移到感受野空间特征了。这样可以进一步提高网络性能,达到更好的效果。相关任务的代码和预训练模型可以在https://github.com/Liuchen1997/RFAConv上找到。

1、引言

卷积神经网络[1,2]通过使用具有共享参数的卷积操作,大大降低了模型的计算开销和复杂度。卷积神经网络在LeNet[3]、AlexNet[4]、VGG[5]等经典网络的驱动下,目前已经建立了完整的体系,形成了先进的卷积神经网络模型[6,7,8,9,10]。在仔细研究了卷积运算后,我们得到了启发。对于分类、目标检测和语义分割任务,一方面,图像中不同位置的目标的形状、大小、颜色和分布是可变的。然而,在卷积操作过程中,卷积核在每个感受野中使用相同的参数来提取信息,没有考虑不同位置的差异信息。因此,网络的性能是有限的,正如最近的工作所证明的[11,12,13]。另一方面,卷积过程没有考虑到每个特征的重要性,进一步降低了提取特征的效率,最终限制了模型的性能。此外,注意力机制[14,15,16]使模型能够专注于显著特征,可以增强特征提取的效益和卷积神经网络捕捉细节特征信息的能力。

通过考察卷积操作的内在局限性和注意力机制的性质,认为目前的空间注意力机制虽然从根本上解决了卷积操作中的参数共享问题,但仍然局限于空间特征的识别。目前的空间注意力机制没有完全解决较大卷积核的参数共享问题。此外,它们无法强调每个特征在感受野中的重要性,如现有的卷积块注意力模块(Convolutional Block AttentionModule, CBAM)[17]和协调注意力(Coordinate Attention, CA)[18]。本文提出一种新的感受野注意力(RFA),全面解决了卷积核的参数共享问题,并考虑了感受野中每个特征的重要性。rfa设计的卷积操作(RFAConv)是一种开创性的方法,可以取代当前神经网络中的标准卷积操作。RFAConv仅增加少量参数和计算开销,提高了网络性能。在ImagNet1k[19]、COCO[20]和VOC[21]上的大量实验证明了RFAConv的有效性。作为一种基于注意力机制的卷积操作,RFAConv的性能优于CAMConv、CBAMConv、CAConv(分别由CAM[17]、CBAM和CA构建)以及标准卷积操作。此外,为解决当前方法提取感受野特征速度慢的问题,本文提出一种轻量级操作。在RFAConv的构建过程中,我们还设计了升级版的CBAM和CA并进行了相关实验。主张空间注意力机制应关注感受野空间特征,以进一步推进其发展,增强卷积神经网络的优势。

2、相关工作

2.1卷积神经网络架构

卷积操作作为卷积神经网络中的基本操作,引领了许多先进网络模式的发展,如车辆检测[22]、无人机图像[23]、医学[24]等。He et al.[25]提出,随着网络深度的增加,模型变得更难训练,可能会出现退化现象。为了解决这个问题,他们建议使用残差连接来彻底改变网络设计。Huang等人[26]通过特征重用来改进特征信息,解决网络梯度消失问题。Dai等人在对卷积操作进行深入研究后,提出固定采样位置的卷积操作会在一定程度上限制网络的性能。因此,他们提出了可变形卷积,通过学习偏移量来改变卷积核的采样位置。在此方法的基础上,可变形Conv V2[28]和可变形Conv V3[29]被开发出来,以进一步增强卷积网络的性能。Zhang et al.[30]观察到分组卷积可以减少模型的参数数量和计算开销,但是组内信息之间的交互不足会对最终的网络性能产生不利影响。1×1卷积虽然可以与信息进行交互,但会带来更多的参数和计算开销,因此他们提出了无参数的通道混洗操作来与组间信息进行交互。Ma等人[31]发现,参数少的模型并不总是导致更快的推理时间,同样,小的计算工作量并不能保证快速性能。经过仔细研究,他们提出了ShuffleNet V2。YOLO[32]目标检测网络将输入图像划分为网格,以预测目标的位置和类别。随着研究的深入,基于YOLO的目标检测器已经被提出了8个版本,如YOLOv5[33]、YOLOv7[34]、YOLOv8[35]等。虽然前面提到的卷积神经网络架构取得了显著的成功,但它们并没有直接解决特征提取过程中的参数共享问题。本文致力于利用注意力机制从一个新的角度来解决卷积参数共享问题。

2.2、注意力机制

注意力机制作为一种提高网络模型性能的技术,允许模型专注于关键特征。注意力机制理论目前在深度学习领域已经建立了完整成熟的体系。Hu等人[36]提出了一种挤压-激励(SE)块来获得每个通道对应的权重。这是通过压缩特征来聚合全局通道信息来实现的。Wang et al.[37]断言当SE与信息交互时,单个通道和权重之间的对应关系是间接的。因此,他们设计了高效通道注意力(ECA),将SE中的全连接(FC)层替换为自适应核大小的一维卷积。Woo等人[17]提出了融合通道注意力和空间注意力的卷积块注意力模块(Convolutional Block Attention Module, CBAM)。作为即插即用模块,可以嵌入到卷积神经网络中以提升网络性能。尽管SE和CBAM使网络取得了很好的性能,但Hou等人[18]发现SE和CBAM中的压缩特征丢失了太多的信息。因此,他们提出了轻量级的坐标注意力(CA)来解决这个问题。Fu等人[38]设计了空间注意力模块和通道注意力模块来扩展全卷积网络(Fully Convolutional Networks, FCN),分别在空间和通道维度上建模语义相互依赖关系。[39]在通道上生成不同尺度的特征图,以构建更高效的通道注意力机制。本文提出了一种新的方法来解决标准卷积操作中的参数共享问题。我们的建议包括结合注意力机制来创建卷积操作。尽管现有的注意力机制已经证明了良好的性能,但它们并没有专门针对感受野的空间特征。为了解决这个限制,我们开发了具有非共享参数的RFAConv,以提高网络的性能。

3、方法

3.1、回顾标准卷积运算

标准的卷积操作是构建卷积神经网络的基本构件。利用共享参数的滑动窗口提取特征信息,克服全连接层构建的神经网络固有的参数量大、计算开销大等问题。令$mathrm{X} in R^{C imes H imes W} 表示输入的特征图,其中 表示输入的特征图,其中 表示输入的特征图,其中mathrm{C} , mathrm{H}$$ , 和mathrm{W} $分别表示特征图的通道数、高度和宽度。为了清楚地演示通过卷积核的特征提取过程,我们使用C = 1的例子。从每个感受野滑块中提取特征信息的卷积操作可以表示为:

F 1 = X 11 × K 1 + X 12 × K 2 + X 13 × K 3 + … + X 1 S × K S F 2 = X 21 × K 1 + X 22 × K 2 + X 23 × K 3 + … + X 2 S × K S … F N = X N 1 × K 1 + X N 2 × K 2 + X N 3 × K 3 + … + X N S × K S (1) egin{array}{l}F_{1}=X_{11} imes K_{1}+X_{12} imes K_{2}+X_{13} imes K_{3}+ldots+X_{1 S} imes K_{S} \F_{2}=X_{21} imes K_{1}+X_{22} imes K_{2}+X_{23} imes K_{3}+ldots+X_{2 S} imes K_{S} \ldots \F_{N}=X_{N 1} imes K_{1}+X_{N 2} imes K_{2}+X_{N 3} imes K_{3}+ldots+X_{N S} imes K_{S}end{array} ag{1} F1=X11×K1+X12×K2+X13×K3++X1S×KSF2=X21×K1+X22×K2+X23×K3++X2S×KSFN=XN1×K1+XN2×K2+XN3×K3++XNS×KS(1)
这里,Fi表示计算后每个卷积滑块获得的值,Xi表示每个滑块内相应位置的像素值,K表示卷积核,S表示卷积内核中参数的数量,N表示感受野滑块的总数。可以看出,在每个滑块内的相同位置处的特征共享相同的参数Ki。因此,标准的卷积运算未能捕捉到不同位置带来的信息差异,这最终在一定程度上限制了卷积神经网络的性能。

这里, F i F_i Fi表示计算后每个卷积滑块获得的值, X i X_i Xi表示每个滑块内相应位置的像素值,K表示卷积核,S表示卷积内核中参数的数量,N表示感受野滑块的总数。可以看出,在每个滑块内的相同位置处的特征共享相同的参数Ki。因此,标准的卷积运算未能捕捉到不同位置带来的信息差异,这最终在一定程度上限制了卷积神经网络的性能。

3.2 回顾空间注意力

目前,空间注意力机制利用学习得到的注意力图来突出每个特征的重要性。与上一节类似,以C=1为例。突出关键特征的空间注意力机制可以简单表示为:
F 1 = X 1 × A 1 F 2 = X 2 × A 2 ⋯ F N = X N × A N (2) egin{array}{l}F_{1}=X_{1} imes A_{1} \F_{2}=X_{2} imes A_{2} \cdots \F_{N}=X_{N} imes A_{N}end{array} ag{2} F1=X1×A1F2=X2×A2FN=XN×AN(2)

这里, F i F_i Fi表示在加权运算之后获得的值。 X i X_i Xi A i A_i Ai分别表示输入特征图和学习的注意图在不同位置的值,N是输入特征图高度和宽度的乘积,表示像素值的总数。

3.3、空间注意力与标准卷积操作

在卷积神经网络中引入注意力机制可以提高其性能,这是被广泛认可的。通过对标准的卷积操作和现有的空间注意力机制的研究,认为空间注意力机制有效地克服了卷积神经网络固有的限制,即参数共享。目前,卷积神经网络中最常用的核大小是1 × 1和3 × 3。引入空间注意力机制后用于提取特征的卷积操作是1 × 1或3 × 3卷积操作。为了直观地展示这个过程,在1 × 1卷积操作的前面插入了空间注意力机制。通过注意图对输入特征图进行加权操作(重新加权“×”),最后通过1 × 1卷积操作提取感受野的滑块特征信息。整个过程可以简单表示如下:
F 1 = X 1 × A 1 × K F 2 = X 2 × A 2 × K ⋯ F N = X N × A N × K (3) egin{array}{l}F_{1}=X_{1} imes A_{1} imes K \F_{2}=X_{2} imes A_{2} imes K \cdots \F_{N}=X_{N} imes A_{N} imes Kend{array} ag{3} F1=X1×A1×KF2=X2×A2×KFN=XN×AN×K(3)
这里,卷积核K只表示一个参数值。如果我们将 A i × K i A_i × K_i Ai×Ki的值作为一个新的卷积核参数,有趣的是通过1×1卷积操作提取特征时的参数共享问题得到了解决。然而,空间注意力机制的传说到此结束。当在3×3卷积操作之前插入空间注意力机制时。具体情况如下:

F 1 = X 11 × A 11 × K 1 + X 12 × A 12 × K 2 + X 13 × A 13 × K 3 + … + X 19 × A 19 × K 9 F 2 = X 21 × A 21 × K 1 + X 22 × A 22 × K 2 + X 23 × A 23 × K 3 + … + X 29 × A 29 × K 9 … F N = X N 1 × A N 1 × K 1 + X N 2 × A N 2 × K 2 + X N 3 × A N 3 × K 3 + … + X N 9 × A N 9 × K 9 (4) egin{array}{l}F_{1}=X_{11} imes A_{11} imes K_{1}+X_{12} imes A_{12} imes K_{2}+X_{13} imes A_{13} imes K_{3}+ldots+X_{19} imes A_{19} imes K_{9} \F_{2}=X_{21} imes A_{21} imes K_{1}+X_{22} imes A_{22} imes K_{2}+X_{23} imes A_{23} imes K_{3}+ldots+X_{29} imes A_{29} imes K_{9} \ldots \F_{N}=X_{N 1} imes A_{N 1} imes K_{1}+X_{N 2} imes A_{N 2} imes K_{2}+X_{N 3} imes A_{N 3} imes K_{3}+ldots+X_{N 9} imes A_{N 9} imes K_{9}end{array} ag{4} F1=X11×A11×K1+X12×A12×K2+X13×A13×K3++X19×A19×K9F2=X21×A21×K1+X22×A22×K2+X23×A23×K3++X29×A29×K9FN=XN1×AN1×K1+XN2×AN2×K2+XN3×AN3×K3++XN9×AN9×K9(4)

如前所述,如果我们将 A i × K i A_i × K_i Ai×Ki的值作为一个新的卷积核参数,上面的式(4)完全解决了大规模卷积核的参数共享问题。然而,最重要的一点是,当卷积核在每个感受野滑块中提取特征时,它将共享一些特征。换句话说,每个感受野滑块都会有一个重叠。仔细分析后会发现 A 12 = A 21 A_{12} = A_{21} A12=A21, A 13 = A 22 A_{13} = A_{22} A13=A22, A 15 = A 24 A_{15} = A_{24} A15=A24…在这种情况下,空间注意力图的权重在每个滑动窗口中共享。因此,空间注意力机制由于没有考虑整个感受野的空间特征,无法有效解决大规模卷积核的参数共享问题。因此,空间注意力机制的有效性受到限制。

3.4、创新空间注意力和标准卷积操作

RFA旨在解决现有空间注意力机制的局限性,为空间处理提供了一种创新的解决方案。受RFA的启发,一系列空间注意力机制被开发出来,可以进一步提高卷积神经网络的性能。RFA可以被认为是一个轻量级的即插即用模块,由RFA设计的卷积运算(RFAConv)可以代替标准卷积来提升卷积神经网络的性能。因此,我们预测空间注意力机制与标准卷积操作的结合在未来将继续发展并带来新的突破。

感受野空间特征:为了更好地理解感受野空间特征的概念,我们将给出相关的定义。感受野空间特征是专门为卷积核设计的,并根据核大小动态生成。如图1所示,以3×3卷积核为例。

在这里插入图片描述

在图1中,“空间特征”指的是原始特征图。“感受野空间特征”是由空间特征变换得到的特征图,由不重叠的滑动窗口组成。当3×3卷积核用于提取特征时,接收域空间特征中的每个3×3大小窗口表示一个接收域滑块。

感受野注意力卷积(RFAConv):关于感受野空间特征,本文提出感受野注意力(RFA)。该方法不仅强调感受野滑块内部不同特征的重要性,而且优先考虑感受野空间特征。通过该方法,彻底解决了卷积核参数共享的问题。感受野空间特征是根据卷积核的大小动态生成的,因此,RFA是一个固定的卷积组合,不能脱离卷积操作的帮助,而卷积操作同时依赖RFA来提高性能,因此提出RFAConv (receptive-field attention convolution)。RFAConv具有3×3大小的卷积核,其整体结构如图2所示。
在这里插入图片描述

目前使用最广泛的感受野特征提取方法速度较慢。经过广泛的研究,我们开发了一种使用分组卷积来取代原始方法的更快的方法。具体地,根据感受野大小,使用分组卷积的相应大小动态生成展开特征。虽然与原始的无参数方法(如PyTorch提供的nn.展开())相比,该方法增加了一些参数,但它的速度明显更快。注意:如上一节所述,当3×3卷积核用于提取特征时,感受野空间特征中的每个3×3大小窗口表示一个感受野滑块。利用快速分组卷积提取感受野特征后,将原始特征映射为新特征。最近的研究表明,交互信息可以提高网络性能,如[40,41,42]所示。类似地,对于RFAConv,交互感受野特征信息学习注意图可以提升网络性能。然而,与每个感受野特征交互会导致额外的计算开销,因此为了最小化计算开销和参数数量,利用AvgPool聚合每个感受野特征的全局信息。然后,使用1×1组卷积操作进行信息交互。最后,使用softmax来强调每个特征在感受野特征中的重要性。一般情况下,RFA的计算可以表示为:
F = Softmax ⁡ ( g 1 × 1 ( AvgPool ⁡ ( X ) ) ) × ReLU ⁡ ( Norm ⁡ ( g k × k ( X ) ) ) = A r f × F r f (5) egin{aligned}F & =operatorname{Softmax}left(g^{1 imes 1}(operatorname{AvgPool}(X)) ight) imes operatorname{ReLU}left(operatorname{Norm}left(g^{k imes k}(X) ight) ight) \& =A_{r f} imes F_{r f}end{aligned} ag{5} F=Softmax(g1×1(AvgPool(X)))×ReLU(Norm(gk×k(X)))=Arf×Frf(5)
这里, g i × i g^{i×i} gi×i表示大小为 i × i i×i i×i的分组卷积,k表示卷积核的大小,Norm表示归一化,X表示输入的特征图,F是通过将注意图 A r f A_{rf} Arf与变换后的接收域空间特征 F r f F_{rf} Frf相乘得到的。与CBAM和CA不同,RFA能够为每个感受野特征生成注意图。由于卷积操作依赖于共享参数,且对位置变化带来的信息差异不敏感,使得卷积神经网络的性能受到标准卷积操作的限制。然而,RFAConv通过强调感受野滑块内不同特征的重要性并优先考虑感受野空间特征,可以完全解决这个问题。通过RFA得到的特征图是感受野空间特征,经过“调整形状”后不重叠。因此,学习到的注意图聚合了每个感受野滑块的特征信息。换句话说,注意力分布图不再在每个接收域滑块中共享。这完全弥补了现有CA和CBAM注意力机制的缺点。RFA为标准卷积核提供了显著的好处。然而,调整形状后的特征在高度和宽度上是k倍,需要一个步幅= k的k × k卷积操作来提取特征信息。RFA设计的卷积运算RFAConv为卷积带来了良好的增益,是标准卷积的创新。

现有的空间注意力机制应优先考虑感受野空间特征,以提高网络性能。众所周知,基于自注意力机制[43,44,45]的网络模型取得了巨大的成功,因为它解决了卷积参数共享的问题,建模了长距离信息。然而,自注意力机制也给模型带来了巨大的计算开销和复杂度。本文认为,将现有空间注意力机制的注意力引导到感受野空间特征上,可以以类似于自注意力的方式解决长程信息的参数共享和建模问题。与self-attention相比,该方法需要的参数和计算资源要少得多。研究结果如下:(1)聚焦感受野空间特征的空间注意力机制与卷积相结合,消除了卷积参数共享的问题。(2)目前的空间注意力机制已经考虑了长程信息,可以通过全局平均池化或全局最大池化来获取全局信息,显式地考虑了长程信息。因此,我们设计了新的CBAM和CA模型RFCBAM和RFCA,它们专注于感受野空间特征。与RFA类似,最后使用stride = k的k × k卷积操作来提取特征信息。这两种新的卷积方法的具体结构如图3所示,我们称这两种新的卷积操作为RFCBAMConv和RFCAConv。在对比原始CBAM的基础上,使用SE attention代替RFCBAM中的CAM。因为这可以减少计算开销。此外,在RFCBAM中,通道注意力和空间注意力不是分开执行的。相反,它们同时被加权,允许每个通道获得的注意图是不同的。

在这里插入图片描述

4、实验

为了验证所提方法的有效性,进行了分类、目标检测和语义分割实验。实验设备均基于RTX3090。在分类实验中,使用4台RTX3090并行训练模型。

4.1 ImageNet-1k上的分类实验

在ImageNet-1k[19]数据集上进行了实验来验证所提出方法,该数据集包含1281167个训练集和50000个验证集。与RFAConv类似,通过将CBAM和CA分别结合,并在CBAM和CA模块的末端添加一个额外的3 × 3卷积层,构建了CBAMConv和CAConv。还比较了使用通道注意力机制CAM[17]构建的CAMConv。我们在ResNet18和ResNet34中进行了评估。具体地,使用RFAConv、CBAMConv、CAConv和CAMConv分别替换ResNet18和ResNet34中基本块的第一卷积层。对于CAConv、CBAMConv和CAMConv,可以认为CA、CBAM和CAM在基本块的第一层卷积之前添加。在图像分类实验中,我们为每个模型训练了100个epoch, batch-size为128。学习率从0.1开始,每30个周期下降一次,每次0.1次。表1展示了分类的实验结果,可以看出使用RFAConv的模型明显优于所有基线模型。正如我们上面提到的,CBAM和CA可以通过将注意力转移到感受野空间特征来进一步改进。基于Resnet18对RFCBAMConv和RFCAConv进行了实验。所有实验都清楚地表明了所提出方法的显著优势,因为RFAConv、RFCBAMConv和RFCAConv完全解决了卷积核参数共享的问题。此外,值得注意的是,RFCBAMConv和RFCAConv优于RFAConv,因为它们不仅解决了卷积核参数共享的问题,而且通过全局平均池化考虑了长距离信息。

在这里插入图片描述

4.2、COCO2017上的目标检测实验

在COCO2017上进行了目标检测实验,以重新评估我们的方法。COCO2017包含118287个训练集和5000个验证集。选择YOLOv5n、YOLOv7-tiny和YOLOv8n模型进行一系列实验。除了epoch和batch-size之外的所有参数都设置为默认值。我们训练每个模型300次,批处理大小为32。为了在分类方面相似,将基线模型中的一些卷积操作替换为使用注意力机制构建的新型卷积操作。实验结果如表2所示。可以看出,使用RFAConv构建的网络性能优于所有基线模型。在一些实验中,我们再次验证了RFCA的有效性,与原始CA相比,RFCA表现出了更好的卷积操作性能。时间表示在验证期间处理图像所需的总时间。可以清楚地看到,使用新的卷积操作构建的模型处理图像的时间有所增加。因此,如果追求实时性,替换卷积的数量不应该太多。

在这里插入图片描述

4.3、VOC7+12目标检测实验

为了再次验证我们的方法,我们选择VOC7+12数据集进行实验。VOC7+12是VOC2007和VOC2012的混合,总共有16000个训练集和5000个验证集。与COCO2017上的实验类似,我们在YOLOv5s、YOLOv7-tiny、YOLOv8n等高级检测模型上进行了实验,结果仍然证明了所提方法的优势。如表3所示。RFAConv构建的检测网络仍然优于所有基线模型,并且在一些实验中,我们仍然验证了RFCBAMConv和RFCAConv。它们再次提高了CA和CBAM构建的卷积操作的网络性能。

在这里插入图片描述

4.4 VOC2012语义分割实验

为了再次验证所提方法的优势,在VOC2012数据集上进行了语义分割实验,选择DeepLabplusV3[46]和骨干网络Resnet18进行了相关实验。每个骨干网络的预训练权重在ImageNet-1k实验中得到。在实验中,我们发现RFAConv构建的语义分割网络取得了比原始模型更好的结果,但与CAConv、CAMConv相比,RFAConv的性能并不好。经过思考,认为RFAConv缺乏对长距离信息的考虑,而语义分割任务依赖于长距离信息。CAConv、CAMConv和CBAMConv通过全局平均池化获得全局信息。虽然CBAMConv的效果较差,但改进的RFCBAM取得了较好的效果。

在这里插入图片描述

5、结论

通过分析标准卷积和空间注意力,我们得出结论:空间注意力机制解决了参数共享问题,具有考虑长距离信息的优势。然而,对于大尺寸的卷积核,空间注意力机制的性能受到限制。为了解决这个问题,提出了一种新的注意力机制RFA,并设计了一种新的卷积操作,进一步提高了网络性能。强调了将注意力引向感受野空间特征对提高网络性能的重要性。通过广泛的实验,证明了所提出方法的有效性和先进性。未来,我们希望越来越多的空间注意力机制采用我们提出的方法来进一步提高性能,我们也希望新的卷积方法能够被广泛采用来提高网络性能。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。