Transformer中的Q,K,V

Query,Key,Value的概念取自于信息检索系统,举个简单的搜索的例子来说。当你在某电商平台搜索某件商品(年轻女士冬季穿的红色薄款羽绒服)时,你在搜索引擎上输入的内容便是Query,然后搜索引擎根据Query为你匹配Key(例如商品的种类,颜色,描述等),然后根据Query和Key的相似度得到匹配的内容(Value)。
来源:https://zhuanlan.zhihu.com/p/48508221

目录

Q,K,V

​编辑多头注意力机制


Q,K,V

可以参考下图,每一个单词都有QKV这三个向量,这里运用了注意力机制,也有是会去求其他单词和该单词的匹配度,那Q表示的就是与我这个单词相匹配的单词的属性,K就表示我这个单词的本身的属性,V表示的是我这个单词的包含的信息本身。

这三个向量都是对embedding线性运算得到的,其实就是一个矩阵乘法。参考第一张图。

 注意力Attention机制的最核心的公式为:softmax(\tfrac{QK^T}{\sqrt{d_{k}}})V。Transformer论文中将这个Attention公式描述为:Scaled Dot-Product Attention。其中,Q为Query、K为Key、V为Value。Q、K、V是从哪儿来的呢?Q、K、V其实都是从同样的输入矩阵X线性变换而来的。我们可以简单理解成:

Q=XW^Q\\ K=XW^K\\ V=XW^V\\ 

用图片演示为: 

X分别乘以三个矩阵,生成Q、K、V矩阵

其中W^QW^KW^V和是三个可训练的参数矩阵。输入矩阵X分别与W^QW^KW^V相乘,生成QKV,相当于经历了一次线性变换。Attention不直接使用X,而是使用经过矩阵乘法生成的这三个矩阵,因为使用三个可训练的参数矩阵,可增强模型的拟合能力。 

 QK^T经过MatMul,生成了相似度矩阵。对相似度矩阵每个元素除以\sqrt{d_{k}}d_{k}K的维度大小。这个除法被称为Scale。当d_{k}很大时,QK^T的乘法结果方差变大,进行Scale可以使方差变小,训练时梯度更新更稳定。

 国外博主的计算流程:

多头注意力机制

为了增强拟合性能,Transformer对Attention继续扩展,提出了多头注意力(Multiple Head Attention)。刚才我们已经理解了QKV、是输入XW^QW^KW^V分别相乘得到的,W^QW^KW^V可训练的参数矩阵。现在,对于同样的输入X,我们定义多组不同的W^QW^KW^V,比如W^Q_0W^K_0W^V_0W^Q_1W^K_1W^V_1和,每组分别计算生成不同的QKV最后学习到不同的参数。

如下图:

 Transformer论文中给出的多头注意力图示:

参考:注意力机制到底在做什么,Q/K/V怎么来的?一文读懂Attention注意力机制 (zhihu.com) 

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

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

相关文章

大数据分析的Python实战指南:数据处理、可视化与机器学习【上进小菜猪大数据】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 引言: 大数据分析是当今互联网时代的核心技术之一。通过有效地处理和分析大量的数据,企业可以从中获得有价值的洞察,以做出更明智的决策。本文将…

DAY 76 分布式监控平台:zabbix

市场上常用的监控软件: 传统运维:zabbix、 Nagios云原生环境: Prometheus (go语言开发的) zabbix概述 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去…

青大数据结构【2017】【综合应用、算法分析】

关键字: 平衡二叉树、平均查找长度、单链表、二叉树中序遍历非递归 三、综合应用 平衡二叉树AVL定义:任意节点的子树的高度差都小于等于 1 ASL(12*24*3)/717/7 四、算法分析

解决vmware虚拟机,克隆修改ip后,xshell连接不上问题

1、查看网卡 ifconfig2、修改网卡配置 vim /etc/sysconfig/network-scripts/ifcfg-ens32 改成与上图一样 修改后 3、重启reboot则解决

2023上半年软考系统分析师科目一整理-17

2023上半年软考系统分析师科目一整理-17 计算机系统的性能一般包括两个大的方面。一个方面是它的(),也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度,也可以是在一段时间内,能正常工…

网络层:虚拟专用网VPN和网络地址转换NAT

1.网络层:虚拟专用网VPN和网络地址转换NAT 笔记来源: 湖科大教书匠:虚拟专用网VPN和网络地址转换NAT 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 1.1 虚拟专用网VPN 专用网和公用网的特点 专用网络&#xff…

Flutter嵌套地狱

override Widget build(BuildContext context) {return Column(children: <Widget>[Container(height: 45,child: Row(children: <Widget>[SizedBox(width: 30,),Icon(Icons.notifications,color: Colors.blue,),SizedBox(width: 30,),Expanded(child: Text(消息中…

AI聊天对话工具,让沟通更简单轻松

人工智能技术的发展不断为我们带来新的惊喜和变革&#xff0c;其中之一就是ai聊天对话应用。这种应用利用自然语言处理、机器学习和对话管理等技术&#xff0c;在智能手机、电脑等设备上实现了人机对话&#xff0c;让人们更轻松地与计算机之间进行交流和互动。随着移动互联网的…

Unity 中 TextMeshPro 字体位置偏上/偏下

问题&#xff1a;在Unity中创建了一个新的TextMeshPro 字体&#xff0c;在使用的时候布局设置的居中对齐&#xff0c;但在场景中实际位置却和预期位置不服&#xff0c;如下图。 当然通过调整布局设置&#xff0c;也可以显示成正常的效果&#xff0c;但不可能所有文本都通过这…

PRL:城大团队提出新型量子理论

光子盒研究院 近期&#xff0c;由香港城市大学&#xff08;城大&#xff09;物理学家领导的团队开发了一个新的量子理论&#xff0c;解释了物质的“光诱导阶段(light-induced phase)”&#xff0c;并预测了它的新功能。 3月初&#xff0c;研究成果以Multidimensional Coherent …

JMeter:如何开始简单的WEB压力测试?

目录 背景 如何开始简单的WEB压力测试 PutsReq网站截图 执行测试计划 背景 JMeter是一款广泛使用的性能测试工具&#xff0c;它可以模拟用户行为并生成负载&#xff0c;用于评估Web应用程序的性能和稳定性。 最近工作上被安排针对Web网站进行性能压测&#xff0c;以评估特…

点云连接 点云字段连接

什么是点云连接 点云连接指的是将两个或多个点云数据合并在一起&#xff0c;形成一个更大的点云数据集。在这个过程中&#xff0c;点云数据根据它们的坐标位置被放置在一起。具体而言&#xff0c;点云连接操作将两个点云的点按顺序合并到一个新的点云对象中。最终&#xff0c;…