【学习】注意力机制(Attention)和 自注意力机制(self-Attention)

参考B站:09 Transformer 之什么是注意力机制(Attention)

1. 注意力机制(Attention)

在这里插入图片描述
红色的是科学家们发现,如果给你一张这个图,你眼睛的重点会聚焦在红色区域

人–》看脸

文章看标题

段落看开头

后面的落款

这些红色区域可能包含更多的信息,更重要的信息

注意力机制:我们会把我们的焦点聚焦在比较重要的事物上

Q、K、V

我(查询对象 Q),这张图(被查询对象 V),图中包含的模块(K)。
我看这张图,第一眼,我就会去判断哪些东西对我而言更重要,哪些对我而言又更不重要(去计算 Q 和 V 里的事物的重要度)

重要度计算,其实是不是就是相似度计算(更接近),点乘其实是求内积(数学中的原理,两个矩阵点乘得到的值越大,证明两个矩阵越相似。)
Q 、 K = k 1 , k 2 , ⋅ ⋅ ⋅ , k n Q、K=k_1,k_2,···,k_n QK=k1k2⋅⋅⋅kn
通过点乘的方法计算Q 和 K 里的每一个事物的相似度,就可以拿到 Q 和
k 1 k1 k1的相似值 s 1 s1 s1,Q 和 k 2 k2 k2的相似值 s 2 s2 s2,Q 和 k n kn kn的相似值 s n sn sn.

进一步做 s o f t m a x ( s 1 , s 2 , ⋅ ⋅ ⋅ , s n ) softmax(s_1,s_2,···,sn) softmaxs1,s2,⋅⋅⋅,sn,便可以得到概率值 a 1 , a 2 , ⋅ ⋅ ⋅ , a n a_1,a_2,···,a_n a1a2⋅⋅⋅an
在这里插入图片描述
我们还得进行一个汇总,当你使用 Q 查询结束了后,Q 已经失去了它的使用价值了,我们最终还是要拿到这张图片的,只不过现在的这张图片,它多了一些信息(多了于我而言更重要,更不重要的信息在这里)。
V = ( v 1 , v 2 , ⋅ ⋅ ⋅ , v n ) = ( a 1 , a 2 , ⋅ ⋅ ⋅ , a n )•( v 1 , v 2 , ⋅ ⋅ ⋅ , v n ) = ( a 1 ∗ v 1 + a 2 ∗ v 2 + ⋅ ⋅ ⋅ + a n ∗ v n ) = V ′ V = (v_1,v_2,···,v_n)=(a_1,a_2,···,a_n)•(v_1,v_2,···,v_n)=(a_1*v_1 + a_2*v_2 + ··· + a_n*v_n )= V' V=(v1v2⋅⋅⋅vn=a1a2⋅⋅⋅anv1v2⋅⋅⋅vn=(a1v1+a2v2+⋅⋅⋅+anvn)=V

这样的话,就得到了一个新的 V’,这个新的 V’ 就包含了,哪些更重要,哪些不重要的信息在里面,然后用 V’ 代替 V。一般 K=V。

理解

注意力机制就是接收一个输入的东西(模型里面可能是特征),利用注意力机制找出图像中和该特征最相似的区域,该区域应该是提取出特征的区域,我们应该更加关注。

Transformer之自注意力机制(self-Attention)

Self-Attention 的关键点在于: K≈V≈Q 来源于同一个 X,这三者是同源的。
通过 X 找到 X 里面的关键点。
并不是 K=V=Q=X,而是通过三个参数 W Q , W K , W V W_Q,W_K,W_V WQ,WK,WV,接下来的步骤和注意力机制一模一样。

1.Q、K、V的获取

在这里插入图片描述
这里的 q 1 q_1 q1 q 2 q_2 q2 是由 x 1 x_1 x1 x 2 x_2 x2 W Q W_Q WQ 相乘得到的
k 1 k_1 k1 k 2 k_2 k2 是由 x 1 x_1 x1 x 2 x_2 x2 W K W_K WK 相乘得到的
v 1 v_1 v1 v 2 v_2 v2 是由 x 1 x_1 x1 x 2 x_2 x2 W V W_V WV 相乘得到的

这里的Q、K、V都来自于 x 1 x_1 x1 x 2 x_2 x2 ,所以是同源的。

