CA位置注意力机制

CA位置注意力机制_第1张图片

论文地址:https://arxiv.org/pdf/2103.02907.pdf

代码:https://github.com/houqb/CoordAttention/blob/main/coordatt.py

0. 摘要

最近关于移动网络设计的研究表明,信道注意力(例如,挤压和激励注意力(SE))对于提升模型性能具有显著的效果,但它们通常忽略了位置信息,这对于生成空间选择性注意力图很重要。在本文中,我们提出了一种新的移动网络注意力机制,将位置信息嵌入到信道注意力中,我们称之为“协调注意力”。与通过2D全局池将特征张量转换为单个特征向量的信道关注不同,坐标关注将信道关注分解为两个1D特征编码过程,分别沿两个空间方向聚合特征。通过这种方式,可以沿一个空间方向捕获长距离相关性,同时可以沿另一空间方向保留精确的位置信息。然后将得到的特征图单独编码成一对方向感知和位置敏感的注意力图,该注意力图可以互补地应用于输入特征图以增强感兴趣对象的表示。我们的坐标关注很简单,可以灵活地插入经典移动网络,如MobileNetV2、MobileNeXt和EfficientNet,几乎没有计算开销。大量实验表明,我们的坐标注意力不仅有利于ImageNet分类,而且更有趣的是,在下游任务中表现得更好,如对象检测和语义分割。

1. Introduction

用于告诉模型“参加什么”和“去哪里”的注意机制已被广泛研究,并广泛应用于提高现代深度神经网络的性能。然而,它们在移动网络(模型大小有限)中的应用明显落后于大型网络。这主要是因为大多数注意力机制带来的计算开销对于移动网络来说是负担不起的。

考虑到移动网络的计算能力有限,迄今为止,移动网络最流行的关注机制仍然是挤压和激励(SE)关注。它在2D全局池的帮助下计算信道注意力,并以相当低的计算成本提供显著的性能增益。然而,SE注意只考虑编码通道间信息,而忽略了位置信息的重要性,这对于在视觉任务中捕获对象结构至关重要。后来的工作,如BAM和CBAM,试图通过减少输入张量的通道维数,然后使用卷积计算空间注意力,来利用位置信息,如图2(b)所示。然而,卷积只能捕获局部关系,但无法建模对视觉任务至关重要的长期依赖关系。

CA位置注意力机制_第2张图片

 在本文中,除了第一项工作之外,我们提出了一种新颖而有效的注意力机制,通过将位置信息嵌入到信道注意力中,使移动网络能够在大范围内关注,同时避免产生大量的计算开销。为了减轻2D全局池造成的位置信息丢失,我们将通道注意力分解为两个并行的一维特征编码过程,以有效地将空间坐标信息集成到生成的注意力图中。具体地说,我们的方法利用两个1D全局池操作,分别将沿垂直和水平方向的输入特征聚合为两个单独的方向性特征图。然后将这两个具有嵌入的方向特定信息的特征图分别编码为两个关注图,每个关注图捕获输入特征图沿一个空间方向的长距离相关性。因此,位置信息可以被保存在生成的注意力图中。然后通过乘法将两个注意力图应用于输入特征图以强调感兴趣的表示。我们将所提出的注意力方法命名为坐标注意力,因为它的操作区分空间方向(即坐标)并生成坐标感知注意力图。

我们的协调关注具有以下优势首先,它不仅捕获跨通道信息,还捕获方向感知和位置敏感信息,这有助于模型更准确地定位和识别感兴趣的对象。其次,我们的方法灵活且重量轻,可以很容易地插入移动网络的经典构建块,例如MobileNetV2[34]中提出的倒置残差块和MobileNeXt[49]中的沙漏块,以通过强调信息表示来增强特征。第三,作为一个预训练模型,我们的协调注意力可以为使用移动网络的下游任务带来显著的性能提升,特别是那些具有密集预测(例如,语义分割)的任务,我们将在我们的实验部分中展示。

为了证明所提出的方法优于先前用于移动网络的注意力方法的优势,我们在ImageNet分类和流行的下游任务(包括对象检测和语义分割)中进行了广泛的实验。通过相当数量的可学习参数和计算,我们的网络在ImageNet上实现了0.8%的性能增益,达到了顶级分类精度。在对象检测和语义分割方面,与图1所示的具有其他注意机制的模型相比,我们也观察到了显著的改进。我们希望我们简单而高效的设计能够促进未来移动网络注意机制的发展。

