前言:

最近几年,注意力机制用来提升模型性能有比较好的表现,大家都用得很舒服。本文将介绍一种新提出的坐标注意力机制,这种机制解决了SE,CBAM上存在的一些问题,产生了更好的效果,而使用与SE,CBAM同样简单。

论文地址:

https://arxiv.org/pdf/2103.02907.pdf

代码地址:

https://github.com/AndrewQibin/CoordAttention

Introduction

大部分注意力机制用于深度神经网络可以带来很好的性能提升,但这些注意力机制用于移动网络(模型比较小)会明显落后于大网络,这主要是因为大多数注意力机制带来的计算开销对于移动网络而言是无法承受的,例如self-attention。

因此,在移动网络上主要使用Squeeze-and-Excitation (SE),BAM和CBAM。但SE只考虑内部通道信息而忽略了位置信息的重要性,而视觉中目标的空间结构是很重要的。BAM和CBAM尝试去通过在通道上进行全局池化来引入位置信息,但这种方式只能捕获局部的信息,而无法获取长范围依赖的信息。

这里稍微解释一下,经过几层的卷积后feature maps的每个位置都包含了原图像一个局部区域的信息,CBAM是通过对每个位置的多个通道取最大值和平均值来作为加权系数,因此这种加权只考虑了局部范围的信息。

在本文中提出了一种新颖且高效的注意力机制,通过嵌入位置信息到通道注意力,从而使移动网络获取更大区域的信息而避免引入大的开销。为了避免2D全局池化引入位置信息损失,本文提出分解通道注意为两个并行的1D特征编码来高效地整合空间坐标信息到生成的attention maps中。

具体而言,利用两个1D全局池化操作将沿垂直和水平方向的input features分别聚合为两个单独的direction-aware feature maps。 然后将具有嵌入的特定方向信息的这两个特征图分别编码为两个attention map,每个attention map都沿一个空间方向捕获输入特征图的远距离依存关系。 位置信息因此可以被保存在所生成的attention map中。 然后通过乘法将两个attention map都应用于input feature maps,以强调注意区域的表示。

考虑到其操作可以区分空间方向(即坐标)并生成coordinate-aware attention maps,因此论文将提出的注意力方法称为“coordinate attention”。

这种coordinate attention有三个优点:

1) 它捕获了不仅跨通道的信息,还包含了direction-aware和position-sensitive的信息,这使得模型更准确地定位到并识别目标区域。

2) 这种方法灵活且轻量,很容易插入到现有的经典移动网络中,例如MobileNet_v2中的倒残差块和MobileNeXt中的沙漏块中去提升特征表示性能。

3) 对一个预训练的模型来说,这种coordinate attention可以给使用移动网络处理的down-stream任务带来明显性能提升,尤其是那些密集预测的任务,例如语义分割。

Coordinate Attention

在介绍coordinate attention前先回顾一下SE和CBAM。

SE比较简单,如图a所示,看一下这个结构图就懂了。

稍微介绍一下CBAM,如图b所示,CBAM包含空间注意力和通道注意力两部分。

通道注意力:对input feature maps每个feature map做全局平均池化和全局最大池化,得到两个1d向量,再经过conv,ReLU,1x1conv,sigmoid进行归一化后对input feature maps加权。

空间注意力:对feature map的每个位置的所有通道上做最大池化和平均池化,得到两个feature map,再对这两个feature map进行7x7 Conv,再使BN和sigmoid归一化。

具体如下图所示:

回到Coordinate Attention上,如下图所示,分别对水平方向和垂直方向进行平均池化得到两个1D向量,在空间维度上Concat和1x1Conv来压缩通道,再是通过BN和Non-linear来编码垂直方向和水平方向的空间信息,接下来split,再各自通过1x1得到input feature maps一样的通道数,再归一化加权。

简单说来,Coordinate Attention是通过在水平方向和垂直方向上进行最大池化,再进行transform对空间信息编码,最后把空间信息通过在通道上加权的方式融合。

Conclusion

这种方式与SE,CBAM有明显提升。

下一篇将对注意力机制进行做一个总结。

最近把公众号所有的技术总结打包成了一个pdf,在公众号《CV技术指南》中回复关键字 “技术总结” 可获取。

本文来源于公众号CV技术指南的论文分享系列,更多内容请扫描文末二维码关注公众号。

