Transformer2--Multi-head self-attention

目录

  • 一、背景
  • 二、多头自注意力机制的原理
    • 2.1 自注意力机制
    • 2.2 多头自注意力机制
    • 2.3 Positional Encoding(位置编码)
    • 2.4 self-attention for image
  • 三、Self-attention v.s CNN
  • 四、Self-attention v.s RNN
  • 参考资料

一、背景

为什么是multi-head self attention?
并行的处理多种注意力模式: 每个注意力头使用不同的线性变换,这意味着它们可以从输入序列的不同子空间中学习不同的特征关联。这样一来,模型可以通过多个注意力头同时关注输入序列的不同方面,如一句话的语法结构、语义角色、主题转移等。
增加模型的学习能力和表达能力: 通过多个注意力头,由于每个头关注的特征不同,模型可以学习到更丰富的上下文信息,这样综合起来可以更加全面的理解和处理序列。

二、多头自注意力机制的原理

2.1 自注意力机制

在介绍多头自注意力机制之前,先来简单的回顾一下自注意力机制:

自注意力机制(Self-Attention Mechanism)是Transformer架构中的核心组件,它允许模型在处理序列数据时, 考虑序列中不同位置元素之间的相互关系。在自注意力机制中,查询(Query, Q)、键(Key, K)和值(Value, V)是三个重要的概念,它们都是从输入序列经过线性变换得到的向量。
在这里插入图片描述
对于Q,K,V分别代表的含义,我想用一个例子来说明一下:
我们有一段文本:“小明喜欢在晴朗的日子里去公园散步。” 如果我们想要了解 “小明” 这个词在句子中的上下文含义,我们可以看看句子中其他词与 “小明” 之间的关系。

查询(Query, Q):可以把它想象成我们要寻找信息的问题或者焦点。在上面的例子中, 小明”就是我们的查询 “,我们想要知道“小明”这个词在句子中的具体含义。

键(Key, K):可以把它看作是其他单词(或者说是输入序列中的其他部分)提供的线索,帮助我们判断它们与查询的相关程度。在我们的例子中,句子中的每一个词都可以产生一个键,用来表示它是否与“小明”相关以及相关的程度。

值(Value, V):可以理解为当一个键与查询匹配时,它能提供的额外信息。在句子中,如果一个词与“小明”相关联,那么它的值向量就会被用来增强我们对“小明”的理解。比如,“喜欢”、“晴朗的日子”和“公园散步”都与“小明”有关系,它们的值向量将被用来丰富“小明”的语境。

自注意力机制通过计算查询向量(Q)和所有键向量(K)之间的相似度(通常是点积),得到一个注意力权重矩阵,然后使用这些权重对所有值向量(V)进行加权求和,从而得到一个综合了上下文信息的新表示。总结来说,Q是询问者,K是回答者提供的线索,V是等待线索的答案,自注意力机制就是通过这些线索和答案来构建输入序列的上下文关系,进而优化模型的性能。

2.2 多头自注意力机制

多头自注意力机制顾名思义,最自注意力机制最大的不同,就是使用多个QKV来构建序列的上下文关系。

在实现过程中 q i , 1 , q i , 2 q^{i,1}, q^{i,2} qi,1,qi,2 k i , 1 , k i , 2 k^{i,1}, k^{i,2} ki,1,ki,2, v i , 1 , v i , 2 v^{i,1}, v^{i,2} vi,1,vi,2与自注意力机制的获取方式一样,以q的计算为例:
q i , 1 , q j , 1 = W q , 1 q i q j q^{i,1}, q^{j,1}=W^{q,1}q^iq^j qi,1,qj,1=Wq,1qiqj
q i , 2 , q j , 2 = W q , 2 q i q j q^{i,2}, q^{j,2}=W^{q,2}q^iq^j qi,2,qj,2=Wq,2qiqj
可以看到其计算方式和自注意力机制计算q时一样。
在这里插入图片描述
multi-head 在计算self-attention时,和单个头的self-attention类似,只不过每一个输入 a i a^i ai会得到和头个数相同的输出 b i , 1 , b i , 2 b^{i,1},b^{i,2} bi,1,bi,2。需要注意的是,头与头对应,即 q i , 1 q^{i,1} qi,1只需要与 k i , 1 , v i , 1 k^{i,1}, v^{i,1} ki,1,vi,1做运算。
在这里插入图片描述

2.3 Positional Encoding(位置编码)

当前,对于一个序列而言,每一个单词出现的位置以及单词之间的距离并未被考虑进去,即第一个单词与最后一个单词的位置是等价的。但是,无论是对于一段文字序列还是一段声音信号,词语的位置不同,所表达的意思可能会发生较大的改变,不如“你不能不吃饭”和“不你不能吃饭”。