CA位置注意力机制_第3张图片

图1.不同注意力方法在三个经典视觉任务中的表现。y轴标签从左到右分别为top 1精度、平均IoU和AP。显然,我们的方法不仅在ImageNet分类中相对于SE块和CBAM取得了最佳结果,而且在下游任务中表现得更好,如语义分割和COCO对象检测。结果基于MobileNetV2。 

2. Related Work

在本节中,我们对本文进行了简要的文献综述,包括关于高效网络架构设计和关注或非本地模型的先前工作。

2.1 Mobile Network Architectures

最近最先进的移动网络大多基于深度可分离卷积反向残差块HBONet在每个反向残差块内引入下采样操作,用于对代表性空间信息进行建模。ShuffleNetV2在反转残差块之前和之后使用信道分割模块和信道混洗模块。随后,MobileNetV3神经架构搜索算法相结合,搜索不同深度的最优激活函数和反向残差块的扩展比。此外,MixNetEfficientNetProxylessNAS还采用不同的搜索策略来搜索深度可分离卷积或标量的最佳核大小,以控制网络的扩展比、输入分辨率、网络深度和宽度。最近,Zhou等人重新思考了利用深度可分离卷积的方法,并提出了移动网络采用经典瓶颈结构的MobileNeXt

2.2 Attention Mechanisms

注意机制已被证明有助于各种计算机视觉任务,如图像分类和图像分割。其中一个成功的例子是SENet,它简单地压缩每个2D特征图,以有效地建立通道之间的相互依赖性。CBAM通过使用大尺寸核的卷积引入空间信息编码,进一步推进了这一思想。后来的工作,如GENet、GALA、AA和TA,通过采用不同的空间注意机制或设计高级注意块来扩展这一想法。

非局部/自我注意网络最近非常流行,因为它们能够建立空间或渠道的注意。典型的例子包括NLNet、GCNet、A2Net、SCNet、GSoP Net或CCNet,它们都利用非本地机制来捕获不同类型的空间信息。然而,由于自关注模块内部的大量计算,它们通常被用于大型模型,但不适用于移动网络。

与这些利用昂贵和沉重的非本地或自关注块的方法不同,我们的方法考虑了一种更有效的方式来捕获位置信息和信道关系,以增强移动网络的特征表示。通过将2D全局池操作分解为两个一维编码过程,我们的方法比具有轻量级属性的其他关注方法(例如,SENet、CBAM和TA)表现得更好。

3. Coordinate Attention

坐标关注块可以被视为一个计算单元,其目的增强移动网络学习特征的表达能力。它可以取任何中间特征张量X=[x_{1},x_{2},...,x_{C}] \epsilon \mathbb{R}^{C\times H\times W}作为输入和输出具有与X相同大小的增广表示Y=[y_{1},y_{2},...,y_{C}]的变换张量。为了提供对所提出的坐标关注的清晰描述,我们首先重新讨论了在移动网络中广泛使用的SE关注。

3.1. Revisit Squeeze-and-Excitation Attention

如文献[18]所示,标准卷积本身很难建模信道关系。显式构建信道间相关性可以提高模型对信息信道的敏感性,这些信息信道对最终分类决策的贡献更大。此外,使用全局平均池还可以帮助模型捕获缺少卷积的全局信息。

在结构上,SE块可以分解为两个步骤挤压激励,这两个步骤分别用于全局信息嵌入信道关系的自适应重新校准。给定输入X,第c通道的挤压步骤可以公式化如下:

z_{c} = \frac{1}{H\times W}\sum_{i=1}^{H}\sum_{j=1}^{W}x_{c}(i,j)

 其中z_{c}是与第c信道相关联的输出。输入X直接来自具有固定内核大小的卷积层,因此可以被视为局部描述符的集合挤压操作使收集全局信息成为可能。

第二步,激励,旨在完全捕获通道依赖性,其可以表示为

\widehat{X} = X \cdot \sigma (\widehat{z})

其中·表示信道乘法,σ是sigmoid函数,\widehat{z}是变换函数生成的结果,公式如下:

\widehat{z} = T_{2}(ReLU(T_{1}(z)))

SE块已在最近的移动网络中广泛使用,并被证明是实现最先进性能的关键组件。然而,它只考虑通过建模通道关系来重新衡量每个通道的重要性,而忽略了位置信息,正如我们将在第4节中通过实验证明的那样,位置信息对于生成空间选择性注意力图非常重要。在下文中,我们介绍了一种新的关注块,它同时考虑了通道间关系和位置信息