CVPR2021| 继SE,CBAM后的一种新的注意力机制Coordinate Attention的更多相关文章

  1. 123457123456#0#-----com.twoapp.mathGame13--前拼后广--13种数学方法jiemei

    com.twoapp.mathGame13--前拼后广--13种数学方法jiemei

  2. 发表在 Science 上的一种新聚类算法

    今年 6 月份,Alex Rodriguez 和 Alessandro Laio 在 Science 上发表了一篇名为<Clustering by fast search and find of ...

  3. 二十八、带给我们一种新的编码思路——EFW框架CS系统开发中的MVC模式探讨

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...

  4. 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式

    今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...

  5. 将dll文件注入到其他进程中的一种新方法

    http://www.45it.com/windowszh/201212/33946.htm http://www.hx95.cn/Article/OS/201212/65095.html 我们知道将 ...

  6. CSS中的三种基本的定位机制(普通流、定位、浮动)

    一.普通流 普通流中元素框的位置由元素在XHTML中的位置决定.块级元素从上到下依次排列,框之间的垂直距离由框的垂直margin计算得到.行内元素在一行中水平布置. 普通流就是html文档中的元素如块 ...

  7. 微软引入了两种新的网络过滤系统,WFP和NDISfilter

    Windows 8是微软公司推出的最新的客户端OS,内部名称Windows NT 80.相对于Windows NT 5.x,其网络结构变化非常大,原有的TDI,NDIS系统挂接方法不再适用.在Wind ...

  8. kubernetes1.4新特性:支持两种新的卷插件

    背景介绍 在Kubernetes中卷的作用在于提供给POD持久化存储,这些持久化存储可以挂载到POD中的容器上,进而给容器提供持久化存储. 从图中可以看到结构体PodSpec有个属性是Volumes, ...

  9. 人工智能论文解读精选 | PRGC:一种新的联合关系抽取模型

    NLP论文解读 原创•作者 | 小欣   论文标题:PRGC: Potential Relation and Global Correspondence Based Joint Relational ...

随机推荐

  1. web & js & touch & gesture

    web & js & touch & gesture 触摸 & 手势 https://caniuse.com/#feat=touch js https://develo ...

  2. js jsonParse

    mdn const rx_one = /^[\],:{}\s]*$/; const rx_two = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g; // 匹配 ...

  3. 为什么说USDN是一种应用型稳定币?

    USDN是由NGK Global出品的一种新型稳定币系统,里面是涵盖了包括货币供需.Bancor.抵押借贷等在内的一整套算法.该稳定币构想一经提出,便在社区引发了不小的热度. 官方对于USDN的定位是 ...

  4. 翻译:《实用的Python编程》02_02_Containers

    目录 | 上一节 (2.1 数据类型) | 下一节 (2.3 格式化) 2.2 容器 本节讨论列表(list),字典(dict)和集合(set). 概述 通常,程序必须处理许多对象. 股票的投资组合 ...

  5. 为什么Linux默认页大小是4KB

    本文转载自为什么 Linux 默认页大小是 4KB 导语 我们都知道 Linux 会以页为单位管理内存,无论是将磁盘中的数据加载到内存中,还是将内存中的数据写回磁盘,操作系统都会以页面为单位进行操作, ...

  6. 图片居中的flex实现

    文本居中 text-align:center; 如果是图片放在div中,就没办法了.用flex可以很简单实现. display: flex; justify-content: center; /* 图 ...

  7. 开工大吉:TcaplusDB将持续为您提供可靠的数据服务

    开工大吉 新的一年 新的开始 我们也带着新的心意 向您奔赴而来    在此,TcaplusDB祝广大客户朋友,开工大吉,2021,我们将一如既往地守护您的数据,继续做您最坚实的后盾.    作为专为游 ...

  8. 小心你的个人信息——GitHub 热点速览 v.21.09

    作者:HelloGitHub-小鱼干 浏览过必有痕迹,有什么可以抹去社交痕迹的方法呢?social-analyzer 是一个可在 350+ 网站分析特定用户资料的工具,你可以用它来"人肉&q ...

  9. MySQL之九---分布式架构(Mycat/DBLE)

    MyCAT基础架构图 双主双从结构 MyCAT基础架构准备 准备环境  环境准备: 两台虚拟机 db01 db02 每台创建四个mysql实例:3307 3308 3309 3310 删除历史环境 p ...

  10. MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx

    MySQL数据库插入数据出现ERROR 1526 (HY000): Table has no partition for value xxx工作的时候发现无法插入数据,报错:ERROR 1526 (H ...