5种2D Attention整理(Non-Local、Criss-Cross、SE、CBAM、Dual-Attention)
一、Non-local
原文链接:Non-local Neural Networks | IEEE Conference Publication | IEEE Xplore
1.公式
其中。
的形式可以不同,如
(1)Gaussian:
(2)Embedded Gaussian:
自注意力(self-attention)是non-local在Embedded Gaussian中的特例。因为
就是对给定的,沿着维度作softmax操作。
(3)点积(embedded):
(4)拼接:
其中表示拼接操作;是将拼接后的向量转换为标量的权重向量。
2.Non-local块
上图为Non-local(embedded Gaussian)的结构。图中蓝色方块为卷积;和分别表示矩阵加法和矩阵乘法。1024和512代表通道数。softmax操作是对每一行做的。
如果去掉上图中的和,就变为Gaussian结构;将softmax操作替换为乘以,就变为点积结构。
实际实施时,不改变性能,但减小计算量的方法:在和后加入最大池化层。
二、Criss-Cross
原文链接:CCNet: Criss-Cross Attention for Semantic Segmentation | IEEE Conference Publication | IEEE Xplore
网络结构:
1.Criss-Cross模块结构
图中softmax在通道维度做。
2.Affinity操作
对于中每个位置,可以得到其特征;同时可以得到中对应位置所在行和列的所有向量集合。设为的第个元素,则Affinity操作定义为
记为Affinity操作的输出矩阵(或在softmax前的矩阵;其位置处的第个元素为),则
上图中,左边的矩阵为,上边的矩阵为,下边的矩阵为,右边的矩阵为;表示Affinity操作。
3.Aggregation操作
对于中每个位置,可以得到其特征和集合(所在行和列的所有向量集合)。则Aggregation操作为
实际上就是线性组合(以的位置向量(维)的每个元素作为系数/权重,作用于中每一个位置的向量(维),相乘相加,作为的位置元素向量(维))。
三、Squeeze and Excitation(SE)
原文链接:Squeeze-and-Excitation Networks | IEEE Journals & Magazine | IEEE Xplore
上图中:
为卷积、特征提取操作(不属于SE模块);
为均值池化操作,输出为维向量;
为2层全连接层加sigmoid操作:
即的每个元素作为权重乘上的对应通道得到输出的每个通道:
将SE嵌入到ResNet中:
四、CBAM
原文链接:https://arxiv.org/pdf/1807.06521.pdf
CBAM模块结构:
1.通道注意力模块结构
其中表示sigmoid函数,,;后有ReLU激活函数。
2.空间注意力模块结构
其中表示核为的卷积操作。
将CBAM嵌入ResNet中:
五、Dual-Attention
原文链接:Dual Attention Network for Scene Segmentation | IEEE Conference Publication | IEEE Xplore
网络结构:
1.位置注意力模块结构
图中的维度与相同;的reshape表示将的矩阵变为(其中);为attention map;表示矩阵乘法;最后的reshape表示将的矩阵变为。最终
其中为缩放因子,初始化为0,然后逐渐学习到更大的值;可知的每个位置是所有位置特征和原始特征的加权和。
2.通道注意力模块结构
图中A的reshape表示将的矩阵变为;表示矩阵乘法; 最后的reshape表示将的矩阵变为。最终
其中缩放参数从0开始逐渐学习;可知的每个通道是所有特征通道和原始通道的加权和。
3.Sum Fusion操作
使用卷积层变换两个注意力模块的输出,然后进行矩阵求和。
注:self attention的permutation equivalent
如上图所示,输入交换次序,输出也会相应交换次序。
5种2D Attention整理(Non-Local、Criss-Cross、SE、CBAM、Dual-Attention)相关推荐
- 双重关系感知注意力机制 Dual Relation-Aware Attention[keras实现 dual attention优化版]
文章目录 前言 一.Compat Position Attention Module紧凑型位置注意力模块 二.Compat Channel Attention Module紧凑型通道注意力模块 三.效 ...
- 四种常见背包问题整理
四种常见背包问题整理 四种常见背包问题包括:① 最优装配 ② 部分背包问题 ③ 01背包问题 ④ 完全背包问题 ① 最优装配 给出 n 个物体,重量分别为 wi,使总重量不超过容量 C 的情况下选择尽 ...
- GCN】在NLP中应用GCN的几种构图方法整理
GCN]在NLP中应用GCN的几种构图方法整理:https://blog.csdn.net/qq_27590277/article/details/106264292
- Web 之 html 如何显示隐藏Html元素的两种方法简单整理
Web 之 html 如何显示隐藏Html元素的两种方法简单整理 目录 Web 之 html 如何显示隐藏Html元素的两种方法简单整理 一.简单介绍 二.实现原理 三.注意事项 四.代码示例 一.简 ...
- 注意力机制(SE、Coordinate Attention、CBAM、ECA)、即插即用的模块整理
总结曾经使用过的一些即插即用的模块以及一些注意力机制 ** 注意力模块:SE ** 代码源自这位大佬的仓库:https://github.com/moskomule/senet.pytorch cla ...
- Dual attention network for scene segmentation
Dual attention network for scene segmentation 设计巧妙,但是没法解释方法的有效性 dual attention的思路太多了,这篇是应用在场景语义分割上. ...
- 【论文笔记】D2A U-Net: Automatic segmentation of COVID-19 CT slices based on dual attention and hybrid di
声明 不定期更新自己精度论文,通俗易懂,初级小白也可以理解 涉及范围:深度学习方向,包括 CV.NLP.Data Fusion.Digital Twin 论文标题:D2A U-Net: Automat ...
- 【Attention】Dual Attention(DANet) Fully Attention(FLA)
空间注意力有助于保留细节信息,通道注意力有助于保留大物体的语义一致性. 有效使用两种注意力可以提升性能. 本文旨在记录一些常用的注意力,以及代码实现,包括两篇文章,DANet,FLA. Dual At ...
- 【语义分割】DANet Dual Attention Network for Scene Segmentation
DANet(Dual Attention Network for Scene Segmentation)在语义分割领域多个数据集上取得了STOA的结果,值得大家关注. [废话两段] 由于之前没跑过语义 ...
- 文章阅读:Dual Attention Network for Scene Segmentation
原文地址:Dual Attention Network for Scene Segmentation 概述 多尺度上下文融合的问题: 虽然上下文融合有助于捕获不同比例的对象,但它无法利用全局视图中对象 ...
最新文章
- Type EnumTypeInfo<xxxxx> cannot be used as key. Contained UNSUPPORTED key types: EnumTypeInfo<xxxxx>
- 为什么LED灯会越用越暗?
- 【线性筛】【质因数分解】【约数个数定理】hdu6069 Counting Divisors
- C 迭代器iterator的实现原理
- Niginx工作笔记-通过error.log定位错误(记录一个寻找问题的方法)
- 转 Grand Central Dispatch 基础教程:Part 1/2 -swift
- Linux中Tomcat 服务的搭建
- 【学习OpenCV4】图像变换方法总结(放缩、翻转、旋转)
- 15张图带你彻底明白spring循环依赖,再也不用怕了
- 使用网云穿「内网穿透」实现外网访问内网瑞友天翼等软件
- Numpy向量化运算
- 《Gpu Gems》《Gpu Pro》《Gpu Zen》系列读书笔记
- 移动硬盘 计算机里不显示盘符,移动硬盘插在电脑上不显示盘符是怎么回事啊?...
- Incompatible types
- 过拟合的原因和解决方法
- 关于Left Join On的使用
- java freemarker word_Java 用Freemarker完美导出word文档(带图片)(示例代码)
- selenium3.141 +IE浏览器环境搭建(含驱动下载链接)
- Java面向对象编程——接口
- Android ios