Coordinate Attention for Efficient Mobile Network Design
- 《用于高效移动网络设计的坐标注意力机制》
- 1.引言
- 2.相关工作
- 2.1 移动网络架构
- 2.2 注意力机制
- 3. 坐标注意力
- 3.1. 回顾SE注意力 (Squeeze-and-Excitation Attention)
- 3.2. 坐标注意力块
- 3.2.1 坐标信息嵌入
- 3.2.2 坐标注意力生成
- 3.3 实现
- 4. 实验
- 4.1 实验设置
- 4.2 消融研究
- 4.3 与其他方法的比较
- 4.4 应用
- 4.4.1 目标检测
- 4.4.2 语义分割
- 5. 结论
- 致谢
《用于高效移动网络设计的坐标注意力机制》
原文地址:官方论文地址
代码地址:官方代码地址
摘要
近年来,关于移动网络设计的研究表明,通道注意力(如Squeeze-and-Excitation注意力机制)在提升模型性能方面表现出显著的效果,但通常忽略了位置信息,而位置信息对于生成具有空间选择性的注意力图非常重要。在本文中,我们提出了一种嵌入位置信息的通道注意力机制,称为“坐标注意力”(Coordinate Attention)。与通过二维全局池化将特征张量转换为单一特征向量的通道注意力不同,坐标注意力将通道注意力分解为两个一维特征编码过程,分别沿两个空间方向聚合特征。通过这种方式,可以在一个空间方向上捕获长距离依赖,同时在另一个空间方向上保留精确的位置信息。最终生成的特征图分别被编码为一对方向感知和位置敏感的注意力图,这些图可以互补地应用于输入特征图,以增强目标对象的表示能力。 我们的坐标注意力机制简单且灵活,可以几乎无计算开销地插入经典的移动网络中,如MobileNetV2、MobileNeXt和EfficientNet。大量实验表明,坐标注意力不仅对ImageNet分类任务有益,更有趣的是,在下游任务(如目标检测和语义分割)中表现更佳。代码已开放:https://github.com/Andrew-Qibin/CoordAttention
1.引言
注意力机制用于告诉模型“关注什么”和“在哪里关注”,已被广泛研究并广泛应用于提升现代深度神经网络的性能 。然而,在移动网络(模型规模受限)中的应用却显著落后于大规模网络。 这主要是因为大多数注意力机制带来的计算开销对于移动网络来说是不可承受的。
考虑到移动网络受限的计算能力,目前最流行的移动网络注意力机制仍然是Squeeze-and-Excitation(SE)注意力 。它通过二维全局池化计算通道注意力,在较低计算成本下显著提升了性能。然而,SE注意力仅考虑了通道间信息的编码,却忽略了位置信息的重要性,而位置信息对于视觉任务中捕获目标结构至关重要 。
后续工作如BAM 和CBAM试图通过减小输入张量的通道维度并使用卷积计算空间注意力(如图2(b)所示)来利用位置信息。然而,卷积只能捕获局部关系,无法建模视觉任务中至关重要的长距离依赖 。
在本文中, 我们提出了一种新颖且高效的注意力机制,通过将位置信息嵌入通道注意力,使移动网络能够关注更大的区域,同时避免显著增加计算开销。为了缓解二维全局池化导致的位置信息丢失,我们将通道注意力分解为两个并行的一维特征编码过程,有效地将空间坐标信息集成到生成的注意力图中。具体来说,我们的方法利用两个一维全局池化操作,分别沿垂直和水平方向聚合输入特征,生成两个分别感知方向的特征图。这两个包含方向特定信息的特征图随后被单独编码为两个注意力图,每个注意力图分别捕获输入特征图在一个空间方向上的长距离依赖。因此,生成的注意力图能够保留位置信息。随后,这两个注意力图通过乘法作用于输入特征图,以强化感兴趣的表征。我们将这种注意力机制命名为“坐标注意力”,因为它的操作区分了空间方向(即坐标)并生成了坐标感知的注意力图。
坐标注意力具有以下优势:
1.首先,它不仅捕获了跨通道的信息,还捕获了方向感知和位置敏感的信息,帮助模型更准确地定位和识别感兴趣的目标。
2.其次,我们的方法灵活且轻量化,可以轻松嵌入移动网络的经典构建块中,例如MobileNetV2提出的倒残差块和MobileNeXt提出的沙漏块,通过强化信息性表征来增强特征。
3.作为一个预训练模型,我们的坐标注意力能够显著提升移动网络在下游任务中的性能,尤其是那些需要密集预测的任务(如语义分割)。这些优势将在实验部分得到展示。
为了验证所提方法相较于之前移动网络注意力机制的优越性,我们在ImageNet分类和一些流行的下游任务(包括目标检测和语义分割)上进行了广泛实验。在具有相似参数量和计算量的情况下,我们的网络在ImageNet分类任务中实现了Top-1准确率0.8%的提升。在目标检测和语义分割任务中,相较于使用其他注意力机制的模型,我们也观察到了显著的性能提升,如图1所示。我们希望这一简单且高效的设计能为未来移动网络注意力机制的发展提供新的思路。
图1:显示了不同注意力方法在三个经典视觉任务上的性能。纵轴分别表示ImageNet分类的Top-1准确率、语义分割的平均IoU以及COCO目标检测的AP。可以明显看出,我们的方法不仅在ImageNet分类任务上优于SE块和CBAM,而且在下游任务(如语义分割和目标检测)中表现更好。所有结果均基于MobileNetV2。
2.相关工作
在本节中,我们将对本文的相关背景进行简要综述,包括关于高效网络架构设计以及注意力机制或非局部模型的相关研究工作。
2.1 移动网络架构
最近的最先进的移动网络大多基于深度可分离卷积和倒残差块。HBONet 引入了在每个倒残差块内部进行下采样操作,以建模代表性的空间信息。ShuffleNetV2 在倒残差块的前后使用了通道分离模块和通道混洗模块。随后,MobileNetV3 结合神经架构搜索算法来搜索不同深度的倒残差块的最优激活函数和扩展比例。此外,MixNet、EfficientNet 和 ProxylessNAS 也采用了不同的搜索策略,搜索深度可分离卷积的最优卷积核大小或控制网络权重的标量,包括扩展比例、输入分辨率、网络深度和宽度。最近,Zhou 等人重新思考了深度可分离卷积的使用方式,并提出了 MobileNeXt,它采用经典的瓶颈结构来构建移动网络。
2.2 注意力机制
注意力机制在许多计算机视觉任务中已被证明是有效的,例如图像分类和图像分割。一个成功的例子是 SENet,它通过将每个二维特征图进行压缩,来高效地构建通道之间的相互依赖。CBAM 进一步通过引入使用大尺寸卷积核的卷积操作来进行空间信息编码,从而推动了这一思想的发展。后续的工作,如 GENet、GALA、AA 和 TA,通过采用不同的空间注意力机制或设计先进的注意力块,扩展了这一思想。
非局部/自注意力网络近年来非常流行,因为它们能够构建空间或通道级的注意力。典型的例子包括 NLNet、GCNet、A2Net、SCNet、GSoP-Net 和 CCNet,它们都利用非局部机制捕获不同类型的空间信息。然而,由于自注意力模块内部的计算量较大,它们通常用于大型模型中,而不适用于移动网络。
与这些利用昂贵且计算量大的非局部或自注意力块的方法不同,我们的方法考虑了通过一种更高效的方式来捕获位置信息和通道间的关系,以增强移动网络的特征表示。通过将二维全局池化操作分解为两个一维编码过程,我们的方法在轻量化特性方面比其他注意力方法(如 SENet、CBAM 和 TA)表现得更好。
3. 坐标注意力
坐标注意力块可以视为一个计算单元,旨在增强移动网络中学习特征的表达能力。它可以接受任何中间特征张量 X = [ x 1 , x 2 , … , x C ] ∈ R C × H × W X = [x_1, x_2, \dots, x_C] \in \mathbb{R}^{C \times H \times W} X=[x1,x2,…,xC]∈RC×H×W作为输入,并输出一个变换后的张量 Y = [ y 1 , y 2 , … , y C ] Y = [y_1, y_2, \dots, y_C] Y=[y1,y2,…,yC],其尺寸与 ( X ) 相同。
为了清楚地描述所提出的坐标注意力机制,我们首先回顾一下在移动网络中广泛使用的 SE 注意力机制。
3.1. 回顾SE注意力 (Squeeze-and-Excitation Attention)
标准卷积本身很难建模通道关系。明确构建通道间的相互依赖关系可以增强模型对有用通道的敏感性,这些通道对最终的分类决策贡献更大。此外,使用全局平均池化还可以帮助模型捕捉全局信息,而这对于卷积操作来说是缺失的。
从结构上讲,SE 块可以分解为两个步骤:压缩(squeeze)和激励(excitation),分别用于全局信息嵌入和通道关系的自适应重校准。
给定输入 X X X,第 c c c 通道的压缩步骤可以表示为:
z c = 1 H × W ∑ i = 1 H ∑ j = 1 W x c ( i , j ) ( 1 ) z_c = \frac{1}{H ×W} \sum_{i=1}^{H} \sum_{j=1}^{W} x_c(i, j) \quad (1) zc=H×W1i=1∑Hj=1∑Wxc(i,j)(1)
其中, z c z_c zc是与第 c c c 通道相关的输出。输入 X X X直接来自具有固定卷积核大小的卷积层,因此可以视为局部描述符的集合。压缩操作使得收集全局信息成为可能。
第二步,激励,旨在充分捕捉通道间的依赖关系,可以表示为:
X = X ⋅ σ ( z ^ ) ( 2 ) X = X \cdot \sigma(\widehat{z}) \quad (2) X=X⋅σ(z )(2)
其中, ⋅ \cdot ⋅ 表示通道级别的乘法, σ \sigma σ 是 sigmoid 函数, z z z 是通过变换函数生成的结果,变换函数可以表示为:
z ^ = T 2 ( ReLU ( T 1 ( z ) ) ) ( 3 ) \widehat{z} = T_2(\text{ReLU}(T_1(z))) \quad (3) z =T2(ReLU(T1(z)))(3)
这里, T 1 T_1 T1 和 T 2 T_2 T2 是两个线性变换,可以学习并捕捉每个通道的重要性。
SE 块已经在近期的移动网络中得到广泛应用,并证明是实现最先进性能的关键组件。然而,它仅考虑通过建模通道关系来重新加权每个通道的重要性,却忽略了位置信息, 而我们将在第四节中通过实验证明,位置信息对生成空间选择性注意力图是非常重要的。接下来,我们将介绍一种新颖的注意力块,它同时考虑了通道间的关系和位置信息。
3.2. 坐标注意力块
我们的坐标注意力通过两个步骤来编码通道关系和长距离依赖关系,同时保持精确的位置信息:坐标信息嵌入和坐标注意力生成。所提出的坐标注意力块的示意图可以在图2的右侧找到。接下来,我们将详细描述其工作原理。
图2. 提出了坐标注意力块(c)与经典的SE通道注意力块(a)和CBAM(b)的示意图比较。在这里,“GAP”和“GMP”分别指代全局平均池化和全局最大池化;“XAvgPool”和“YAvgPool”分别指代1D水平全局池化和1D垂直全局池化。
3.2.1 坐标信息嵌入
全局池化通常用于通道注意力中,以全局地编码空间信息,但它将全局空间信息压缩为通道描述符,因此难以保持位置信息,而位置信息对于捕捉视觉任务中的空间结构至关重要。为了鼓励注意力块在空间上捕捉长范围的交互并保持精确的位置信息,我们将全局池化(如公式(1)所示)分解为一对1D特征编码操作。具体来说,给定输入 X X X,我们使用两个空间范围的池化核 ( H , 1 ( H,1 (H,1或 1 , W 1,W 1,W)分别沿水平坐标和垂直坐标编码每个通道。于是,第 c c c 通道在高度 h h h 处的输出可以表示为:
z c h ( h ) = 1 W ∑ 0 ≤ i < W x c ( h , i ) ( 4 ) z^h_c(h) = \frac{1}{W} \sum_{0≤i<W} x_c(h,i) \quad (4) zch(h)=W10≤i<W∑xc(h,i)(4)
类似地,第 c c c 通道在宽度 w w w 处的输出可以写为:
z c w ( w ) = 1 H ∑ 0 ≤ j < H x c ( j , w ) ( 5 ) z^w_c(w) = \frac{1}{H} \sum_{0≤j<H} x_c(j,w) \quad (5) zcw(w)=H10≤j<H∑xc(j,w)(5)
上述两个变换分别沿着两个空间方向聚合特征,生成一对方向感知特征图。这与通道注意力方法中的压缩操作(公式(1))产生单一特征向量不同。 这两个变换还使得我们的注意力块能够沿一个空间方向捕捉长范围的依赖关系,并沿另一个空间方向保持精确的位置信息,从而帮助网络更准确地定位感兴趣的对象。
3.2.2 坐标注意力生成
如上所述,方程 (4) 和方程 (5) 实现了全局感受野并编码了精确的位置信息。为了充分利用这些表达能力,我们提出了第二个转换,称为坐标注意力生成。我们的设计遵循以下三个标准。首先,新的转换应该在移动环境中的应用中尽可能简单和低成本。其次,它可以充分利用捕获的位置信息,以便准确突出感兴趣的区域。最后,但同样重要的是,它还应该能够有效捕捉通道间的关系,这已被现有研究证明是必不可少的。
具体来说,给定方程 (4) 和方程 (5) 产生的聚合特征图,我们首先将它们进行拼接,然后送入共享的 1×1 卷积变换函数 F 1 F_1 F1,得到:
f = δ ( F 1 ( [ z h , z w ] ) ) f = \delta (F_1([z^h , z^w])) f=δ(F1([zh,zw]))
其中, [ ⋅ , ⋅ ] [\cdot,\cdot ] [⋅,⋅] 表示沿空间维度拼接操作, σ \sigma σ 是非线性激活函数, f ∈ R C / r × ( H + W ) f \in \mathbb{R}^{C / r \times (H+W)} f∈RC/r×(H+W) 是编码了水平和垂直方向空间信息的中间特征图。这里,r 是控制块大小的压缩比率,类似于 SE 块中的做法。接着,我们将 f f f 沿空间维度拆分为两个独立的张量 f h ∈ R C / r × H f^h \in \mathbb{R}^{C/r \times H} fh∈RC/r×H和 f w ∈ R C / r × W f^w \in \mathbb{R}^{C/ r \times W} fw∈RC/r×W。然后,使用另两个 1×1 卷积变换 F h F_h Fh 和 F w F_w Fw 分别转换 f h f^h fh 和 f w f^w fw,得到与输入 X 相同通道数的张量,分别为:
g h = σ ( F h ( f h ) ) g^h = \sigma (F_h(f^h)) gh=σ(Fh(fh))
g w = σ ( F w ( f w ) ) g^w =\sigma (F_w(f^w)) gw=σ(Fw(fw))
回顾一下, σ \sigma σ 是 sigmoid 函数。为了减少模型复杂度,我们通常通过适当的压缩比率 r(例如,32)来减小 f f f 的通道数。在实验部分,我们将讨论不同压缩比率对性能的影响。输出 g h g^h gh 和 g w g^w gw 然后被扩展,并分别用作注意力权重。最后,坐标注意力块的输出 Y 可以表示为:
y c ( i , j ) = x c ( i , j ) × g c h ( i ) × g c w ( j ) y_c(i, j) = x_c(i, j) ×g_c^h(i) × g_c^w(j) yc(i,j)=xc(i,j)×gch(i)×gcw(j)
讨论: 与仅关注重新加权不同通道重要性的通道注意力不同,我们的坐标注意力块还考虑了空间信息的编码。如上所述,沿水平和垂直方向的注意力同时应用于输入张量。在两个注意力图中的每个元素反映了感兴趣的物体是否存在于相应的行和列中。这个编码过程使我们的坐标注意力能够更准确地定位感兴趣物体的精确位置,从而帮助整个模型更好地识别物体。我们将在实验部分详尽展示这一点。
3.3 实现
由于本文的目标是探索一种更优的方法来增强移动网络的卷积特征,我们选择了两种经典的轻量级架构作为示例,它们使用了不同类型的残差块(即 MobileNetV2 和 MobileNeXt),以展示提出的坐标注意力模块相较于其他著名轻量级注意力模块的优势。图 3 展示了我们如何将注意力块嵌入到 MobileNetV2 中的倒残差块和 MobileNeXt 中的沙漏块。
图 3. 不同网络架构的网络实现。(a) MobileNetV2 中提出的倒残差块;(b) MobileNeXt 中提出的沙漏瓶颈块。
4. 实验
在本节中,我们首先描述实验设置,然后进行一系列消融实验,证明提出的坐标注意力中每个组件对性能的贡献。接下来,我们将我们的方法与一些基于注意力的方法进行比较。最后,我们报告在目标检测和语义分割任务中,提出的方法与其他基于注意力的方法的结果。
4.1 实验设置
我们使用 PyTorch 工具箱来实现所有实验。在训练过程中,我们使用标准的 SGD 优化器,动量为 0.9,衰减为 0.5 来训练所有模型。权重衰减设置为 4 × 1 0 − 5 4×10^{-5} 4×10−5。采用初始学习率为 0.05 的余弦学习率调度。我们使用四个 NVIDIA GPU 进行训练,批量大小设置为 256。在没有额外声明的情况下,我们将 MobileNetV2 作为基准,并训练所有模型 200 轮。数据增强方法与 MobileNetV2 中相同。我们在 ImageNet 数据集上报告分类任务的结果。
4.2 消融研究
坐标注意力的重要性:为了证明提出的坐标注意力的性能,我们进行了一系列消融实验,所有相应的结果列在表 1 中。我们去掉坐标注意力中的水平注意力或垂直注意力,来观察编码坐标信息的重要性。如表 1 所示,模型在加入任一方向的注意力后,与使用 SE 注意力的模型性能相当。然而,当同时加入水平和垂直注意力时,我们获得了最佳结果,如表 1 所示。这些实验表明,在可比的可学习参数和计算成本下,坐标信息的嵌入对图像分类任务有更大的帮助。
不同权重倍增器:在此,我们以两个经典的移动网络(包括带倒残差块的 MobileNetV2 和带沙漏瓶颈块的 MobileNeXt)为基准,比较在不同权重倍增器下,提出的方法与 SE 注意力和 CBAM 的性能。在这个实验中,我们采用了三种典型的权重倍增器:100、750 和 5。如表 2 所示,当以 MobileNetV2 网络作为基准时,带 CBAM 的模型与带 SE 注意力的模型性能相似。然而,使用提出的坐标注意力的模型在每种设置下都获得了最佳结果。表 3 中列出了在使用 MobileNeXt 网络时的相似现象。这表明,无论考虑沙漏瓶颈块还是倒残差块,无论选择哪种权重倍增器,我们的坐标注意力表现最佳,因为它能够同时先进地编码位置和通道间的信息。
减少比例 r r r 的影响:为了研究注意力块中不同减少比例对模型性能的影响,我们尝试减小减少比例的大小,并观察性能的变化。如表 4 所示,当我们将减少比例减小到原始大小的一半时,模型的大小增加,但性能得到了改善。这表明,通过减少减少比例来增加更多的参数,有助于提升模型性能。更重要的是,在此实验中,我们的坐标注意力仍然比 SE 注意力和 CBAM 表现得更好,体现了所提出的坐标注意力对减少比例的鲁棒性。
表 1:在不同实验设置下,所提出的坐标注意力的结果对比。这里,r 是压缩比率,基准结果基于 MobileNetV2 模型。如表所示,单独添加水平(X)注意力或垂直(Y)注意力的模型,与使用 SE 注意力的模型表现相同。然而,当同时考虑水平和垂直注意力(坐标注意力)时,我们的方法取得了最佳结果。延迟是在 Google Pixel 4 设备上测试的。
表2. 在不同权重乘数下,采用MobileNetV2作为基准的不同注意力方法比较。
表3. 在不同权重乘数下,采用MobileNeXt作为基准的不同注意力方法比较。
表4. 在不同降维比率 𝑟下,配备不同注意力模块的模型比较。基准结果基于MobileNetV2模型。显然,当降维比率减小时,我们的方法仍然表现最佳。
4.3 与其他方法的比较
面向移动网络的注意力机制。 我们将提出的坐标注意力与其他轻量级注意力方法进行比较,包括广泛采用的SE注意力和CBAM,如表2所示。从表中可以看出,添加SE注意力已经使分类性能提高了超过1%。对于CBAM,似乎其空间注意力模块(如图2(b)所示)在移动网络中并没有比SE注意力有更大的贡献。然而,考虑到提出的坐标注意力时,我们取得了最佳结果。我们还在图4中可视化了使用不同注意力方法的模型产生的特征图。显然,我们的坐标注意力在定位感兴趣对象方面比SE注意力和CBAM更为有效。
我们认为,提出的位置信息编码方式相较于CBAM具有双重优势。首先,CBAM中的空间注意力模块将通道维度压缩为1,这导致信息丢失。然而, 我们的坐标注意力使用适当的降维比率在瓶颈层减少通道维度,从而避免了过多的信息丢失。其次,CBAM利用一个7x7卷积层来编码局部空间信息,而我们的坐标注意力通过使用两个互补的1D全局池化操作来编码全局信息。这使得 我们的坐标注意力能够捕捉空间位置之间的长程依赖关系,这对视觉任务至关重要。
更强的基准。 为了进一步展示提出的坐标注意力相对于SE注意力在更强大的移动网络中的优势,我们在这里以EfficientNet-b0 作为基准。EfficientNet基于架构搜索算法,并包含SE注意力。为了研究提出的坐标注意力在EfficientNet上的表现,我们仅将SE注意力替换为我们提出的坐标注意力。对于其他设置,我们遵循原始论文的配置。结果已列在表5中。与原始的包含SE注意力的EfficientNet-b0以及其他与EfficientNet-b0具有可比参数和计算量的方法相比,我们的网络在加入坐标注意力后取得了最佳结果。这证明了提出的坐标注意力在强大的移动网络中仍然能够表现良好。
图 4. 使用不同注意力方法的模型在最后一个构建块中生成的特征图的可视化。我们使用 Grad-CAM 作为可视化工具,展示了每个注意力模块前后的特征图。从图中可以明显看出,我们的坐标注意力(CA)相比其他注意力方法能够更精确地定位感兴趣的目标。
表 5. 在以高效网络 EfficientNet-b0 作为基线时的实验结果。同时,我们还与其他具有与 EfficientNet-b0 可比参数量和计算量的方法进行了对比。
4.4 应用
在这一小节中,我们对目标检测任务和语义分割任务进行了实验,探索了提出的坐标注意力相较于其他注意力方法的可转移能力。
4.4.1 目标检测
实现细节:
我们的代码基于 PyTorch 和 SSDLite 实现。按照 SSDLite 的方法,我们将 SSDLite 的第一层和第二层分别连接到步幅为 16 和 32 的最后一点卷积层,并在最后一个卷积层上添加剩余的 SSDLite 层。在 COCO 数据集上训练时,批量大小设置为 256,并使用同步批量归一化。学习率采用余弦调度,初始学习率为 0.01,模型总共训练 1,600,000 次迭代。在 Pascal VOC 数据集上训练时,批量大小设置为 24,模型训练 240,000 次迭代。权重衰减设置为 0.9,初始学习率为 0.001,并在 160,000 次和 200,000 次迭代时分别衰减至原来的十分之一。其他设置请参考相关文献。
COCO 数据集结果:
我们按照常规方法报告了 AP、AP50、AP75、APS、APM 和 APL 等指标的结果。在表 6 中展示了不同网络设置在 COCO 2017 验证集上的结果。可以明显看出,将坐标注意力加入 MobileNetV2 后显著提升了检测性能(24.5 对比 22.3 的 AP),参数量仅增加了 0.5M,计算成本几乎相同。与其他轻量级注意力机制(如 SE 注意力和 CBAM)相比,我们的 SSDLite320 版本在所有指标上都取得了最佳结果,参数和计算量基本相当。
此外,表 6 还展示了与先前基于 SSDLite320 的最新模型的对比结果。尽管一些方法(如 MobileNetV3 和 MnasNet-A1)采用了神经架构搜索技术,但我们的检测模型在参数量和计算量接近的情况下,AP 指标优于其他方法。
Pascal VOC 数据集结果:
表 7 展示了 Pascal VOC 2007 测试集上采用不同注意力机制的检测结果。SE 注意力和 CBAM 无法提升基线结果,但引入我们提出的坐标注意力后,平均 AP 从 71.7 显著提升到 73.1。COCO 和 Pascal VOC 数据集上的检测实验均表明,我们的坐标注意力在迁移能力方面优于其他注意力机制。
表 6. COCO 验证集上的目标检测结果。在所有实验中,我们使用了 SSDLite320 检测器。如图所示,采用坐标注意力的骨干网络在所有评估指标上都取得了最佳结果。需要注意的是,所有结果均基于单模型测试。除了手工设计的移动网络外,我们还展示了基于架构搜索方法(例如 MobileNetV3 和 MnasNet-A1)产生的结果。
表 7. Pascal VOC 2007 测试集上的目标检测结果。我们可以观察到,当采用相同的 SSDLite320 检测器时,加入我们坐标注意力的 MobileNetV2 网络在 mAP 指标上取得了更好的结果。
4.4.2 语义分割
我们还在语义分割任务上进行了实验。以经典的 DeepLabV3 为例,结合 MobileNetV2 骨干网络,验证了所提出的坐标注意力在语义分割任务中的迁移能力。我们将 ASPP 中的标准 3×3 卷积替换为深度可分离卷积,以减少模型规模,更适合移动端应用。ASPP 每个分支的输出通道数设置为 256,其他组件保持不变。我们在 Pascal VOC 2012 和 Cityscapes 数据集上报告了实验结果。权重衰减设置为 4e-5,当输出步幅为 16 时,ASPP 的膨胀率为 {6, 12, 18};当输出步幅为 8 时,膨胀率为 {12, 24, 36}。
Pascal VOC 2012 数据集结果:
Pascal VOC 2012 数据集包含 21 个类别(包括 1 个背景类)。按照原始论文的建议,我们使用 1,464 张图像进行训练,1,449 张图像进行验证。与大多数先前工作类似,我们通过添加额外图像扩展训练集,总计 10,582 张训练图像。表 8 比较了在不同骨干网络下的分割结果,输出步幅为 16 和 8 的情况下均进行了报告。未基于 COCO 预训练的情况下,采用坐标注意力的模型显著优于原始 MobileNetV2 和其他注意力方法。
Cityscapes 数据集结果:
Cityscapes 数据集包含 19 个城市街景类别。按照官方建议,我们使用 2,975 张图像进行训练,500 张图像进行验证,仅使用精细标注的图像。训练时将原始图像随机裁剪至 768×768,测试时保留图像的原始尺寸(1024×2048)。表 9 展示了在 Cityscapes 数据集上使用不同注意力机制的模型分割结果。与原始 MobileNetV2 和其他方法相比,采用坐标注意力后,分割性能在参数量相近的情况下有了显著提升。
表 8. Pascal VOC 2012 验证集上的语义分割结果。所有结果均基于单模型测试,并且未使用后处理工具。我们可以看到,所有使用注意力方法的模型都提高了分割结果。然而,当使用提出的坐标注意力时,我们获得了最佳结果,远远超过了其他注意力方法的模型。这里的“Stride”表示分割网络的输出步幅。
表 9. Cityscapes 验证集上的语义分割结果。我们报告了单模型测试的结果,测试时使用了完整的图像尺寸(即 1024 × 2048)。我们未使用任何后处理工具。
讨论:
我们观察到,坐标注意力在语义分割任务上的提升幅度大于 ImageNet 分类和目标检测任务。这可能是因为坐标注意力能够捕获具有精确位置信息的长程依赖,这对语义分割这种需要密集预测的视觉任务尤为有利。
5. 结论
在本文中,我们提出了一种适用于移动网络的新型轻量级注意力机制,称为坐标注意力(Coordinate Attention)。该方法结合了通道注意力方法(例如 Squeeze-and-Excitation 注意力)中建模通道间关系的优势,同时能够通过精确的位置信息捕获远程依赖关系。在 ImageNet 图像分类、目标检测和语义分割任务上的实验结果证明了坐标注意力的有效性。
致谢
本研究部分得到了以下项目的支持:AISG-100E-2019-035、MOE2017-T2-2-151、NUS ECRA FY17 P08 和 CRP20-2017-0006。