3.2 Coordinate Attention Blocks

 我们的坐标注意力通过两个步骤用精确的位置信息对通道关系和长程依赖进行编码:坐标信息嵌入坐标注意力生成。建议的坐标关注块的图可以在图2的右侧找到。下面,我们将详细描述它。

3.2.1 Coordinate Information Embedding

全局池通常用于通道注意力以全局编码空间信息,但它将全局空间信息压缩到通道描述符中,因此难以保存位置信息,这对于在视觉任务中捕获空间结构至关重要。为了鼓励注意力块用精确的位置信息在空间上捕捉长距离的交互,我们将全局池分解为等式(1) 变成一对1D特征编码操作。具体而言,给定输入X,我们使用池核(H,1)或(1,W)的两个空间范围分别沿水平坐标和垂直坐标对每个通道进行编码。因此,高度h处的第c通道的输出可以公式化为

z_{c}^{h}(h) = \frac{1}{W}\sum_{0\leq i< W}^{}x_{c}(h,i)                    (4)

 类似地,宽度w处的第c沟道的输出可以写为:

z_{c}^{w}(w) = \frac{1}{H}\sum_{0\leq j<H}^{}x_{c}(j,w)                     (5)

上述两个变换分别沿两个空间方向聚合特征,生成一对方向感知特征图。这与产生单个特征向量的通道关注方法中的挤压操作(等式(1))截然不同。这两种变换还允许我们的注意力块捕获沿一个空间方向的长距离依赖关系,并沿另一个方向保留精确的位置信息,这有助于网络更准确地定位感兴趣的对象。

3.2.2 Coordinate Attention Generation

如上所述,方程(4)和等式(5)。 启用全局感受野并编码精确的位置信息。为了利用产生的表达表示,我们提出了第二种转换,称为坐标注意力生成。我们的设计参考了以下三个标准首先,对于移动环境中的应用程序,新的转换应该尽可能简单和便宜其次,它可以充分利用所捕获的位置信息,从而可以准确地突出显示感兴趣的区域最后但并非最不重要的是,它还应该能够有效地捕捉渠道间的关系,这在现有研究中已经证明是必不可少的

具体而言,给定由等式4和等式5,我们首先连接它们,然后将它们发送到共享的1×1卷积变换函数F1,得到

f = \delta (F_{1}([z^{h},z^{w}]))

其中,[·,·]表示沿空间维度的级联操作,δ是非线性激活函数,f \epsilon \mathbb{R}^{\frac{C}{r}\times (H+W)}是在水平方向和垂直方向上编码空间信息的中间特征图。这里r是用于控制SE块中的块大小的缩小比。然后,我们沿着空间维度将f分成两个独立的张量f^{h}\epsilon \mathbb{R}^{\frac{C}{r}\times H}f^{w}\epsilon \mathbb{R}^{\frac{C}{r}\times W}。另外两个1×1卷积变换F_{h}F_{w}用于将f^{h}f^{w}分别变换为与输入X具有相同通道数的张量,从而得到

g^{h} = \sigma (F_{h}(f^{h})),

g^{w} = \sigma (F_{w}(f^{w}))

回想一下σ是sigmoid函数。为了降低开销模型的复杂性,我们通常以适当的缩减比r来缩减f的信道数。我们将在实验部分讨论不同减速比对性能的影响。然后,输出gh和gw被扩展并分别用作注意力权重。最后,坐标关注块Y的输出可以写为

y_{c}(i,j) = x_{c}(i,j)\times g_{c}^{h}(i)\times g_{c}^{w}(j)

 Discussion:

与只关注重新衡量不同通道重要性的通道关注不同,我们的坐标关注块还考虑对空间信息进行编码。如上所述,沿水平和垂直方向的注意力同时应用于输入张量。两个注意力图中的每个元素都反映了感兴趣的对象是否存在于相应的行和列中。这种编码过程允许我们的坐标注意力更准确地定位感兴趣对象的准确位置,从而帮助整个模型更好地识别。我们将在实验部分详细演示这一点。

3.3. Implementation

由于本文的目标是研究一种更好的方法来增强移动网络的卷积特征,因此,我们以两种具有不同类型残差块的经典轻量级架构(即MobileNetV2和MobileNeXt)为例,来证明所提出的坐标关注块相对于其他坐标关注块的优势著名的轻质注意力块。图3显示了我们如何将注意力块插入MobileNetV2中的反向剩余块和MobileNeXt中的沙漏块。

