首页 > 其他分享 >GCGP:Global Context and Geometric Priors for Effective Non-Local Self-Attention加入了上下文信息和几何先验的注意力

GCGP:Global Context and Geometric Priors for Effective Non-Local Self-Attention加入了上下文信息和几何先验的注意力

时间:2023-12-18 12:45:54浏览次数:36  
标签:Non Effective Attention 矩阵 times 先验 上下文 hat 注意力

Global Context and Geometric Priors for Effective Non-Local Self-Attention

* Authors: [[Woo S]]


初读印象

comment:: (GCGP)提出了一个新的关系推理模块,它包含了一个上下文化的对角矩阵和二维相对位置表示。

动机

普通注意力的缺点:

  1. 单独处理输入图像中的每个特征,并在整个输入中执行注意力。因此,在计算元素之间的关系时没有考虑上下文信息。
  2. 位置信息的表示是缺失的,因此不能很好地利用图像中固有的空间相关性。(注意力是没有计算顺序的,特征向量变换位置对它来说完全没有影响)

方法

普通注意力

输入:
Pasted image 20221019185406
经过三个1×1卷积:Pasted image 20221019185430

输出特征维度为\(\hat{C}\)
计算亲和力矩阵\(A\in N\times \hat{N},N=H\times W\):

Pasted image 20221019185534
得到最终输出Pasted image 20221019185737

上下文先验

在注意力计算中融入对角线上下文矩阵\(c\in \hat{C}\times \hat{C}\):

Pasted image 20221019185929其中c为:Pasted image 20221019185940

即对X做全局平均池化、1×1卷积(\(C\to \hat{C}\))、sigmoid,并将其放到矩阵的对角线上。
\(q^T c\)相当于加强\(q^T\)上对应通道的点并屏蔽其他点,其实相当于\(q^T\)的每一行乘没有对角化之前的c。
lALPJxRxTTu9mKLNAanNA-w_1004_425 2

几何先验

在亲和力矩阵计算的过程中加入相对位置先验r:

Pasted image 20221019190538Pastedimage 20221019190553

其中\(R_X\in \frac{C}{2}\times W\times \hat{W},R_Y \in \frac{C}{2}\times H\times\hat{H}\),它们是一维的相对位置信息。W是输出通道为\(\hat{C}\)的1×1卷积,Transpose是将第0维和第1维调换。
\(R_{X,i,j}\)是\(R_X\)中第i行第j列的向量,其中每个元素的计算方法如下:

Pasted image 20221019191243其中Pasted image 20221019191416

在一维相对位置信息的计算中,i和j是固定的,(i-j)决定了余弦和正弦函数的计算范围,分母意味在这段范围内的函数中以固定比例采样,那么同一个(i-j),只能采样出一个独一无二的向量。
lALPJxf-y_6WE0vNAh3NBVA_1360_541

最后计算2D相对位置信息
Pasted image 20221019191601先将\(q^T\)reshape成\(W\timesH\times \hat{C}\),然后取出后面两维与\(r_x\)相乘:
Pasted image 20221019192845

lALPJx8ZySsqOoXNAhbNBig_1576_534 1

\(r_y\)同理:
Pasted image 20221019192950\(q^Tr_x\)和\(q^Tr_y\)以广播的形式相加最后一维,得到\(q^Tr\inH\times W\times \hat{H}\times \hat{W}\)也就是\(N\times \hat{N}\)。

整体架构

Pasted image 20221019204446

其他

使用了多头注意力和对亲和力矩阵使用了dropout。

表现

Pasted image 20221019193511

局限性

对角线上下文矩阵太暴力了,直接把其他通道的信息给屏蔽了。
位置编码的方式太复杂且可解释性不强。

启示

使用了多头注意力,在注意力中嵌入了相对位置编码。

标签:Non,Effective,Attention,矩阵,times,先验,上下文,hat,注意力
From: https://www.cnblogs.com/tifuhong/p/17909221.html

