深度学习——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,一经查实,立即删除!

相关文章

说说redis的集群的原理吧

为什么redis集群这么牛?为什么其拥有那么多的优点了?为什么大厂用的都是redis集群? 因为其 1.高可用 2.高性能 3.数据容错性 4.数据持久化 5.线性扩展 6.客户端重定向 为什么有以上这么多优势了? 其实跟redis集群背后的原理有关&a…

信息化工作人员必备常识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 **资料清…

OSPF的七种LSA类型

OSPF的LSA类型 在OSPF协议中,使用LSA来传递路由信息和拓扑信息,因此了解不同的LSA的内容和其功能,对了解OSPF协议的路由形成有很大帮助。这里的OSPF是v2版本,只针对IPv4来讲。 描述一条LSA的三要素: ADV Router产生者…

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

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

ORACLE数值相关的sql语句

ORACLE数值相关的sql语句 引言1. 基础数值运算2. 数值函数应用2.1 精确数值函数2.2 绝对值函数 ABS() 3. 判断和转换数值4. 聚合数值字段5. 数值范围查询总结 引言 在Oracle数据库中,处理数值数据是一项常见的任务,不论是进行简单的数学运算,…

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…

JavaScript介绍

JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。它最初由Netscape公司的Brendan Eich在1995年设计实现,用于为网页添加动态效果和交互功能。作为开发Web页面的脚本语言而出名,但它也…

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大要素共同…

统计单词数量(文件)(*)

请编写函数&#xff0c;统计英文文章的单词数量。 函数原型 int CountWord(FILE *f); 说明&#xff1a;参数 f 为文件指针。函数值为该文件的单词数量。 裁判程序 #include <stdio.h> #include <stdlib.h> #include <ctype.h>int CountWord(FILE *f);in…

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

3、LVS/DR 模式 实验说明&#xff1a; 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库&#xff0c; 文档创建与修改&#xff1a;iTextPDF能够从零开始创建…

Java基础:单例模式,Spring源码中有哪些单例模式

单例模式是一种常用的软件设计模式&#xff0c;其目的是确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来获取这个唯一实例。在Java中&#xff0c;实现单例模式通常需要遵循以下几个关键原则&#xff1a; 私有化构造器&#xff1a;将类的构造器声明为private&#xf…

4.2 Python列表(list)

Python list列表详解 在实际开发中&#xff0c;经常需要将一组&#xff08;不只一个&#xff09;数据存储起来&#xff0c;以便后边的代码使用。说到这里&#xff0c;一些读者可能听说过数组&#xff08;Array&#xff09;&#xff0c;它就可以把多个数据挨个存储到一起&#…