(论文翻译)Coordinate Attention for Efficient Mobile Network Design(坐标注意力 CVPR2021)

news2024/11/24 15:33:06

Coordinate Attention for Efficient Mobile Network Design(CVPR2021)

文章目录

  • Coordinate Attention for Efficient Mobile Network Design(CVPR2021)
    • 摘要
    • 1.引言
    • 2.相关工作
    • 3.方法:Coordinate Attention
      • 3.1.Revisit Squeeze-and-Excitation Attention
      • 3.2.Coordinate Attention Blocks
        • 3.2.1.Coordinate Information Embedding
        • 3.2.2.Coordinate Attention Generation
      • 3.3.Implementation
    • 4.实验
    • 5.结论

实验部分详见原文,文章为原文翻译,如有错误请参照原文

摘要

  • 挑战:最近在移动网络设计的研究在通道注意力上(如SENet)表现出引人注意的效果,但是他们普遍忽略了位置信息,这对生成空间注意力特征映射是重要的

  • 方法

    • 在本文中,我们通过将位置信息嵌入到通道注意力中,提出一种新颖的移动网络注意力机制,名为“coordinate attention”
    • 不同于通道注意力将特征张量经过二维池化操作转换成单一特征向量,coordinate attention将通道注意力分解为两个一维特征,分别沿两个空间方向聚集特征
    • 这样可以在一个空间方向上捕获远程依赖关系,同时在另一个空间方向上保持精确的位置信息
    • 然后将得到的特征图分别编码为一对方向感知和位置敏感的注意映射,它们可以互补地应用于输入特征映射,以增强感兴趣目标的表示
    • 我们的coordinate attention 是简单的,可以灵活地插入经典的移动网络,如MobileNetV2, MobileNeXt,是几乎没有计算开销的高效率网络
  • 贡献

  • 大量的实验表明,我们的 coordinate attention 关注不仅有利于ImageNet分类,更有趣的是,在下游任务中,如目标检测和语义分割中表现更好

  • code:https://github.com/Andrew-Qibin/CoordAttention

1.引言

在这里插入图片描述

Figure 1. Performance of different attention methods on three classic vision tasks. The y-axis labels from left to right are top-1 accuracy, mean IoU, and AP, respectively. Clearly, our approach not only achieves the best result in ImageNet classification [33] against the SE block [18] and CBAM [44] but performs even better in down-stream tasks, like semantic segmentation [9] and COCO object detection [21]. Results are based on MobileNetV2 [34].

1st Para:

  • 注意机制,用来告诉模型“what”和“where”,已经被广泛研究,并提高现代深度神经网络的性能
  • 然而,它们在移动网络中的应用(模型大小有限)明显落后于大型网络
  • 这主要是因为大多数注意力机制带来的计算开销对于移动网络来说是无法承受的

2st Para:

  • 考虑到移动网络有限的计算能力,迄今为止,移动网络中最流行的注意力机制仍然是(squeeze-and-excitation, SE)注意力
  • 它在2D全局池化的帮助下计算通道注意力,并以相当低的计算成本提供显著的性能提升
  • 然而,SE注意力只考虑了通道间信息的编码,而忽略了位置信息的重要性,而位置信息对于视觉任务中捕获目标结构至关重要
  • 后来的研究,比如BAM和CBAM试图通过降低输入张量的通道维数,然后使用卷积计算空间注意力来利用位置信息,如Figure 2(b)
  • 然而,卷积只能捕获局部关系,而不能对视觉任务所必需的长期依赖关系进行建模

3st Para:

  • 在本文中,除了第一项工作之外,我们提出了一种新颖有效的注意机制,通过将位置信息嵌入到通道注意中,使移动网络能够关注大区域,同时避免产生显著的计算开销
  • 为了减轻二维全局池化造成的位置信息丢失,我们将通道注意分解为两个并行的一维特征编码过程,以有效地整合空间坐标信息到生成的注意力映射
  • 具体来说,我们的方法利用两个一维全局池化操作,分别将垂直和水平方向的输入特征聚合到两个独立的方向感知特征映射中
  • 这两个嵌入了特定方向信息的特征映射被分别编码成两个注意力映射,每个注意力映射可以沿一个空间方向捕获输入特征映射的远程依赖关系
  • 因此,位置信息可以保存在生成的注意力映射中
  • 然后,通过乘法将两个注意映射应用于输入特征映射,以强调感兴趣的表示
  • 我们将提出的注意方法命名为coordinate attention,因为它可以区分空间方向(即坐标)并生成坐标感知的注意力映射

