当前位置: 首页 > article >正文

注意力机制总结

文章目录

  • 1. 通道注意力
    • 1.1 SENet(谁用谁知道,用了都说好)
  • 2. 通道&空间
    • 2.1 CBAM
    • 2.2 scSE
    • 2.3 Coordinate Attention
  • 3. self-attention
    • 3.1 Non-local
    • 3.2 CCNet
    • 3.3 DANet
  • 4. Branch Attention
    • 4.1.SKNet
  • 参考资料

1. 通道注意力

1.1 SENet(谁用谁知道,用了都说好)

论文:Squeeze-and-Excitation Networks

  • SE模块
    在这里插入图片描述
  • 具体实现
    在这里插入图片描述
  • 解释:对于尺寸为H×W×C的特征图,首先通过全局平均池化对每个feature map进行压缩,得到1×1×C的向量,这一步骤称作Squeeze;然后引入两个全连接层进行Excitation,通过sigmoid将其归一化到0~1之间,即每个通道的权重;最后通过将权重与原始输入对位相乘,实现通道的重标定。
  • 为什么使用两个全连接层:限制模型复杂度,增加泛化性

2. 通道&空间

2.1 CBAM

论文:CBAM: Convolutional Block Attention Module
串联的通道注意力加空间注意力
在这里插入图片描述
通道注意力使用了maxpool和avgpool压缩空间维度,空间注意力使用了maxpool和avgpool压缩通道维度
在这里插入图片描述

2.2 scSE

论文:Concurrent Spatial and Channel ‘Squeeze & Excitation’ in Fully Convolutional Networks在这里插入图片描述

  • cSE:与SENet本质相同,区别在于升降维度的超参数 r 取值为2或16,兼顾模型的复杂度和准确率
  • sSE:从空间角度引入注意力机制。将尺寸为H×W×C的特征图经过1×1卷积降维,得到H×W×1的特征图。然后再经过特征重标定,与原来的U对应空间上相乘得到U^。
  • scSE:从通道和空间两个角度同时引入注意力机制,相当于cSENet和sSENet的结合。

2.3 Coordinate Attention

论文:Coordinate Attention for Efficient Mobile Network Design
在这里插入图片描述

3. self-attention

3.1 Non-local

论文:Non-local Neural Networks
在这里插入图片描述

3.2 CCNet

论文:CCNet: Criss-Cross Attention for Semantic Segmentation
针对non-local计算复杂度高的问题进行改进
在这里插入图片描述
单独使用只能建模十字位置的依赖关系,循环两次即可建模任意位置的依赖关系
在这里插入图片描述

3.3 DANet

论文:Dual Attention Network for Scene Segmentation
考虑到non-local只建模了空间位置的长期依赖,没有考虑到通道间的依赖关系,提出了双重注意力融合网络,整体结构如下:
在这里插入图片描述
位置注意力模块和通道注意力模块的结构
在这里插入图片描述

4. Branch Attention

4.1.SKNet

论文:Selective Kernel Networks

  • Motivation:我们在看不同尺寸不同远近的物体时,视觉皮层神经元接受域大小是会根据刺激来进行调节的。那么对应于CNN网络,一般来说对于特定任务特定模型,卷积核大小是确定的,那么是否可以构建一种模型,使网络可以根据输入信息的多个尺度自适应的调节接受域大小呢?
  • SK Block
    在这里插入图片描述
  • SK Block分为三个步骤:
    1.Split:特征图 X ∈ R H ′ × W ′ × C ′ X\in \mathbb{R}^{H^{\prime}\times W^{\prime}\times C^{\prime}} XRH×W×C分别通过3×3卷积和5×5卷积得到 U ~ ∈ R H × W × C \widetilde{U}\in \mathbb{R}^{H\times W\times C} U RH×W×C U ^ ∈ R H × W × C \hat{U}\in \mathbb{R}^{H\times W\times C} U^RH×W×C
    2.Fuse:对 U ~ \widetilde{U} U U ^ \hat{U} U^执行add操作得到 U ∈ R H × W × C U\in \mathbb{R}^{H\times W\times C} URH×W×C,然后经过全局平均池化得到 S ∈ R C S\in \mathbb{R}^C SRC,再经过全连接层得到 Z ∈ R d Z\in \mathbb{R}^d ZRd。接下来是重点, Z Z Z分别经过两个全连接层(对应论文中的 A ∈ R C × d A\in \mathbb{R}^{C\times d} ARC×d B ∈ R C × d B\in \mathbb{R}^{C\times d} BRC×d)得到 a ∈ R C a\in \mathbb{R}^{C} aRC b ∈ R C b\in \mathbb{R}^{C} bRC,再对 a a a b b b在行的维度上做softmax即可得到 U ~ \widetilde{U} U U ^ \hat{U} U^的通道权重;
    3.Select:由于 a + b = 1 a+b=1 a+b=1,通过赋予 U ~ \widetilde{U} U U ^ \hat{U} U^通道不同权重实现对不同kernel的”自适应选择“。

参考资料

https://github.com/MenghaoGuo/Awesome-Vision-Attentions

http://www.lryc.cn/news/2416451.html

相关文章:

  • windows配置防火墙
  • Sōsh:让宅男宅女从虚拟回到现实的社交网站
  • 一秒教你保存浏览器当前页面的所有图片
  • 若要使他人能够在远程计算机上查看此特定错误消息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 customErrors 标记。然后应将此 cust
  • 开放数据源
  • cetnos下gotop安装和使用
  • OpenCV AI Kit(OAK)官方答疑录
  • 数字世界的守护者——数字签名与证书全面解析!
  • java resultset getmetadata_Java ResultSetMetaData getColumnType()方法与示例
  • 网络编程2之sockaddr与sockaddr_in的区别
  • 软件体系结构风格介绍
  • Frostmourne - Elasticsearch源日志告警配置,大数据开发基础面试题
  • radmin 3.4 绿色版
  • PHP中json_decode函数
  • 一.常见的视频格式有哪些?
  • FPGA组合逻辑设计——译码器
  • EastFax电子传真信创国产化出炉,网络传真换新颜
  • 爬虫xx网站论坛的帖子源码分享
  • FTPrush给Linux上传文件,LINUX CENTOS 7安装FTP服务器详细讲解(配图),FTPRUSH连接上传测试文件...
  • 【计算机网络】TCP和UDP的特点及区别
  • 高等数学 —— 函数的极限
  • MessageQueueMessage Pool—消息的读写、删除和回收
  • 编程算法常用术语中英对照
  • 正则表达式不包含指定字符
  • 着陆页如何设计?详解着陆页设计的5大要点及常见问题
  • nonzero用法
  • 【视频编码学习】AVS3参考软件HPM-4.1简单配置运行
  • 路由策略——route map
  • 非阻塞connect
  • EnableWindow()函数的应用