您的位置:首页 > 财经 > 金融 > Transformer学习(1):注意力机制

Transformer学习(1):注意力机制

2024/11/9 7:54:54 来源:https://blog.csdn.net/Life1213/article/details/141936211  浏览:    关键词:Transformer学习(1):注意力机制

文章目录

  • 什么是注意力
  • 如何实现注意
  • 注意力的计算过程
  • 总结

什么是注意力

在一张图像中,包含了各种信息,而我们会自动关注重要的信息。下图是注意力热力图,可以发现人们会注意兔子的脸这些重要信息。
在这里插入图片描述

而在深度学习中,输入数据包含了重要的数据与不重要的数据,但对于一个模型来说,它不知道哪些数据是重要的。
因此提出了注意力机制,如何在深度学习模型上使用注意力,让模型关注于重要的数据。

如何实现注意

  • Query(查询)查询的范围,可以理解为要查询什么特征。自主提示,即主观意识的特征向量
  • Key(键):被对比的项,也就是被查询物体的特征。非自主提示,即被查询物体的突出特征信息向量
  • Value(值)被查询的物体本身,也就是原图上的各个物体。代表被查询的物体本身的特征向量,通常和Key成对出现

在这里插入图片描述

要实现注意力机制,也就是要得到Q与V的相似度哪些V对Q更加重要

注意力的计算过程

① 计算Q与K的相似度
一般是使用点乘(内积)来计算Q与K中的每个事物的相似度,得到Q与 k 1 k_1 k1的相似度 s 1 s_1 s1,Q与 k 2 k_2 k2的相似度 s 2 s_2 s2等等。
然后对得到的相似度执行softmax归一化操作: s o f t m a x ( s 1 , s 2 , . . . , s n ) softmax(s_1,s_2,...,s_n) softmax(s1,s2,...,sn)得到n个概率 ( a 1 , a 2 , a n ) (a_1,a_2,a_n) (a1,a2,an),也就是各个K对Q的重要性
在这里插入图片描述
② 汇总各个物体的相似度
通过前面的计算,我们得到了各个K与Q的相似度,相当于我们得到了各个V与Q的相似度,也就是各个V的权重,此时Q已经失去作用。然后我们需要将这些相似度进行汇总,得到一张图像,这张图像上包含了哪些信息重要与不重要。

计算方法 a i a_i ai v i v_i vi相乘,再相加,得到新的 V ′ V' V
V ′ = a 1 ∗ v 1 + a 2 ∗ v 2 + . . . + a n ∗ v n V' = a_1*v_1+a_2*v_2+...+a_n*v_n V=a1v1+a2v2+...+anvn
在这里插入图片描述

这样的话,就得到了一个新的 V’,这个新的 V’ 就包含了哪些更重要与更不重要的信息在里面,然后用 V’ 代替 V

一般来说K=V,但在Transformer中,K可以!=V,但K与V必须存在某种联系,只有这样才能通过QK的点乘来指导V哪些重要与不重要。

计算过程的问题与解决方法
在计算出QK后并进行softmax操作时,若各个概率值相差大则会导致softmax输出的值很极端
因此需要对QK点乘的值进行缩放操作(scale),公式如图所示,其中 d k d_k dkK的通道数
在这里插入图片描述
通过缩放就可以避免softmax操作的输出极端,注意力机制的结构变为这样。
在这里插入图片描述

总结

本质上来说,注意力机制就是网络根据提供的信息Q,得到各个V的一个权重,这个权重代表着Q与V的相关性。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com