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

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分类、目标检测和语义分割方面的实验证明了该方法的有效性

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第139题单词拆分

题目&#xff1a; 题解&#xff1a; func wordBreak(s string, wordDict []string) bool {wordDictSet : make(map[string]bool)for _, w : range wordDict {wordDictSet[w] true}dp : make([]bool, len(s) 1)dp[0] truefor i : 1; i < len(s); i {for j : 0; j < i;…

DBeaver连接MySQL提示“Public Key Retrieval is not allowed“问题的解决方式

问题描述 客户端root用户连接数据库出现出现Public Key Retrieval is not allowed 原因分析&#xff1a; 加上allowPublicKeyRetrievalfalse&#xff1a; 解决方案&#xff1a; allowPublicKeyRetrievaltrue&#xff1a;

ICLR24大模型提示(8) | 退一步思考:在大型语言模型中通过抽象引发推理

【摘要】我们提出了一种简单的提示技术&#xff0c;即后退提示法&#xff0c;它使 LLM 能够进行抽象&#xff0c;从包含特定细节的实例中得出高级概念和第一原理。通过使用概念和原理来指导推理&#xff0c;LLM 显著提高了遵循正确推理路径解决问题的能力。我们使用 PaLM-2L、G…

Go微服务: 分布式之通过可靠消息实现最终一致性

通过可靠消息实现最终一致性 可靠消息&#xff0c;就是靠普消息&#xff0c;还是基于之前的这个案例 比如这个订单服务&#xff0c;无论你是先发送消息&#xff0c;还是先新建订单&#xff0c;它其实都是发送的不可靠消息就是说如果这个消息&#xff0c;像mysql事务那样&#…

一维信号循环平移小波降噪方法(MATLAB R2021b)

循环平移算法由Coifman和Donoho最先提出&#xff0c;其基本原理是将信号进行循环平移&#xff0c;将平移后的信号降噪后再做逆循环平移&#xff0c;改变平移位数&#xff0c;多次重复上述运算&#xff0c;将获得的所有结果求平均&#xff0c;得到最后的结果。 在理想情况下&am…

【C++】深入理解decltype和decltype(auto)

深入理解decltype和decltype&#xff08;auto&#xff09; 一、decltype语法介绍二、decltype的推导规则1. expr不加括号2. expr加上括号 三、关于decltype的CV属性推导四、 decltype(auto) 的使用 一、decltype语法介绍 decltype关键字是C11新标准引入的关键字&#xff0c;它…

html--酷炫背景引导主页

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>ZZVIPS酷炫背景引导主页</title><meta name"viewport" content"widthdevice-width,initial-scale1,maximum-scale1,user-scala…

社区贡献者分享 | OpenVINO™ 代码贡献助力我的开源之路

点击蓝字 关注我们,让开发变得更有趣 作者 | 占俊坚 排版 | 李擎 摘要 在 OpenVINO™ 2024.1 release 版本中&#xff0c;我为 OpenVINO™ 添加了 TensorFlow 中的 Rint operation 以及 PyTorch 中的 aten::bucketize operation 的支持&#xff0c;在此分享我的实现过程&#x…

最快的开源UDP传输工具:Kcptun

Kcptun&#xff1a;极速网络隧道&#xff0c;让数据传输飞起来&#xff01;- 精选真开源&#xff0c;释放新价值。 概览 kcptun 是一个轻量级、高性能的TCP/UDP网络加速工具&#xff0c;由xtaci开发并托管在GitHub上。它通过使用kcp协议&#xff0c;为网络数据传输提供了一个快…

深度解析:AI Prompt 提示词工程的兴起、争议与未来发展

PART1: 提示词工程的兴起 在人工智能领域中&#xff0c;一个新的领域——提示词工程&#xff08;prompt engineering&#xff09;——开始显露头角。 这个领域的核心在于精心设计输入&#xff0c;以引导AI模型产生特定的、期望的输出。 随着AI技术的飞速发展&#xff0c;特别…

移除重复节点---链表

面试题 02.01. 移除重复节点 - 力扣&#xff08;LeetCode&#xff09; 链表指针p和curr 与head指向同一块空间&#xff1b; p和head来比较相同的值&#xff0c;遇到一样的值、就改变这个空间里面struct的成员变量next指针指向的地址&#xff0c;跳向next的next再比较&#xf…

深度网络学习笔记(二)——Transformer架构详解(包括多头自注意力机制)

Transformer架构详解 前言Transformer的整体架构多头注意力机制&#xff08;Multi-Head Attention&#xff09;具体步骤1. 步骤12. 步骤23. 步骤34. 步骤4 Self-Attention应用与比较Self-Attention用于图像处理Self-Attention vs. CNNSelf-Attention vs. RNN Transformer架构详…

Kimichat使用案例010:快速识别出图片中的表格保存到Excel

文章目录 一、介绍二、图片信息三、输入内容四、输出内容五、markdown提示词六、markdown输出一、介绍 如果有一张图片格式的表格,想要快速复制到Excel表格中,那么一般要借助于OCR工具。之前试过不少在线OCR工具,识别效果差强人意。其实,kimichat就可以非常好的完成这个任务…

为什么需要在微服务中使用链路追踪?Spring Cloud 可以选择哪些微服务链路追踪方案?

引言&#xff1a;在当今的软件开发领域中&#xff0c;微服务架构已经成为了构建大型应用程序的主流方式之一。随着微服务数量的增加和服务之间复杂性的提高&#xff0c;对于了解和监控服务之间的调用关系变得越来越重要。而链路追踪技术的出现&#xff0c;为解决这一难题提供了…

心链13---主页切换功能 + loading特效 + 导航栏完善 + 队伍页接口修改

心链 — 伙伴匹配系统 直接取出所有用户&#xff0c;依次和当前用户计算分数&#xff0c;取 TOP N&#xff08;54 秒&#xff09; 优化方法&#xff1a; 切忌不要在数据量大的时候循环输出日志&#xff08;取消掉日志后 20 秒&#xff09;Map 存了所有的分数信息&#xff0c;占…

[ROS 系列学习教程] 建模与仿真 - 使用 Arbotix 控制机器人

ROS 系列学习教程(总目录) 本文目录 一、Arbotix 简介二、安装Arbotix三、配置Arbotix控制器四、配置launch启动文件五、数据交互接口六、在rviz中仿真控制机器人6.1 直接发topic控制6.2 使用键盘控制6.3 编写代码控制机器人移动 前面讲了机器人的建模&#xff0c;是静态的&…

力扣 240.搜素矩阵II

题目描述&#xff1a; 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9…

Kali Linux 2024.2 释出

渗透测试发行版 Kali Linux 释出了最新的 2024.2。 主要新特性包括&#xff1a;桌面环境更新到 GNOME 46&#xff0c;Xfce 环境加入 HiDPI 模式&#xff0c;更新了网络侦察工具 AutoRecon&#xff0c;监视 Linux 进程的命令行工具 pspy&#xff0c;提取和显示 CVE 信息的 Splo…

Oxlint 会取代 Eslint 吗?

最近&#xff0c;一个基于 Rust 的代码检查工具 Oxlint 在国外前端社区引起了热议&#xff0c;许多专家对其给予了高度评价。那么&#xff0c;相比于它的大哥 Eslint&#xff0c;Oxlint 有哪些优势&#xff1f;它会在未来取代 Eslint 吗&#xff1f;本文将讨论这个话题。 Oxc 和…

XUbuntu22.04之ssh+x11显示远程图形到本机(二百四十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…