深度学习——Transformer的理解整理

文章探讨了Transformer模型中Q、K、V在机器翻译、车道线检测、目标检测等任务中的角色,强调Q与具体任务相关,K和V则代表关注的物理量。文章还解释了注意力机制如何在搜索引擎、字典查找等场景中体现,以及向量表示的重要性。
摘要由CSDN通过智能技术生成

一、答主1

机器翻译

transformer刚被提出的时候就是被用于处理机器翻译的。在transformer架构中的不同位置Q,K,V指代的变量是不一样的。
假设现在处理的是英文->德文的翻译任务。

  • 在encoder的输入端,这里执行的是self-attentionQ、K、V 都是指代英文的embedding
  • 在decoder的输入端,这里执行的是masked self-attentionQ、K、V 都是指代德文的embedding
  • 在encoder的输出端和decoder的某个layer的输出进行交互的时候,也就是执行cross-attention的时候,Q指代的是德文的embeddingK、V指代英文的embedding

车道线检测

在CLRNet中也用到了transformer的结构,这里的QKV就可以指代不同的东西了。Q指代了车道线的特征K、V指代的是图像的feature map,来计算车道线特征对图像全局特征的注意力情况。

目标检测

用DETR做检测,Q就指代了object query,它是模型权重的一部分,也就是可学习的参数。K、V同样指代了图像的feature map

从以上3个不同的任务可以更加直观的去理解Q、K、V根据不同任务,指代的物理量是不一样的,也可以更加深入的去理解它的计算过程,和其背后的注意力机制的思想。所以Q这个变量一般同具体的任务有关,而K、V两个变量是Q想要关注的物理量。transformer这种结构能够在不同领域都能使用,可见它的通用性。

二、答主2

问题搜答案

你有一个问题Q,然后去搜索引擎里面搜,搜索引擎里面有好多文章,每个文章V有一个能代表其正文内容的标题K,然后搜索引擎用你的问题Q和那些文章V的标题K进行一个匹配,看看相关度(QK —>attention值),然后你想用这些检索到的不同相关度的文章V来表示你的问题,就用这些相关度将检索的文章V做一个加权和,那么你就得到了一个新的Q’,这个Q’融合了相关性强的文章V更多信息,而融合了相关性弱的文章V较少的信息。这就是注意力机制,注意力度不同,重点关注(权值大)与你想要的东西相关性强的部分,稍微关注(权值小)相关性弱的部分。

三、答主3

查字典

假想你有一个map/dict或者其他名字,一个key对应一个value,在检索的时候,给定query,如果query in map,就是query等于其中一个key,就返回对应的value。这个方法太hard了,有就是有,没有就是没有。对于qkv都是向量的情况,这种方法不可行,只能让它变soft,那就是算一算query和key的关系,按照比例对value加和,这和max变成softmax有异曲同工之妙。

可能更类似于插值,比如你去爬山,半山腰想知道自己的海拔,周围有远有近有高有低好几个海拔参考点,你通过它们来估计自己的海拔,当然是越近越有参考作用,也就是注意力系数越大。要是估算错了怎么办?幸好你爬到山顶有真实海拔,估算错误就修正,顺便把之前你参考的那些值也修正了。爬山的人越多,修正的次数越多,那些参考值越准确。

四、答主4

  • 查询(Q):代表我们想要理解的词(例如,“machines”)的向量表示。
  • 键(K):代表句子中所有词(包括“Thinking”和“machines”)的向量表示,用于与Q进行比较。
  • 值(V):同样代表句子中所有词的向量表示,但是当计算出Q和K的相似度后,将用于加权求和,生成输出。

五、简易代码实现

参考文章

  1. 知乎讨论——transformer中的Q,K,V到底是什么?
  2. 一系列文章:ChatGPT背后强大而神秘的力量:用最简单的语言讲解Transformer架构之概览
  3. 外国人专业文章讲解
  4. 图解 transformer——注意力计算原理
  5. Transformer 01:自注意力机制Q,K,V详解
  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值