浅析图像注意力机制

图像注意力机制

对于深度学习图像算法,已经内卷很严重了,没有点自注意力,新设计模块都拿不出手。借着知识整理的机会,总结一下之前了解到的图像自注意力机制,供大家八股 (不是),供大家参考学习。

0.自注意力机制

1. 首先需要先介绍一下 self-Attention,先以Transformer中的self-Attention为例(蹭一波Transformer的热度),首先作为输入向量x,会先分别乘以三个参数矩阵,得到三个新的向量,分别命名为Q(Query), K(Key), V(Value),在进行自注意力计算时,三个向量的作用各不相同。现在是以单个输入向量or变量为例,当输入的结果是整个句子或者是整张图片时,则输入是x的集合,利用独立的多组参数矩阵,生成多组向量结果。
在这里插入图片描述
2. 所谓自注意力,则是可以自动对句子本身的相互关系进行计算和挖掘,现在针对得到的各自独立的Q、K、V的向量集合,需要对不同变量之间的输出向量进行相互计算,即先计算各自的注意力得分。
通过当前x变量的Q向量与所有变量的K向量的点乘,得到所有变量对当前变量x的自注意力得分。在得到乘积后,为方便后续计算对结果进行softmax归一化。
在这里插入图片描述
3. 得到了每个变量与所有变量之间的联系,现在需要整合利用到这个信息,最直接的方式就是加权求和,即利用上述得分和最一开始得到的各自的V向量,求其加权和则得到了每个变量在自注意力加工后的变量结果。
https://zhuanlan.zhihu.com/p/82312421
此时再会看整个流程的公式:
在这里插入图片描述
整个self-Attention机制就大致如上。

references:
http://jalammar.github.io/illustrated-transformer/
https://zhuanlan.zhihu.com/p/82312421

1.图像注意力

大致了解了self-Attention后,就可以接着看一下注意力机制在图像上的应用了,根据注意力所关注数据维度不同,可以大致分为空间注意力,通道注意力和混合注意力,根据注意力范围不同,也分为自注意力和局部注意力。

图像与上述机制在数据上的不同点在于,图像数据是以矩阵的形式表示的。所以向量也多是以矩阵的形式呈现。而在一些具体的实施细节上,Q、K、V矩阵向量一般是通过1x1的conv实现,过程中一般掺杂着通道间的transpose一些操作。

2.Transformer和CNN的区别

Transformer还是属于机器学习的范畴,并没有CNN中的conv、pooling等操作;
Transformer包含更多的全局信息,可解释性更强;
CNN具有天然的几何不变性,所以进入Transformer前,需要对输入向量进行位置预编码,以提供位置信息;
Transformer针对大型数据集(重新定义大型),可以有更优的效果。

3.后续

  • 关于Transformer其他部分的细节内容,后续再进行更新;
  • 有关目前Tranformer模块在图像领域的新成果,后续再看要不要更新。。。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>