4st Para:

  • 我们的coordinate attention 提供了以下优势
  • 首先,它不仅可以捕获跨通道信息,还可以捕获方向感知和位置敏感信息,这有助于模型更准确地定位和识别感兴趣的目标
  • 其次,我们的方法灵活且轻量级,可以很容易地插入到移动网络的经典构建块中,例如MobileNetV2中提出的residual块和MobileNeXt中提出的sandglass块,通过强调信息表示来增强特征
  • 第三,作为一个预训练模型,我们的coordinate attention 可以为移动网络的下游任务带来显著的性能提升,特别是对于那些密集预测的任务(例如,语义分割),我们将在我们的实验部分中展示

5st Para:

  • 为了证明本文提出的方法相对于以往移动网络关注方法的优势,我们在ImageNet分类和流行的下游任务(包括目标检测和语义分割)中进行了大量实验
  • 通过相当数量的可学习参数和计算,我们的网络在ImageNet上的top1分类准确率中实现了0.8%的性能提升
  • 在目标检测和语义分割方面,我们也观察到与其他注意机制的模型相比有了显著的改进,如Figure 1
  • 我们希望我们简单高效的设计能够促进未来移动网络注意力机制的发展

2.相关工作

在这里插入图片描述

Figure 2. Schematic comparison of the proposed coordinate attention block © to the classic SE channel attention block [18] (a) and CBAM [44] (b). Here, “GAP” and “GMP” refer to the global average pooling and global max pooling, respectively. ‘X Avg Pool’ and ’Y Avg Pool’ refer to 1D horizontal global pooling and 1D vertical global pooling, respectively.

3.方法:Coordinate Attention

  • coordinate attention block可以被看作是一个旨在增强移动网络学习特征的表达能力的计算单元
  • 它可以取任何中间特征张量 X = [ x 1 , x 2 , … , x C ] ∈ R C × H × W \mathbf{X} = [\mathbf{x}_1,\mathbf{x}_2,\ldots,\mathbf{x}_C] \in \mathbb{R}^{C\times H\times W} X=[x1,x2,,xC]RC×H×W 作为输入并输出具有增广表示的与 X \mathbf{X} X 尺寸相同的变换张量 Y = [ y 1 , y 2 , … , y C ] \mathbf{Y} = [\mathbf{y}_1,\mathbf{y}_2,\ldots,\mathbf{y}_C] Y=[y1,y2,,yC]
  • 为了清晰地描述所提出的coordinate attention,我们首先回顾在移动网络中广泛使用的SE注意

3.1.Revisit Squeeze-and-Excitation Attention

1st Para:

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

2st Para:

  • 在结构上,SE块可分解为squeeze和excitation两个步骤,分别用于全局信息嵌入和通道关系的自适应重新校准
  • 给定输入 X \mathbf{X} X ,对第 c c c 个通道的squeeze可以表示为:

z c = 1 H × W ∑ i = 1 H ∑ j = 1 W x c ( i , j ) , (1) z_c=\frac{1}{H\times W}\sum_{i=1}^{H}\sum_{j=1}^{W}x_c(i,j),\tag{1} zc=H×W1i=1Hj=1Wxc(i,j),(1)

  • 其中 z c z_c zc 是第 c c c 个通道的输出
  • 输入 X \mathbf{X} X 是直接来自一个卷积层与一个固定的核大小,因此可以视为一个集合的局部描述
  • squeeze操作使得收集全局信息成为可能

3st Para:

  • 第二步,excitation,旨在完全捕获通道关系,可以表示为:

X ^ = X ⋅ σ ( z ^ ) , (2) \hat{\mathbf{X}}=\mathbf{X}\cdot\sigma(\hat{\mathbf{z}}),\tag{2} X^=Xσ(z^),(2)

  • 其中, ⋅ \cdot 表示通道的乘法, σ \sigma σ 表示sigmoid, z ^ \hat{\mathbf{z}} z^ 是由转换函数生成的结果:

z ^ = T 2 ( ReLU ( T 1 ( z ) ) ) . (3) \hat{\mathbf{z}}=T_2(\text{ReLU}(T_1(\mathbf{z}))).\tag{3} z^=T2(ReLU(T1(z))).(3)

  • 其中, T 1 T_1 T1 T 2 T_2 T2​ 是两个线性变换,可以通过学习来捕捉每个通道的重要性

4st Para:

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

3.2.Coordinate Attention Blocks

  • 我们通过坐标信息嵌入和坐标注意生成两个步骤,对通道关系和远程依赖进行精确的位置信息编码
  • 所提出的坐标注意块示意图如Figure 2.右侧所示
  • 在下面,我们将详细描述它
3.2.1.Coordinate Information Embedding

1st Para:

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

z c h ( h ) = 1 W ∑ 0 ≤ i < W x c ( h , i ) . (4) z_c^h(h)=\frac{1}{W}\sum_{0\leq i<W}x_c(h,i). \tag{4} zch(h)=W10i<Wxc(h,i).(4)

  • 类似地,第 $ c $ 个通道在宽度 $ w $ 处的输出可以表示为:

z c w ( w ) = 1 H ∑ 0 ≤ j < H x c ( j , w ) . (5) z_c^w(w)=\frac{1}{H}\sum_{0\leq j<H}x_c(j,w). \tag{5} zcw(w)=H10j<Hxc(j,w).(5)

2st Para:

  • 上述两种变换分别沿两个空间方向聚合特征,生成一对方向感知特征映射
  • 这与通道注意力方法中的压缩操作 Eq(1)产生单一特征向量的方式截然不同
  • 这两种变换还使我们的注意力模块能够沿一个空间方向捕捉长程依赖关系,并沿另一个空间方向保留精确的位置信息,从而帮助网络更准确地定位感兴趣的目标
3.2.2.Coordinate Attention Generation

1st Para:

  • 如上所述,Eq(4)和 Eq(5)实现了全局感受野并编码了精确的位置信息
  • 为了利用所得的表现力强的表示,我们提出了第二种变换,称为坐标注意力生成
  • 我们的设计遵循以下三个标准
  • 首先,新变换在移动环境中的应用应该尽可能简单和廉价
  • 其次,它可以充分利用捕获到的位置信息,以便准确突出感兴趣的区域
  • 最后但同样重要的是,它还应能够有效捕捉通道间的关系,这在现有研究中已被证明是至关重要的

2st Para:

  • 具体来说,给定由 Eq 4 和 Eq 5 生成的聚合特征图,我们首先将它们拼接起来,然后将它们发送到共享的 1 × 1 1 \times 1 1×1 卷积变换函数 $ F_1 $​,得到:

f = δ ( F 1 ( [ z h , z w ] ) ) , (6) \mathbf{f}=\delta(F_1([\mathbf{z}^h,\mathbf{z}^w])), \tag{6} f=δ(F1([zh,zw])),(6)

  • 这里, [ ⋅ , ⋅ ] [\cdot, \cdot] [,] 表示沿空间维度的连接操作,$ \delta $ 是非线性激活函数,$ f \in \mathbb{R}^{C/r \times (H+W)} $ 是中间特征图
  • 其中 $ r $​ 是减少比例,用于控制块大小,就像 SE 块中一样,它编码了水平方向和垂直方向的空间信息
  • 然后,我们沿着空间维度将 $ f $ 分割成两个单独的张量 $ f_h \in \mathbb{R}^{C/r \times H} $ 和 $ f_w \in \mathbb{R}^{C/r \times W} $
  • 再利用另外两个 1 × 1 1 \times 1 1×1 卷积变换 $ F_h $ 和 $ F_w $ 分别将 $ f_h $ 和 $ f_w $ 转换为与输入 $ X $​ 通道数相同的张量,得到:

g h = σ ( F h ( f h ) ) , (7) \mathbf{g}^h=\sigma(F_h(\mathbf{f}^h)), \tag{7} gh=σ(Fh(fh)),(7)

g w = σ ( F w ( f w ) ) . (8) \mathbf{g}^w=\sigma(F_w(\mathbf{f}^w)). \tag{8} gw=σ(Fw(fw)).(8)

  • 回想一下,$ \sigma $ 是 sigmoid 函数
  • 为了降低模型复杂度,我们通常使用适当的减少比例 $ r $(例如,32)来减少 $ f $ 的通道数
  • 我们将在实验部分讨论不同减少比例对性能的影响
  • 然后,输出 $ g_h $ 和 $ g_w $ 分别被扩展并用作注意力权重
  • 最后,我们的坐标注意力块的输出 $ Y $​ 可以写成:

y c ( i , j ) = x c ( i , j ) × g c h ( i ) × g c w ( j ) . (9) y_c(i,j)=x_c(i,j)\times g_c^h(i)\times g_c^w(j). \tag{9} yc(i,j)=xc(i,j)×gch(i)×gcw(j).(9)

3st Para: Discussion

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

3.3.Implementation

在这里插入图片描述

Figure 3. Network implementation for different network architectures. (a) Inverted residual block proposed in MobileNetV2;(b) Sandglass bottleneck block proposed in MobileNeXt.

  • 由于本文的目标是探究一种更好的方法来增强移动网络的卷积特征,在这里,我们以两种经典的轻量级架构(即 MobileNetV2 和 MobileNeXt)为例,这两种架构具有不同类型的残差块,以展示所提出的坐标注意力块相对于其他著名的轻量级注意力块的优势
  • Figure 3显示了我们如何将注意力块插入到MobileNetV2的反向残差块和MobileNeXt的 sandglass 块中

4.实验

5.结论

  • 本文提出了一种新的移动网络轻量级注意机制——coordinate attention
  • 我们的coordinate attention继承了通道注意方法(例如,squeeze-and-excitation注意)的优势,这些方法可以模拟通道间的关系,同时通过精确的位置信息捕获远程依赖关系
  • 在ImageNet分类、目标检测和语义分割方面的实验证明了该方法的有效性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1806307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(二)JSX基础

什么是JSX 概念&#xff1a;JSX是JavaScript和XML&#xff08;HTML&#xff09;的缩写&#xff0c;表示在JS代码中编写HTML模版结构&#xff0c;它是React中编写UI模板的方式。 优势&#xff1a;1.HTML的声明式模版方法&#xff1b;2.JS的可编程能力 JSX的本质 JSX并不是标准…

RabbitMQ-topic exchange使用方法

RabbitMQ-默认读、写方式介绍 RabbitMQ-发布/订阅模式 RabbitMQ-直连交换机(direct)使用方法 目录 1、概述 2、topic交换机使用方法 2.1 适用场景 2.2 解决方案 3、代码实现 3.1 源代码实现 3.2 运行记录 4、小结 1、概述 topic 交换机是比直连交换机功能更加强大的…

强!推荐一款开源接口自动化测试平台:AutoMeter-API !

在当今软件开发的快速迭代中&#xff0c;接口自动化测试已成为确保代码质量和服务稳定性的关键步骤。 随着微服务架构和分布式系统的广泛应用&#xff0c;对接口自动化测试平台的需求也日益增长。 今天&#xff0c;我将为大家推荐一款强大的开源接口自动化测试平台: AutoMete…

备战 清华大学 上机编程考试-冲刺前50%,倒数第5天

T1&#xff1a;多项式求和 小K最近刚刚习得了一种非常酷炫的多项式求和技巧&#xff0c;可以对某几类特殊的多项式进行运算。非常不幸的是&#xff0c;小K发现老师在布置作业时抄错了数据&#xff0c;导致一道题并不能用刚学的方法来解&#xff0c;于是希望你能帮忙写一个程序…

SpringBoot+Vue体育馆管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 学生管理员 功能截图

计算机网络 期末复习(谢希仁版本)第4章

路由器&#xff1a;查找转发表&#xff0c;转发分组。 IP网的意义&#xff1a;当互联网上的主机进行通信时&#xff0c;就好像在一个网络上通信一样&#xff0c;看不见互连的各具体的网络异构细节。如果在这种覆盖全球的 IP 网的上层使用 TCP 协议&#xff0c;那么就…

144、二叉树的前序递归遍历

题解&#xff1a; 递归书写三要素&#xff1a; 1&#xff09;确定递归函数的参数和返回值。要确定每次递归所要用到的参数以及需要返回的值 2&#xff09;确定终止条件。操作系统也是用栈的方式实现递归&#xff0c;那么如果不写终止条件或者终止条件写的不对&#xff0c;都…

从哲学层面谈稳定性建设