相关文章

  • "the tx doesn't have the correct nonce":使用hardhat调用ganache上部署的合约遇到的
    完整的报错==================>查询存证请求存证请求内容,datahash:0xaad2171441bd73b773e9a9e062753909360bdfcabbddbe93c6c58b13c5c0feaa,创建人:0xF7A1938Fecc594aaF126d46fd173cE74A659ad9A,附加信息:0x66656974757a6920616920646f756368757a69,已投票:0n,共需投票:2n==......
  • Fully Attentional Network for Semantic Segmentation:FLANet
    FullyAttentionalNetworkforSemanticSegmentation*Authors:[[QiSong]],[[JieLi]],[[ChenghongLi]],[[HaoGuo]],[[RuiHuang]]初读印象comment::(FLANet)常规的注意力在得到相容性矩阵的时候,把会有一个维度被压缩掉。为了解决这个问题,本文提出了一种新的方法,即......
  • 解决方案 | pywintypes.com_error: (-2147221005, '无效的类字符串', None, None) --P
     1背景importpythoncomimportwin32com.clientimportmathwincad=win32com.client.Dispatch("AutoCAD.Application")#强制打开cad,该句发生报错信息doc=wincad.ActiveDocumentdoc.Utility.Prompt("Hello!Autocadfrompywin32com.\n")msp=doc.Mode......
  • 关于使用appium自动化启动app时报错【问题:AttributeError: ‘NoneType‘ object has n
    报错原因:安装了最新版的appium3.0.0和selenium的最新版本,导致版本冲突从而导致报错:AttributeError:'NoneType'objecthasnoattribute'to_capabilities'解决方案:卸载selenium和appium,下载低版本的appium【下载appium的同时会下载依赖selenium】 pipinstall......
  • The Devil Is in the Details: Window-based Attention for Image Compression
    目录简介简介基于CNN的模型的一个主要缺点是cNN结构不是为捕捉局部冗余而设计的,尤其是非重复纹理,这严重影响了重建质量。受视觉转换器(ViT)和SwinTransformer最新进展的启发,我们发现将局部感知注意机制与全局相关特征学习相结合可以满足图像压缩的期望。介绍了一种更简单有效......
  • ERROR: Could not find a version that satisfies the requirement basicsr== (from v
    (py37_gan)C:\Users\Administrator>pip3installbasicsr==WARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'ProxyError('Cannotconnecttoproxy.',OSError(0,'Error&#......
  • 无涯教程-Java - Non Access Modifiers函数
    Java提供了许多非访问修饰符来实现许多其他功能。static修饰符:用于创建类方法和变量的。final修饰符:用于最终确定类,方法和变量。abstract修饰符:用于创建抽象类和方法。volatile修饰符:用于线程的已同步。static(Static)修饰符Static变量static关键字用于创......
  • 《Effective Java》阅读笔记-第五章
    EffectiveJava阅读笔记第五章泛型第26条不要使用原生类型随着泛型的普及,这条没什么可说的。如果不知道具体类型,可以使用<?>来代替。第27条消除unchecked警告原生类型到泛型转换时,编译会有警告,可以使用@SuppressWarnings("unchecked")来消除警告。并且应该在尽可......
  • python cv2.imread 读取中文路径的图片返回为None的问题
    使用cv2读取图片时,输出图片形状大小时出现报错“'NoneType'objecthasnoattributeshape”,后来排查发现读取图片的返回值image为None,这就说明图片根本就没有被读取。下面图片是问题问题解决后,为了更好的展示,写的代码展示,这是正常的因果关系,找错误排查时是从下往上推。 ......
  • AttributeError: 'NoneType' object has no attribute 'replace'
    在python中执行Js代码,引入execjs库,python代码如下:执行结果如下:在导入execjs模块前,让Popen的encoding参数锁定为utf-8。importsubprocessfromfunctoolsimportpartialsubprocess.Popen=partial(subprocess.Popen,encoding="utf-8") ......