3BB学习transformer日记,attention原理

将单词数字化——方向代表语义

每一个单词可以对应到高维空间的一个向量,这个向量叫嵌入向量。以三维为例,女人-男人=叔叔-婶婶(四个都是向量),可以这么理解,”男人“这个词的意思转化成”女人“这个词的意思,需要”男人“这个词的向量加上向某个方向的向量,加上这个向量,可以让这个词义由“男性”转化成“女性”,而“叔叔”和“婶婶”这的词义很接近只差性别的转化,当“叔叔”这个词的向量加上刚才的向量(男人-女人)就可以转化成”婶婶“的意思。
在这里插入图片描述

单头注意力机制

每一个词可以用一个高维向量表示,这个向量可以表示这个词的含义在句子中的位置,每个单词用向量 E ⃗ \vec{\mathrm{E}} E 表示,我们以下面的短语“fluffy bule create(毛茸茸的蓝色的生物)”为例,解释如何通过注意力机制,让“生物”注意到“毛茸茸”和“蓝色”。
在这里插入图片描述
以形容词修饰名词为例,在整个句子中,我们人脑很快会明白:“生物”被“毛茸茸”和“蓝色”修饰,那计算机是怎么实现的呢?
首先我们对每一个嵌入向量分别乘两个矩阵 W Q W_{Q} WQ W K W_{K} WK,每个 E ⃗ \vec{\mathrm{E}} E 都得到了对应的 Q ⃗ \vec{\mathrm{Q}} Q 向量和 K ⃗ \vec{\mathrm{K}} K 向量, Q ⃗ \vec{\mathrm{Q}} Q 是query(查询)的意思, K ⃗ \vec{\mathrm{K}} K 是Key(值)的意思,可以这么理解:“生物”这个词问:谁跟我关系最好(因为我们要找到“毛茸茸”和“蓝色”两个词在修饰“生物”),“毛茸茸”和“蓝色”这两个词喊:“我们俩跟你关系最好!“这里面”生物“的提问就是 Q ⃗ \vec{\mathrm{Q}} Q ,“毛茸茸”和“蓝色”的回答就是 K ⃗ \vec{\mathrm{K}} K

我们将所有的 K ⃗ \vec{\mathrm{K}} K Q ⃗ \vec{\mathrm{Q}} Q 相乘,得到下面的矩阵,由于向量的点积可以表示两个向量的相关性,因此当从一列来看,我们通过比较一列数值的大小就可以知道哪个词这个词相关性最大了,这个例子中,”生物“这列数值最大的就是 K ⃗ 2 \vec{\mathrm{K}}_2 K 2 Q ⃗ 4 \vec{\mathrm{Q}}_4 Q 4 K ⃗ 3 \vec{\mathrm{K}}_3 K 3 Q ⃗ 4 \vec{\mathrm{Q}}_4 Q 4,进而得到了:“生物”与“毛茸茸”和“蓝色”相关性最大,即“生物”注意到“毛茸茸”和“蓝色”,即“生物”被“毛茸茸”和“蓝色”修饰。
在这里插入图片描述
在这里插入图片描述
到这里我们已经说完除去V的原论文中Attention的做法(softmax可以理解成将一列的数转化成0-1之间的数,乘积大的数就靠近1,乘积小的数就靠近0,也就是两个向量越相关,越靠近1,而指数上的T和分母都是细节操作,不影响注意力机制的理解,因此先按下不表,本文着重阐述注意力机制的原理)
在这里插入图片描述
当知道哪些单词之间的相关性大之后,我还要改变原来的向量让它的含义更加准确的表达句子的含义,这个例子中就是让“生物”变成”毛茸茸的蓝色的生物“, V ⃗ \vec{\mathrm{V}} V 就是这个作用。

Q ⃗ \vec{\mathrm{Q}} Q K ⃗ \vec{\mathrm{K}} K 产生的方式相同,用 E ⃗ \vec{\mathrm{E}} E W V W_{V} WV相乘得到了 V ⃗ \vec{\mathrm{V}} V 。向量 V ⃗ \vec{\mathrm{V}} V 就是原来向量向更准确的含义改变所需要加的向量,例如"生物"的向量 E ⃗ \vec{\mathrm{E}} E ,加上”毛茸茸的“的向量 V ⃗ \vec{\mathrm{V}} V 就可以得到“毛茸茸的生物”这个含义的向量。再加上”蓝色“的向量 V ⃗ \vec{\mathrm{V}} V 就可以得到“毛茸茸的蓝色的生物”这个含义的向量。
在这里插入图片描述
由前面的 K ⃗ \vec{\mathrm{K}} K * Q ⃗ \vec{\mathrm{Q}} Q 再softmax,我们得到了与“生物”相关性最大的两词“毛茸茸的”和“蓝色的”,从数值上看,这两个词的数值占很大比重,而其他无关的数数值接近0,我们将这个数值与可以改变含义的V向量相乘,再将所有的这一列的乘好的向量相加,就得到了“生物”的含义到”毛茸茸的蓝色的生物“的含义的变化向量。这个“生物”向量与这个变化向量相加得到了”毛茸茸的蓝色的生物“向量。
在这里插入图片描述
刚才讲述的只是“生物”词,实际上,一个句子进行注意力机制是所有列(所有的词)进行刚才的操作,同样的,原始的向量组,加上改变的向量组,得到了的向量组更准确地表达了这句话的含义。
在这里插入图片描述