为了解决该问题,就需要用到ositional Encoding技术。对于每一个词语只需要给输入信号加上一个位置向量 e i e^i ei.
在这里插入图片描述
位置向量的编码方式有很多种,如下图所示:
在这里插入图片描述

接下来的内容与multi-head知识无关了,我只是顺着课程一块记录下来了。

2.4 self-attention for image

将一张图片看作是一个vector set, 比如下面这张图像,被划分成510的一组向量集,每一个vector是一个13大小的向量。
在这里插入图片描述
应用的实例:
在这里插入图片描述

三、Self-attention v.s CNN

先说结论:CNN是简化版的self-attention。
self-attention处理数据的方式: self-attention是考虑整张图像的信息,即receptive filed的范围是自己决定的,自己觉得q与谁相关。
在这里插入图片描述
CNN处理数据的方式: CNN仅仅考虑定义范围内的receptive filed里面的信息
在这里插入图片描述

四、Self-attention v.s RNN

RNN 简单介绍:RNN的核心机制是其隐层状态,它可以保存先前输入的信息,从而在后续时间步骤中使用,这相当于给网络赋予了一定的“记忆”能力,使其能够处理具有长期依赖关系的数据。
在这里插入图片描述
在这里插入图片描述
RNN与Self-attention 的不同

  1. 如果一段序列较长,如果需要最右边黄色的输入与最开始蓝色输入信息的关联,需要将蓝色输入一直存储在memory中,这需要较大的内存。受内存的限制,在RNN中,后面的输入很难与最开始的输入关联。
    但是在Self-attention中,只要使用黄色输入的Q与蓝色输入的K进行矩阵乘法计算就能完成这个操作。

  2. RNN是noparallel, 除了最开始的输入外,RNN中每一个输入都需要考虑前一个的输出来得到当前状态的输出,无法平行处理所有输入。
    但是在self-attention中,如下图所示,它可以很轻松的平行处理所有输入。
    在这里插入图片描述

参考资料

台大李宏毅自注意力机制和Transformer详解!
【NLP】多头注意力(Multi-Head Attention)的概念解析

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

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

相关文章

CocosCreator构建IOS的wwise教程

CocosCreator构建IOS教程 添加wwise教程: 1.添加include 2.添加SoundEngine 3.添加Profile-iphoneos下面lib下面的.a 4.导入js调用C++的文件 5.导入这些文件 6.初始化ios绝对路径和TTS语音合成对象 6.获得根目录绝对路径,加载pck需要找到绝对路径。怎么找绝对路径? #impor…

2024年危化品安全员生产单位(生产管理人员)考试精选题库

31.《危险化学品安全管理条例》所称重大危险源,是指生产、储存、使用或者搬运危险化学品,且危险化学品的数量等于或者超过()的单元(包括场所和设施)。 A.标准 B.一定量 C.临界量 答案:C 32.《危险化学品生产企业安全生产许可证实施办法》…

C语言分支和循环(上)

C语言分支和循环(上) 1. if语句1.1 if1.2 else1.3 分支中包含多条语句1.4 嵌套if1.5 悬空else问题 2. 关系操作符3. 条件操作符4. 逻辑操作符:&&,||,!4.1 逻辑取反运算符4.2 与运算符4.3 或运算符4.4 练习:闰年…

加密与安全_Java 加密体系 (JCA) 和 常用的开源密码库

文章目录 Java Cryptography Architecture (JCA)开源国密库国密算法对称加密(DES/AES⇒SM4)非对称加密(RSA/ECC⇒SM2)散列(摘要/哈希)算法(MD5/SHA⇒SM3) 在线生成公钥私钥对,RSA公私钥生成参考…

黑苹果系统(MacOS)配置清单

手里的MacBookPro已经快沦为电子垃圾了,平时用MacOS比较多,Window用的比较少,而苹果电脑的价格不管是MacBookPro还是MacMini丐版的便宜但是面对现在Window动不动就64g内存的情况就显得微不足道了,高配的价格直接把我劝退&#xff…

招聘,短信与您:招聘人员完整指南

招聘人员面临的最大挑战之一就是沟通和联系候选人。为何?我们可以从以下原因开始:候选人通常被太多的招聘人员包围,试图联系他们,这使得你很难吸引他们的注意。在招聘过程的不同阶段,根据不同的工作量,让申请人保持最…

【ACM_2023】3D Gaussian Splatting for Real-Time Radiance Field Rendering

【ACM_2023】3D Gaussian Splatting for Real-Time Radiance Field Rendering 一、前言Abstract1 INTRODUCTION2 RELATED WORK2.1 Traditional Scene Reconstruction and Rendering2.2 Neural Rendering and Radiance Fields2.3 Point-Based Rendering and Radiance Fields 3 O…

GPU设置

GPU降温测试 前提 同一个训练程序,使用8块GPU,GPU使用率基本全程>90%,GPU为1080 Ti 限制最高功率效果 不限制最高功率(默认最高功率250W):最高温度85,大多时间在75-85之间 将最高功率限制为150W:最高…