CA位置注意力机制_第4张图片

4. Experiments

在本节中,我们首先描述了我们的实验设置,然后进行了一系列消融实验,以证明建议的坐标关注中每个部件对性能的贡献。接下来,我们将我们的方法与一些基于注意力的方法进行比较。最后,我们报告了与其他基于注意力的方法在对象检测和语义分割方面的比较结果。

4.1 Experiment Setup

我们使用PyTorch框架来实现我们的所有实验。在训练期间,我们使用衰减和动量为0.9的标准SGD优化器来训练所有模型。重量衰减设置为4×10e-5。采用初始学习率为0.05的余弦学习计划。我们使用四个NVIDIA GPU进行训练,批量大小设置为256。在没有额外声明的情况下,我们将MobileNetV2作为我们的基线,并训练200个时代的所有模型。对于数据增强,我们使用与MobileNetV2中相同的方法。我们在分类中报告ImageNet数据集的结果。

4.2 Ablation Studies

Importance of coordinate attention:为了证明所提出的坐标注意力的性能,我们进行了一系列消融实验,其相应结果均列于表1中。我们从坐标注意力中移除水平注意力或垂直注意力,以了解编码坐标信息的重要性。如表1所示,沿任一方向关注的模型具有与SE关注的那个。然而,当水平注意力和垂直注意力都被纳入时,我们获得了最佳结果,如表1所示。这些实验表明,在可学习参数和计算成本相当的情况下,坐标信息嵌入对图像分类更有帮助。

CA位置注意力机制_第5张图片

 Different weight multipliers:这里,我们以两个经典的移动网络(包括具有倒置残差块的MobileNetV2和具有沙漏瓶颈块的mobile NeXt)为基线,以对比SE关注和CBAM在不同权重乘数下的性能。在这个实验中,我们采用了三个典型的权重乘数,包括{1.0,0.75,0.5}。如表2所示,当以MobileNetV2网络为基准时,使用CBAM的模型具有与SE关注的模型相似的结果。然而,具有所建议的坐标注意力的模型在每种设置下产生最佳结果。当使用表3所列的MobileNeXt网络时,也可以观察到类似的现象。这表明,无论考虑哪一个沙漏瓶颈块还是倒置残差块,无论选择哪一个权重乘数,由于同时编码位置信息和信道间信息的先进方式,我们的坐标注意力表现最佳。

CA位置注意力机制_第6张图片

CA位置注意力机制_第7张图片

The impact of reduction ratio r:为了研究注意力块的不同缩减率对模型性能的影响,我们尝试减小缩减率的大小并查看性能变化。如表4所示,当我们将r减小到原始大小的一半时,模型大小会增加,但可以获得更好的性能。这表明,通过降低缩减率来添加更多参数对于改善模型性能至关重要。更重要的是,我们的协调注意力仍然是在这个实验中,表现得比SE注意力和CBAM更好,反映了所提出的协调注意力对缩减率的鲁棒性。

CA位置注意力机制_第8张图片

 4.3. Comparison with Other Methods

Attention for Mobile Networks:我们将我们的坐标注意力与移动网络的其他轻量级注意力方法进行了比较,包括表2中广泛采用的SE注意力和CBAM。可以看出,添加SE注意力已经将分类性能提高了1%以上。对于CBAM,与SE注意力相比,图2(b)所示的空间注意力模块似乎对移动网络没有贡献。然而,当考虑提议的协调注意力时,我们会获得最佳结果。我们还可视化了图4中使用不同注意力方法的模型生成的特征图。显然,我们的坐标注意力比SE注意力和CBAM更有助于定位感兴趣的对象。

CA位置注意力机制_第9张图片

我们认为,与CBAM相比,所提出的位置信息编码方式具有两方面的优势。首先,CBAM中的空间注意力模块挤压信道维度为1,导致信息丢失。然而,我们的协调注意力使用适当的缩减比率来减少瓶颈中的通道维度,避免了太多的信息损失。其次,CBAM利用核大小为7×7的卷积层来编码局部空间信息,而我们的坐标注意力通过使用两个互补的1D全局池操作来编码全局信息。这使得我们的协调注意力能够捕捉视觉任务所必需的空间位置之间的长期依赖关系。

