计算机视觉 self attention机制

机器翻译中的 self attention机制

直观例子

先来看一个翻译的例子“I arrived at the bank after crossing the river” 这里面的bank指的是银行还是河岸呢,这就需要我们联系上下文,当我们看到river之后就应该知道这里bank很大概率指的是河岸。在RNN中我们就需要一步步的顺序处理从bank到river的所有词语,而当它们相距较远时RNN的效果常常较差,且由于其顺序性处理效率也较低。Self-Attention则利用了Attention机制,计算每个单词与其他所有单词之间的关联,在这句话里,当翻译bank一词时,river一词就有较高的Attention score。

self attention 详解

其基本结构如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
显然,当前单词与其自身的attention score一般最大,其他单词根据与当前单词重要程度有相应的score。然后我们在用这些attention score与value vector相乘,得到加权的向量。
在这里插入图片描述
如果将输入的所有向量合并为矩阵形式,则所有query, key, value向量也可以合并为矩阵形式表示
在这里插入图片描述
在这里插入图片描述

以上是机器翻译中所使用的self attention 机制,计算机视觉所使用的self attention 机制思想与之类似,是为了捕捉远距离的像素之间的关系。

计算机视觉中的self attention 的应用

先来看一个例子,将attention 加权在原图上
图1 Spatial Attention和Appearance Attention
图1 Spatial Attention和Appearance Attention
《Hierarchical Attentive Recurrent Tracking》结合Attention机制和LSTM循环结构提出了一个目标跟踪的方法HART。图1展示了Attention应用的效果,HART主要定义了两个Attention概念,Spatial attention和Appearance attention。输入一张图片如图1上半部分,Spatial attention用于获取图片中物体的位置,获取结果如图1(a), 然后应用Appearance attention进一步分析物体外观特征从而去除图1(a)中的少量背景信息,从而获得了图1©,这样可以更精确地学习到物体的位置和外观特征。

我们可以发现卷积本身就有Attention的效果,比如,在分类网络中高层的feature map所激活的pixel恰好集中在与分类任务相关的区域。
然而CNN中的 convolution单元每次只关注邻域 kernel size 的区域,就算后期感受野越来越大,终究还是局部区域的运算,这样就忽略了全局其他片区(比如很远的像素)对当前区域的贡献。

由此在cv领域,一篇关于Attention研究非常重要的文章《Non-local Neural Networks》在捕捉长距离特征之间依赖关系的基础上提出了一种非局部信息统计的注意力机制——Self Attention。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参考:
https://zhuanlan.zhihu.com/p/44031466
https://zhuanlan.zhihu.com/p/53155423

最新的进展之一是将self-attention应用于计算机视觉任务中。Self-attention是一种注意力机制,它在计算机视觉中的应用可以提升图像理解和处理的能力。 在传统的卷积神经网络中,卷积层用于提取图像的局部特征,但是它没有考虑到全局上下文信息。而self-attention可以帮助模型在处理图像时同时关注到局部和全局信息。 最近,一种名为"Transformer"的模型结构引起了广泛关注。Transformer模型使用了self-attention机制,并在机器翻译等自然语言处理任务中取得了显著的成果。这一成功激发了研究者将Transformer应用于计算机视觉领域。 通过在图像的不同位置之间建立关联,self-attention能够捕捉到图像内部的相关性,并将这些信息传递给后续的处理层。这样一来,模型可以更好地理解图像的结构和语义。 最近的研究表明,在使用self-attention计算机视觉模型中,与传统的卷积神经网络相比,可以获得更好的性能。例如,在图像分类、目标检测和图像生成等任务中,self-attention模型能够提供更准确的结果。 总的来说,将self-attention引入计算机视觉领域是一个令人兴奋的方向,它为我们提供了一种新的方法来处理图像信息。未来还有许多值得探索的问题,如如何设计更有效的self-attention机制、如何将其与传统的卷积操作结合等。这些研究将进一步推动计算机视觉技术的发展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值