2. Matmul (Q、K点乘,这里会和每个k进行点乘)

在这里插入图片描述
这里会先进行Q、K相乘,得到其相似值。

3.Scale+Softmax(对Q、K点乘结果进行softmax):

在这里插入图片描述
将Q、K相乘的相似值通过softmax,转为概率。

4. Matmul(得到的V1,并通过V1得到Z1):在这里插入图片描述

将前面softmax得到的概率值0.88,再与 v 1 v_1 v1相乘, v 1 ∗ 0.88 v_1*0.88 v10.88 得到一个新的向量值 v 1 v_1 v1
此时的 v 2 v_2 v2的概率值是0.12, v 2 ∗ 0.12 v_2*0.12 v20.12 得到一个新的向量值 v 2 v_2 v2

最终的 z 1 = v 2 + v 2 z_1= v_2 + v_2 z1=v2+v2, z 1 z_1 z1 中包含了 v 1 v_1 v1 v 2 v_2 v2的信息。

z 1 z_1 z1表示的就是 thinking 的新的向量表示,对于 thinking,初始词向量为 x 1 x_1 x1

现在我通过 thinking machines 这句话去查询这句话里的每一个单词和 thinking 之间的相似度,新的 z 1 z_1 z1依然是 thinking 的词向量表示,只不过这个词向量的表示蕴含了 thinking machines 这句话对于 thinking 而言哪个更重要的信息。

举个例子:
在这里插入图片描述
这里的 its 做了自注意力,其包含了这句话所有词的信息,并且对Law的相似度最高,所以这里的its最有可能代表its。
但是如果不做自注意力,这里的 its 就是单纯的三个字母 its,并没有包含任何信息。
也就是说 its 有 law 这层意思,而通过自注意力机制得到新的 its 的词向量,则会包含一定的 laws 和 application 的信息

自注意力矩阵表示:

Q 、K、V的获取

在这里插入图片描述

Z矩阵的获取

在这里插入图片描述

Z矩阵的表示

在这里插入图片描述
最终Z矩阵中就有每个单词和每个单词联系的概率值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTTP 常见的状态码以及其适用场景

是什么 HTTP状态码(英语:HTTP Status Code),用以表示网页服务器超文本传输协议响应状态的3位数字代码 它由 RFC 2616规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774与 RFC 4918等规范扩展 简单来讲&#…

【Linux ARM 裸机】开发环境搭建

1、Ubuntu 和 Windows 文件互传 使用过程中,要频繁进行 Ubuntu 和 Windows 的文件互传,需要使用 FTP 服务; 1.1、开启 Ubuntu 下的 FTP 服务 //安装 FTP 服务 sudo apt-get install vsftpd //修改配置文件 sudo vi /etc/vsftpd.conf//重启…

Redis数据库:高可用集群架构

目录 前言 一、Redis数据库高可用 二、Redis 主从复制 1、Redis主从复制概述 1.1 Redis主从复制概念 1.2 Redis主从复制的作用 1.3 Redis主从复制的流程 2、搭建Redis主从复制 2.1 环境部署 2.2 主服务器修改配置文件 2.3 从服务器修改配置文件 2.4 测试主从复制效…

解决方案AssertionError: Torch not compiled with CUDA enabled