补充

masking(掩码)——注意力机制不能让后词影响前词
想想这样一个场景:在未来世界人们可以穿梭到未来,正常一个高中生每次做题目的时候都是通过运用之前学过的知识来做题,但是小明不喜欢思考,每次做作业都要穿梭到未来看这道题的答案是什么,接着再穿越回来把答案写上。由于规定不允许在高考的时候穿越时间,而小明平时总是通过“投机”方式学习,因此高考成绩不如意。
同样道理,在训练一个文本的时候如果允许后词影响前词,那么模型会学到一种不符合实际情况的“投机”策略。当真正需要预测的后文的时候,没有后文的提示会让它的预测效果下降。
由于矩阵的下三角区域是后词影响前词的部分,因此为了处理这个问题,在softmax前将矩阵的下三角的数值变成负无穷,这样一来通过softmax后这些区域都变成了0。
在这里插入图片描述

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

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

相关文章

【硬件介绍】Type-C接口详解

一、Type-C接口概述 Type-C接口特点:以其独特的扁头设计和无需区分正反两面的便捷性而广受欢迎。这种设计大大提高了用户的使用体验,避免了传统USB接口需要多次尝试才能正确插入的问题。Type-C接口内部结构:内部上下两排引脚的设计虽然可能不…

qt 快捷功能 快速生成 setter getter 构造函数 父类虚函数重写 成员函数实现 代码框架 查看父类及父类中的虚函数

qt 快速生成 setter getter 构造函数 父类虚函数重写 成员函数实现 代码框架 1、找到要实现的头文件 2、鼠标移动到在头文件中的类定义的类名上,右键进行选择。 这是插入父类虚函数(父类虚函数重写) 选项弹出来的结果。可以查看到所有父类及父类中的所有的虚函数

用vscode写latex-1

一般大伙使用 LaTeX 大体有两种方案, 一种是在本地配置环境或使用本地的软件,如 vscode LaTeX,texlive,lyx 等等; 另一种是线上 LaTeX 平台,其中用的最多的是 Overleaf,还有一部分高校也有自…

