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

一、答主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详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息化工作人员必备常识4——ping命令详解【不间断发包自定义发包的大小自定义发包次数】

信息化工作人员必备常识4——ping命令详解【不间断发包&自定义发包的大小&自定义发包次数】 前言回顾pingtelnetnslookup命令 ping 命令详解帮助手册不间断向目标 IP 发送数据包 -t定义发送数据包的大小 -l-t&-l 验证网络承载能力自定义发送数据包的次数统计响应时…

[BT]BUUCTF刷题第20天(4.22)

第20天 Web [GWCTF 2019]我有一个数据库 打开网站发现乱码信息(查看其他题解发现显示的是:我有一个数据库,但里面什么也没有~ 不信你找) 但也不是明显信息,通过dirsearch扫描得到robots.txt,然后在里面得…

51单片机数字温度报警器_DS18B20可调上下限(仿真+程序+原理图)

数字温度报警器 1 **主要功能:*****\*资料下载链接(可点击):\**** 2 **仿真图:**3 **原理图:**4 **设计报告:**5 **程序设计:**主函数外部中断函数DS18B20驱动 6 讲解视频7 **资料清…

上海亚商投顾:沪指震荡调整 油气等周期股集体下挫

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整,深成指、创业板指小幅走弱。军工板块逆势拉升,中船应急、捷安高科、…

simlab python二次开发2-一键生成轴瓦并设定节点号

simlab python二次开发2-一键生成轴瓦并设定节点号 1、节点坐标计算并建立1.1、建坐标原点节点,并得到Model-1.gda1.2、轴瓦节点计算并建立 2、由节点建面2.1、由4个节点建面得到3个面单元Body2.2、得到Bodies名称2.3、根据Bodies名称选面特征(放入Group…

AR爆发的前夜,Rokid站在了门口

文|刘俊宏 摆脱6寸的手机屏幕,栖居在300寸大屏的智慧生活是什么样子? 4月20日,Rokid在新品AR Lite空间计算套装的发布会上,“硬刚”了苹果的Vision Pro。 Rokid AR Lite空间计算套装 Rokid AR Lite与苹果Vision Pro…

el-upload组件如何上传blob格式的url地址视频

el-upload组件如何上传blob格式的url地址视频 一、存在问题二、直接上代码 需求:想把视频地址url:“blob:http://localhost:8083/65bd3c0f-52ec-4844-b85e-06fdb5095b7b”,通过el-upload组件上传 el-upload是Element UI中用于文件上传的组件,…

中文医疗大模型及中文底座大模型参考

参考:https://github.com/HqWu-HITCS/Awesome-Chinese-LLM 中文底座大模型 中文医疗大模型

c#学习入门1

一、环境配置 颜色主题 字体设置 行号设置 二、第一个应用程序 1. 在解决方案下创建一个新项目 第一种注释:两杠注释 第二种注释:星号注释 第三种注释:三杠注释(只有在花括号后面输出才会自动补全) 2.控制台输入打印基础语句 输…

第⑯讲:Ceph集群Pool资源池管理以及PG的数据分布的核心技术要点

文章目录 1.Pool资源池的管理1.1.查看Pool资源池列表1.2.创建一个Pool资源池1.3.查看Pool资源池的参数信息1.4.修改Pool资源池的参数信息1.5.为Pool资源池设置应用模式1.6.重命名Pool资源池1.7.设置Pool资源池的限额1.8.删除Pool资源池1.9.查看Pool资源池的利用率 2.PG的数据分…

产品经理必会12个产品模型

很多运营经理,常常觉得产品成功的决定性因素是“产品做得好”。 而很多产品经理却认为,产品互抄太严重了,差异化的竞争要点是“产品运营得好”。 在商业高速发展时代,成功产品定义往往不是单点成功,而是由3大要素共同…

就业班 第三阶段(负载均衡) 2401--4.18 day2 nginx2 LVS-DR模式

3、LVS/DR 模式 实验说明: 1.网络使用NAT模式 2.DR模式要求Director DIP 和 所有RealServer RIP必须在同一个网段及广播域 3.所有节点网关均指定真实网关 主机名ip系统用途client172.16.147.1mac客户端lvs-server172.16.147.154centos7.5分发器real-server1172.16.…

SpringBoot整合PDF动态填充数据并下载

目录 目录 一、准备环境 二、iTextPDF介绍 三、步骤 四、访问查看结果 五、源代码参考 一、准备环境 ①下载一个万兴pdf软件 ②准备一个pdf 文件 二、iTextPDF介绍 这是一个用于生成PDF文档的Java库, 文档创建与修改:iTextPDF能够从零开始创建…

学习Rust的第11天:模块系统

Rust的模块系统可以使用它来管理不断增长的项目,并跟踪 modules 存储在何处。 Rust的模块系统是将代码组织成逻辑片段的有效工具,因此可以实现代码维护和重用。模块支持分层组织、隐私管理和代码封装。Rust为开发人员提供了多功能和可扩展的方法来管理项…

用 Pytorch 训练一个 Transformer模型

昨天说了一下Transformer架构,今天我们来看看怎么 Pytorch 训练一个Transormer模型,真实训练一个模型是个庞大工程,准备数据、准备硬件等等,我只是做一个简单的实现。因为只是做实验,本地用 CPU 也可以运行。 本文包含…

Vue阶段练习:tab栏、进度条、

阶段练习旨在学习完Vue 指令、计算属性、侦听器-CSDN博客后,进行自我检测,每个练习分为效果显示、需求分析、静态代码、完整代码、总结 四个部分,效果显示和准备代码已给出,我们需要完成“完整代码”部分。 练习1:tab栏…

开源大数据集群部署(二十一)Spark on yarn 部署

作者:櫰木 1 spark on yarn安装(每个节点) cd /root/bigdata/ tar -xzvf spark-3.3.1-bin-hadoop3.tgz -C /opt/ ln -s /opt/spark-3.3.1-bin-hadoop3 /opt/spark chown -R spark:spark /opt/spark-3.3.1-bin-hadoop32 配置环境变量及修改配…

攻防世界---misc---再见李华

1.下载附件是解压之后得到一张图片 2.使用常规方法后没有得到什么信息,接着用winhex分析,发现有压缩包 ,里面还有个key.txt 3.接着用kali使用命名foremost进行分离,得到压缩包,里面的key.txt需要密码 4.接着给压缩包暴…

IDEA代码重构

重构 重构的目的: 提高代码的可读性、可维护性、可扩展性和性能。 重命名元素 重命名类 当我们进行重命名操作的时候可以看到第六行存在一个R(rename),点击后就会弹出所偶有引用,这样可以避免我们在修改后存在遗漏引用处未修改。 我们可以通过…

管理集群工具之LVS

管理集群工具之LVS 集群概念 将很多机器组织在一起,作为一个整体对外提供服务集群在扩展性、性能方面都可以做到很灵活集群分类 负载均衡集群:Load Balance高可用集群:High Availability高性能计算:High Performance Computing …