Stronger Baseline:为了进一步证明在更强大的移动网络中,建议的协调关注优于SE关注的优势,我们将EfficientNet-b0作为我们的基线。EfficientNet基于架构搜索算法。并包含SE关注。为了研究EfficientNet上建议的协调注意力的性能,我们只需将SE注意力替换为建议的协调注意。对于其他设置,我们遵循原始论文。结果列于表5。与原始EfficientNet-b0(包括SE注意)和其他具有可比性的方法相比EfficientNet-b0的参数和计算,我们的网络在协调注意力的情况下取得了最佳结果。这表明,所提出的协调注意力仍然可以在强大的移动网络中表现良好。

CA位置注意力机制_第10张图片

 4.4. Applications

在本小节中,我们对对象检测任务和语义分割任务进行了实验,以探索所提出的协调注意力相对于其他注意力方法的可转移能力。

4.4.1 Object Detection

Implementation Details:我们的代码基于PyTorch和SSDLite。在[34]之后,我们将SSDLite的第一层和第二层分别连接到输出步长分别为16和32的最后一个逐点卷积,并将其余SSDLite层添加到最后一个卷积层的顶部。在COCO上进行训练时,我们将批大小设置为256,并使用同步批规范化。使用余弦学习计划,初始学习率为0.01。我们对模型进行了总共1600000次迭代的训练。当训练Pascal VOC时,批量大小被设置为24,并且所有模型都被训练了240000次迭代。权重衰减设置为0.9。初始学习率为0.001,然后在160000次迭代时除以10,在200000次迭代时再次除以10。对于其他设置,读者可以参考文献[34,26]。

Results on COCO:在本实验中,我们遵循了大多数先前的工作,并分别报告了AP、AP50、AP75、APS、APM和APL方面的结果。在表6中,我们显示了COCO 2017验证集上不同网络设置产生的结果。很明显,在MobileNetV2中添加坐标关注显著提高了检测结果(24.5v.s.22.3),仅需0.5M个参数开销和几乎相同的计算成本。与其他轻量级注意力方法(如SE attention和CBAM)相比,我们版本的SSDLite320在所有指标中都取得了最佳结果,且参数和计算数量几乎相同。

CA位置注意力机制_第11张图片

 此外,我们还显示了基于SSDLite320的先前最先进模型产生的结果,如表6所示。请注意,一些方法(例如MobileNetV3和MnasNet-A1)基于神经架构搜索方法,但我们的模型没有。显然,与其他参数和计算接近的方法相比,我们的检测模型在AP方面取得了最佳结果。

Results on Pascal VOC:在表7中,我们显示了采用不同注意方法时Pascal VOC 2007测试集的检测结果。我们观察到SE注意和CBAM不能改善基线结果。然而,添加所建议的坐标注意力可以将平均AP从71.7大幅提高到73.1。在COCO和Pascal VOC数据集上的检测实验都表明,与使用其他注意力方法的分类模型相比,使用所建议坐标注意力的分类模型具有更好的可转移能力。

CA位置注意力机制_第12张图片

我们在表8中显示了将不同模型作为主干时的分割结果在两个不同的输出步幅下,即16和8。请注意,这里报告的所有结果都不是基于COCO预训练。根据表8,配备了我们的坐标注意力的模型比香草MobileNetV2和其他注意力方法表现得更好。

CA位置注意力机制_第13张图片

Results on Cityscapes:城市景观是流行的城市街道场景分割数据集,共包含19个不同类别。根据官方建议,我们使用了2975张图像进行训练,500张图像进行验证。只有精细注释的图像用于训练。在训练中,我们将原始图像随机裁剪为768×768。在测试期间,所有图像都保持原始大小(1024×2048)。

在表9中,我们展示了不同关注方法的模型在城市景观数据集上产生的分割结果。与普通的MobileNetV2和其他注意力方法相比,我们的坐标注意力可以通过相当数量的可学习参数大幅度提高分割结果。

CA位置注意力机制_第14张图片

 Discussion:我们观察到,与ImageNet分类和对象检测相比,我们的坐标注意力在语义分割方面产生了更大的改进。我们认为,这是因为我们的协调注意力能够捕捉具有精确位置信息的长距离依赖关系,这对于具有密集预测的视觉任务(如语义分割)更为有利。

5. Conclusions

在本文中,我们提出了一种新的用于移动网络的轻型注意力机制,称为坐标注意力。我们的坐标注意力继承了通道注意力方法(例如,挤压和激发注意力)的先进性,该方法对通道间关系进行建模,同时利用精确的位置信息捕获长距离依赖关系。ImageNet分类、对象检测和语义分割的实验证明了我们协调注意力的有效性。

你可能感兴趣的:(深度学习)