mtu 1500 qdisc noop state DOWN group default qlen 1000问题的解决

问题描述 1、打开虚拟机终端,root身份启动ens网卡(一般情况下还是会直接报错 ifup ens33 2、停止网卡设置disable再启动 systemctl stop NetworkManager 不报错即可 systemctl disable NetworkManagerservice network restart出现了绿色的OK啦&#…

SpringBoot——整合Shiro,实现安全认证和权限管理功能

目录 Shiro 项目总结 新建一个SpringBoot项目 pom.xml application.properties(配置文件) User(实体类) UserMapper(数据访问层接口) UserMapper.xml(数据库映射文件) User…

单位转换:将kb转换为 MB ,GB等形式

写法一&#xff1a; function formatSizeUnits(kb) {let units [KB, MB, GB, TB, PB,EB,ZB,YB];let unitIndex 0;while (kb > 1024 && unitIndex < units.length - 1) {kb / 1024;unitIndex;}return ${kb.toFixed(2)} ${units[unitIndex]}; } console.log(for…

北京站圆满结束!MongoDB Developer Day上海站,周六见!

上周六 MongoDB Developer Day首站北京站 80位开发者与MongoDB一起度过了充实的一天 专题讲座➕动手实操➕专家面对面交流 从数据建模、进阶查询技巧 到Atlas搜索与向量搜索 让参会伙伴们直呼“满满的技术干货&#xff01;” 全体参会者与工作人员合影 MongoDB Developer …

一个人 三个月 干了二十万

相信很多人是被这个标题吸引进来的&#xff0c;但我并不是标题党&#xff0c;我也很讨厌标题党&#xff0c;这篇文章也不在乎流量&#xff0c;更多的是想记录下。 出来创业三个多月了&#xff0c;给大家汇报一下这段时间的业绩吧。一个人&#xff0c;三个多月&#xff0c;干了…

数据分析报告制作的结构和思路整理

先画重点&#xff1a;一份分析报告的制作&#xff0c;目前的市场的分析步骤是优先找一些别人的研究报告&#xff0c;现成的东西&#xff0c;重点是要好好总结业务逻辑和潜在运营可能&#xff0c;这也是一位优秀数据分析师的价值体现。 举个例子&#xff0c;以目前小说短剧赛道的…

人工智能期末复习思维导图,参考人工智能及其应用(第6版)和柴玉梅老师教材

其中第一、六、七、八、九章不用重点看&#xff0c;计算题一般会考1.语义网络、谓词逻辑&#xff0c;2.可信度&#xff0c;3.主观贝叶斯&#xff0c;4.一般合一置换&#xff0c;5.证据理论&#xff0c;6.盲目搜索。 第一章&#xff1a;绪论 第二章&#xff1a;知识表示方法 第…

中小企业在数字化转型过程中遇到的挑战有哪些?

引言&#xff1a;中小企业推进数字化转型的背景是多重因素叠加的结果&#xff0c;包括市场竞争压力、信息技术发展及普及、各级政府政策支持及引导、企业经营发展需求和人才结构变化等。这些因素共同推动了中小企业加快数字化转型的步伐&#xff0c;以应对日益复杂多变的市场环…

2024年湖南建筑安全员考试题库,精准题库。

31.安全考核的对象应包括施工企业各管理层的&#xff08;&#xff09;、相关职能部门及岗位和工程项目参建人员。 A.技术负责人 B.安全负责人 C.主要负责人 D.第一负责人 答案&#xff1a;C 32.安全防护设施应标准化、定型化、&#xff08;&#xff09;。 A.规范化 B.工…

msvcp120.dll文件不见了要怎么处理?教你科学的方法修复msvcp120.dll

msvcp120.dll文件不见了&#xff1f;那么这时候你就要注意了&#xff0c;有可能你的某些程序已经打不开了&#xff01;因为这个msvcp120.dll文件是用来支持程序运行的&#xff0c;下面我们一起来聊一下msvcp120.dll文件不见了要怎么修复。 一.msvcp120.dll文件讲解 msvcp120.d…

软考论文总挂科!评分标准是什么?

最近很多小伙伴都查到了自己上半年的软考高项成绩&#xff0c;首先恭喜已经通过的宝子&#xff0c;但也有一部分同学卡在了论文上&#xff0c;跟软考证书擦肩而过。今天给大家分析一下导致论文挂科的一些原因~ 1&#xff09;写作中的硬伤 01跑题:没有回应子题目所需论述的内容…

第5章 传输层

王道学习 考纲内容 &#xff08;一&#xff09;传输层提供的服务 传输层的功能&#xff1a;传输层寻址与端口&#xff1b;无连接服务和面向连接服务 &#xff08;二&#xff09;UDP UDP数据报&#xff1b;UDP检验 &#xff08;三&#xff09;TCP …