文章目录 一、现象二、解决方案 一、现象 报错显示 s torch.from_numpy(padding_seq([s])).cuda().long() File "D:\Anaconda3\lib\site-packages\torch\cuda\__init__.py", line 221, in _lazy_initraise AssertionError("Torch not compiled with CUDA ena…

Linux -- 字符设备驱动--LED的驱动开发(初级框架)

驱动框架一阶段 我们怎样去点亮一个 LED 呢?分为三步: 看原理图确定引脚,确定引脚输出什么电平才能点亮/熄灭 LED 看主芯片手册,确定寄存器操作方法:哪些寄存器?哪些位?地址是? 编…

[数据结构]不带头单向非循环链表

我们有学过,顺序表如何制作,还有一个与其非常相似的结构就是链表的制作,不过链表在数据中的存储不像顺序表一样是按照内存的顺序进行存储的,其在内存中是一块一块的进行存储,具体如何我们可以看看下面这张图 此链表有一个头指针p…

线程安全性问题的原因

1.抢占式执行随机调度 这里的意思就是,当两个线程同时启动的时候,两个线程会同时进行,并且是抢占式执行的。 而且是随机调度资源的。 如代码: public class Deome4 {public static void main(String[] args) {Thread t1 new …

2024单品正价起号,直播素材投流选品,【选品课】+【投流课】+【素材课】+【卡首屏】

课程下载:https://download.csdn.net/download/m0_66047725/89064168 更多资源下载:关注我。 课程内容: 01 01 1.如何养账号过风控,mp4 01 1.如何搭建一条计划(1)..mp4 02 1.如何搭建一条计划(2)..mp4 02 02 2.单品起号方案如何选择,mp4 03 2.-比…

【ONE·基础算法 || 字符串】

总言 主要内容:编程题举例,熟悉理解字符串类题型。       文章目录 总言1、字符串2、最长公共前缀(easy)2.1、题解 3、最长回文子串 (medium)3.1、题解 4、二进制求和(easy):高精度加法4.1、…

2.网络编程-HTTP和HTTPS

目录 HTTP介绍 HTTP协议主要组成部分 GET 和 POST有什么区别 常见的 HTTP 状态码有哪些 http状态码100 HTTP1.1 和 HTTP1.0 的区别有哪些 HTTPS 和 HTTP 的区别是什么 HTTP2 和 HTTP1.1 的区别是什么 HTTP3 和 HTTP2 的区别是什么 HTTPS的请求过程 对称加密和非对称…

armlinux裸机-uart

uart是一对一的串行异步全双工通信通信协议,串行速度较慢(usart支持同步通信) 传输原理 多个参数可以设置 为满足使用需求,我们一般都用带fifo缓冲中断。 我们使用S3C2440芯片,具体寄存器操作可以查看用户手册

积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)

文章目录 积木报表Excel数据量大导出慢导不出问题、大量数据导不出问题优化方案和分析解决思路(优化前一万多导出失败,优化后支持百万级跨库表导出)优化结果需求背景和解决方案的思考解决方案流程描述:关键代码引入easy excel新建…

CentOS7.9.2009安装elasticsearch7.11.1(单节点)

本文章使用CentOS7.9.2009服务器安装elasticsearch7.11.1软件 1.服务器信息 [root@elasticsearch ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@elasticsearch ~]# [root@elasticsearch ~]# cat /etc/hosts | grep elasticsearch 192.168.10.24…

如何理解图像处理领域的病态问题(ill-posed problem)

ill-posed problem,我们可以理解为病态问题或者不适定问题。在本文中,统一成为不适定问题。 在讨论不适定问题(ill-posed problem)之前,我们先来看一下什么叫适定性问题(well-posed problem)。…

14届蓝桥杯 C/C++ B组 T7 子串简写 (字符串)

采用存储目标字符下标的方法,此题的想法比较新奇,故予以记录。 存好下标之后,可以先定位好启始的字符,然后去搜结尾字符符合长度k并且最靠近启始字符的下标,找到之后可以直接取到这个下标之后的所有下标,因…

3d怎么在一块模型上开个孔---模大狮模型网

在进行3D建模时,有时候需要在模型上创建孔,以实现特定的设计需求或功能。无论是为了添加细节,还是为了实现功能性的要求,创建孔都是常见的操作之一。本文将介绍在3D模型上创建孔的几种常用方法,帮助您轻松实现这一目标…

免费全开源,功能强大的多连接数据库管理工具:DbGate

DbGate:您的全能数据库指挥中心,一站式免费开源解决方案,无缝连接并管理多款主流数据库,让复杂的数据世界变得轻松易控! - 精选真开源,释放新价值。 概览 DbGate 是跨平台的数据库管理器。支持 MySQL、PostgreSQL、SQ…

新零售SaaS架构:客户管理系统架构设计(万字图文总结)

什么是客户管理系统? 客户管理系统,也称为CRM(Customer Relationship Management),主要目标是建立、发展和维护好客户关系。 CRM系统围绕客户全生命周期的管理,吸引和留存客户,实现缩短销售周…

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

Android Studio学习15——多页面情况下再看Activity生命周期

按返回键退出APP时: 走正常页面的退出流程:onPause–>onStop–>onDestroy(会Destroy,因为它从任务栈中退出了) 再点击图标回来时: 走正常页面的创建流程:onCreate–>onStart–>onResume 按Home键退出App时&#xff1a…