基于YOLOv8的高空无人机小目标检测系统(python+pyside6界面+系统源码+可训练的数据集+也完成的训练模型

目标检测系统【环境搭建过程】(GPU版本)-CSDN博客 摘要 本文提出了一种基于YOLOv8算法的高空无人机小目标检测系统,利用VisDrone数据集中的7765张图片(6903张训练集,862张验证集)进行模型训练,…

springCloud特色知识记录(基于黑马教程2024年)

目录 Nacos 简介 Nacos 的特点 Nacos 的使用步骤可以查看黑马教程文档:‍‌​‌​⁠​⁠​​​​​‬​​​​‍‌‬⁠​​‬​​​​‍​⁠​​​⁠​​‬​⁠​​day03-微…

网络考试系统的设计与实现【源码+文档+部署讲解】

目 录 摘 要 Abstract 第1章 绪论 1.1 研究的目的及意义 1.2 研究开发现状分析 1.3 研究的内容 第2章 系统相关技术 2.1 JAVA简介 2.2 J2EE 2.3 MySQL 2.4 MyEclipse 2.5 JavaScript 2.6 JQuery 2.7 CSS3 2.8 JSP 2.9 Tomcat服务器 第3章 可行性…

uniapp实现H5页面内容居中与两边留白,打造类似微信公众号阅读体验

在 UniApp 中,由于需要兼容多端应用,我们通常使用 rpx 作为尺寸单位。然而,在某些情况下,如需要实现内容居中且两边留白时,直接使用 rpx 可能会带来一些限制。这时,我们可以考虑使用 px 或 rem 等单位&…

CES Asia 2025:VR/AR/XR引领科技新潮流

在全球科技领域蓬勃发展的大背景下,CES Asia 2025(赛逸展)即将在京盛大开幕,VR/AR/XR技术作为前沿科技的代表,将在本次展会上大放异彩,展现出令人瞩目的发展趋势和巨大潜力,同时政策优势也将为其…

el-table 合并单元格

参考文章&#xff1a;vue3.0 el-table 动态合并单元格 - flyComeOn - 博客园 <el-table :data"tableData" border empty-text"暂无数据" :header-cell-style"{ background: #f5f7fa }" class"parent-table" :span-method"obj…

啥!GitHub Copilot也免费使用了

文章目录 前言免费版直接修复代码多文件上下文Agent模式总结 前言 最近&#xff0c;GitHub 给开发者们带来了一个好消息&#xff1a;他们的 AI 编程助手 GitHub Copilot 现在可以免费使用了&#xff01;以前&#xff0c;每个月要花 10 美元才能享受的服务&#xff0c;现在对所…

电池预测 | 第21讲 基于Gamma伽马模型结合EM算法和粒子滤波算法参数估计的锂电池剩余寿命预测

电池预测 | 第21讲 基于Gamma伽马模型结合EM算法和粒子滤波算法参数估计的锂电池剩余寿命预测 目录 电池预测 | 第21讲 基于Gamma伽马模型结合EM算法和粒子滤波算法参数估计的锂电池剩余寿命预测预测效果基本描述程序设计参考资料 预测效果 基本描述 电池预测 | 第21讲 基于Ga…

RabbitMQ高级篇

目录 确保发送者的可靠 为什么需要确保发送者的可靠性 RabbitMQ 的发送者重连机制配置 springAMQP实现发送者确认 MQ的可靠性 为什么需要实现MQ的可靠性&#xff1f; 数据持久化 Lazy Queue 核心思想 总结RabbitMQ 如何保证消息的可靠性 持久化 Lazy Queue 消息…

单细胞组学大模型(8)--- scGenePT,scGPT和GenePT的结合,实验数据和文本数据的交融模型

–https://doi.org/10.1101/2024.10.23.619972 研究团队和单位 Theofanis Karaletsos–Head Of AI - Science at Chan Zuckerberg Initiative &#xff08;Chan Zuckerberg Initiative是扎克伯格和他妻子Chan成立的科研&教育机构&#xff09; 研究简介 研究背景&…

浅尝Appium自动化框架

浅尝Appium自动化框架 Appium自动化框架介绍Appium原理Appium使用安装平台驱动实战 坑 Appium自动化框架介绍 Appium 是一个开源的自动化测试框架&#xff0c;最初设计用于移动应用的测试&#xff0c;但现在它也扩展了对桌面端应用的支持。Appium 使得自动化测试变得更加简单&…

2024年度漏洞态势分析报告,需要访问自取即可!(PDF版本)

2024年度漏洞态势分析报告&#xff0c;需要访问自取即可!(PDF版本),大家有什么好的也可以发一下看看

nvim 打造成可用的IDE(2)

上一个 文章写的太长了&#xff0c; 后来再写东西 就一卡一卡的&#xff0c;所以新开一个。 主要是关于 bufferline的。 之前我的界面是这样的。 这个图标很不舒服有。 后来发现是在这里进行配置。 我也不知道&#xff0c;这个配置 我是从哪 抄过来的。 测试结果&#xff1…

【hadoop学习遇见的小问题】centos常见配置 添加组用户权限 修改主机名等

1、指定静态ip vi /etc/sysconfig/network-scripts/ifcfg-eth0修改BOOTPROTO为static BOOTPROTOstatic IPADDR192.168.80.145 NETMASK255.255.255.0 GATEWAY192.168.80.2IPADDR、NETMASK用ifconfig命令即可查看 GATEWAY如何查看&#xff08;编辑—虚拟网络编辑器—上面选择NA…

口碑很好的国产LDO芯片,有哪些?

在几乎任何一个电路设计中&#xff0c;都可能会使用LDO&#xff08;低压差线性稳压器&#xff09;这个器件。 虽然LDO不是什么高性能的IC&#xff0c;但LDO芯片市场竞争异常激烈。最近几年&#xff0c;诞生了越来越多的精品国产LDO&#xff0c;让人看得眼花缭乱。 业内人士曾经…

大模型训练(2):内存开销

模型训练中的存储消耗 1 存储分类 首先&#xff0c;在大模型训练的过程中&#xff0c;GPU都需要存什么内容&#xff1a;存储主要分为两大块&#xff1a;Model States和Residual States Model State&#xff1a;指和模型本身息息相关的&#xff0c;必须存储的内容&#xff0c…

【数据结构高阶】B-树

目录 一、常见的搜索结构 二、B树 2.1 B树的概念 2.2 B树插入数据的分析 2.3 B树的性能分析 2.4 模拟实现B树 2.4.1 B树节点的定义 2.4.2 B树数据的查找 2.4.3 B树节点的数据插入 2.4.4 B树的遍历 2.4.5 模拟实现B树实现的完整代码 三、B树 3.1 B树的概念 3.2 B树…