背景 我&#xff08;姓名&#xff1a;黄凯&#xff0c;花名&#xff1a;兮之&#xff09;在阿里工作了五年&#xff0c;一直在一个小团队从事电商的稳定性工作。看了很多稳定性相关的文档&#xff0c;很少有能把稳定性说明白的文档。也有一些文档也能把涉及的方方面面说清楚&a…

办理公司诉讼记录删除行政处罚记录删除

企业行政处罚记录是可以做到撤销消除的&#xff0c;一直被大多数企业忽略&#xff0c;如果相关诉讼记录得不到及时删除&#xff0c;不仅影响企业招投标&#xff0c;还影响企业的贷款申请&#xff0c;严重的让企业资金链断裂&#xff0c;影响企业长远发展和企业形象。行政处罚是…

配置网页版的SQL Developer : Oracle Database Actions

我们知道SQL Developer有三种形式&#xff1a; 桌面版&#xff0c;这个最常用命令行版&#xff0c;即SQLcl网页版&#xff0c;即SQL Developer Web&#xff0c;最新的名字叫Oracle Database Actions&#xff0c; 本文讲述3&#xff0c;如何配置SQL Developer网页版。 第一步…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(一)

主要帮助大家面向工作过程中Linux系统常用的命令联系&#xff0c;采用极致的实用主义&#xff0c;帮助大家节省时间。 文章目录 前言 一、linux系统 二、linux系统基本命令 1.Linux系统的目录结构 2. 常用命令介绍 3.命令演示 4.作业练习 总结 前言 主要帮助大家面向工作过程中…

「动态规划」打家劫舍的变形题,你会做吗?

213. 打家劫舍 IIhttps://leetcode.cn/problems/house-robber-ii/description/ 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈&#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#x…

C++ Easyx案例实战:Cookie Maker工作室1.0V

前言 //制作属于自己的工作室&#xff01; 注&#xff1a;运行效果以及下载见Cookie Maker 工作室成立程序。 关于Cookie Maker工作室成立的信息&#xff0c;I am very happy&#xff08;唔……改不过来了&#xff09;。 OKOK&#xff0c;第一次用图形库写程序&#xff08;图形…

基于Simulink的双端行波测距

1 输电线路故障仿真模型 基于双端行波测距理论&#xff0c;在MATLAB软件中搭建的三相50Hz的输电线路故障仿真模型如图1所示&#xff0c;该模型包含了三相电源、输电线路、故障发生器和示波器模块等。主要仿真参数设置如下:仿真时间为 0~0.1s,采用固定步长 10-7和ode3 算法&…

knoXSS(case01~10)

case 01: 先在每个框里都输入:<script>alert(1)</script> 检查源码 这里第三个和第四个点都被处理过了&#xff0c;所以先考虑第一个和第二个点 这里试了一下&#xff0c;发现GET也能传参&#xff0c;所以构造 成功 case 02: 这里发现变量a和这个似乎有关联&…

【C语言】Leetcode-312 戳气球

文章目录 题目思路代码如下 题目 链接: Leetcode-312 戳气球 思路 我们观察戳气球的操作&#xff0c;发现这会导致两个气球从不相邻变成相邻&#xff0c;使得后续操作难以处理。于是我们倒过来看这些操作&#xff0c;将全过程看作是每次添加一个气球。 首先 我们需要创建一个…

社交“学习伙伴”:Meta Llama助力对话升级

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【数据结构】排序——插入排序,选择排序

前言 本篇博客我们正式开启数据结构中的排序&#xff0c;说到排序&#xff0c;我们能联想到我之前在C语言博客中的冒泡排序&#xff0c;它是排序中的一种&#xff0c;但实现效率太慢&#xff0c;这篇博客我们介绍两种新排序&#xff0c;并好好深入理解排序 &#x1f493; 个人主…

HCIA--NAT地址转换(复习)

先交换后路由&#xff1a; 1&#xff1a;在交换机上创建vlan&#xff0c;进入接口划分vlan&#xff0c;接着在交换机连接路由器的接口上建立trunk干道 2&#xff1a;在路由器上&#xff0c;先配置物理接口IP&#xff0c;接着在路由器上创建两个子接口&#xff0c;将建立的vla…

100道面试必会算法-32-二叉树右视图用栈实现队列

100道面试必会算法-32-二叉树右视图&用栈实现队列 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,n…