【Self-Attention——Transform—Bert】相关的基础理论

1.Self-Attention模型图解

在这里插入图片描述
传统的循环神经网络,如上左图1,并不能解决并行化的问题,右图就是一个self-Attention可以实现并行化,并且能解决对于所有信息的读取利用。

将self—Attention替换相应的GRU或者RNN,就能实现从输出a到输出b,每一个b都能看到a1-a4的信息,同时b的计算还能实现并行化。

Self-Attention就是来自于《Attention is all you need》这篇文献当中,可以通过下面的链接进行下载:

https://arxiv.org/abs/1706.03762

1.1 Self-Attention解决方案

在这里插入图片描述
如图相应的X是作为输入,每一个输入x都乘以一个权重W,得到αi。

在这里插入图片描述

然后将每一个α都拆分为三个向量,q,k,v的三个。qk主要完成Attention的工作,v完成抽取序列信息。

Q:其中q用于去与其他向量进行匹配计算

K:是用于被匹配计算的向量

V:用于抽取相应序列的信息

在这里插入图片描述
在这里插入图片描述

拿每个queryq去对每个key k做attention
主动用当前的Q,与自己和其他输出的k进行attention计算
在这里插入图片描述
qk做点乘,其中还除去维度d,d是q、k的维度。
在这里插入图片描述
其中做完相应的Attention后还需要,进行softmax,获取相应的α帽。就是注意力的分布
在这里插入图片描述
而b,是当前的q计算得到的attention值α与每个输入的v进行相互乘,并且累加得到,获取到了当前时刻所有输入数据的信息。同理得到b2
在这里插入图片描述
同理得到a2、b2,是当前的q2与其他的k、与其他的v计算分别得到attention值和序列信息值。
在这里插入图片描述

1.2 总结

在这里插入图片描述
因为每个值阿尔法,都是分别计算得到的,所以不需要依靠计算上一个节点。

并且通过分出三个向量,实现对于每个节点的信息的运用。

2. Self-Attention的数学理论基础

对于每一个输入的x,都可以经过一个相应的矩阵W的计算,得到相应的q,k,v。
在这里插入图片描述
其中对于每个的a进行拼接向量,得到I矩阵,乘以相应的W,就得到Q矩阵。
在这里插入图片描述
同理得到相应的K矩阵
在这里插入图片描述
同理得到相应的V矩阵
在这里插入图片描述
相应的A帽矩阵,如下所示,是根据相应的A矩阵softma变换得到Attention
在这里插入图片描述
所以A矩阵就是为K矩阵与Q矩阵变换得到
在这里插入图片描述
将得到的A矩阵进行Softmax计算得到相应的A帽矩阵
在这里插入图片描述
B帽矩阵 = A帽矩阵* V矩阵
在这里插入图片描述
所以相应的Self-Attention就是相应的矩阵的变换得到,输入的数据为I矩阵,经过W矩阵得到相应的QKV矩阵

K矩阵转置,与Q矩阵计算得到A矩阵,A矩阵归一化后得到Attention

将Attention后的结果乘以V,就得到了序列化的数据矩阵O,作为输出。

在这里插入图片描述

3. Multi-Head-self Attention(多头自注意力模型)

下面主要演示双头的注意力模型,一般来说都是选用偶数头

多头,一般就是将相应的QKV进行拆分,拆分成相应的几头

多头的注意力模型,可以更加细节的发现局部的信息。所以可以解决局部信息,如果更加看重局部信息的时候,多头的模型就是比较合适的。
在这里插入图片描述

4 Transform

在这里插入图片描述
.
在这里插入图片描述

5.Bert理论基础

在这里插入图片描述

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

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

相关文章

单片机原理及应用复习

单片机原理及应用 第二章 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为 2us 。 时钟周期Tocs1focs 机器周期 Tcy12focs 指令周期:一条指令所用的时间,单字和双字节指令一般为单机器周期和双机器周期。 AT89S5…

Github 2024-06-02 开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-02统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5TypeScript项目2Jupyter Notebook项目1Kotlin项目1Vue项目1Shell项目1ChatTTS:日常对话生成式语音模型 创建周期:4 天开发语言:J…

Java集合框架源码分析:LinkedHashMap

文章目录 一、LinkedHashMap集合简介二、LinkedHashMap集合底层的数据结构三、优缺点 一、LinkedHashMap集合简介 LinkedHashMap是Java中的一种特殊的数据结构,它是HashMap的一个子类,并实现了Map接口。LinkedHashMap是HashMap和双向链表的结合体&#…

Sentinel限流学习

Sentinel限流学习 初识Sentinel运行sentinel雪崩问题服务保护技术对比微服务整合Sentinel 限流规则簇点链路 流控模式-关联流控模式-链路流控模式有哪些? 流控效果流控效果-warm up流控效果-排队等待 热点参数限流隔离和降级Feign整合Sentinel线程隔离有两种方式实现…

【论文复现|智能算法改进】基于多策略麻雀搜索算法的机器人路径规划

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】麻雀搜索算法(SSA)原理及实现 2.改进点 改进的无限折叠迭代混沌映射 无限折叠迭代映射(ICMIC) 常用于图像加密方向的研究, 基本思想是首先生成[0,1]之间的混沌序列, …

摸鱼大数据——Hive函数10-12

10、堆内存错误 报错: Error while processing statement: FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Java heap space 解决方案: 在node1上面操作即可 方式1: 找到/export/server/hive/conf/hive-env.sh,添…

CTF本地靶场搭建——静态flag题型的创建

静态flag题型的创建 首先这里要说的是静态flag和动态flag。 在CTF(Capture The Flag)比赛中,静态flag的使用通常与特定的赛制或题目类型关联,而不是直接与题型绑定。静态flag意味着这些flag是预先设定好的,不会随比…

LangChain进行文本摘要 总结

利用LangChain进行文本摘要的详细总结 LangChain是一个强大的工具,可以帮助您使用大型语言模型(LLM)来总结多个文档的内容。以下是一个详细指南,介绍如何使用LangChain进行文本摘要,包括使用文档加载器、三种常见的摘…

MySQL 导出导入的101个坑

最近接到一个业务自行运维的MySQL库迁移至标准化环境的需求,库不大,迁移方式也很简单,由开发用myqldump导出数据、DBA导入,但迁移过程坎坷十足,记录一下遇到的各项报错及后续迁移注意事项。 一、 概要 空间问题源与目…

排序进阶----快速排序

当我们写了插入和希尔排序后,我们就应该搞更难的了吧。大家看名字就知道我们这篇博客的内容了吧。而且从名字上来看。快速排序就很快吧。那么为什么这个排序怎么能叫快速排序啊。我们希尔排序不是很快嘛。那么我们的快速排序肯定是有特殊之处嘞。不然这就太自负了。…

autodl服务器中YOLOx训练自己数据集

目录 本篇文章主要讲解使用YOLOx训练自己数据集,其中包括数据集格式转换~ 目录 一、数据集处理二、环境配置三、配置文件修改四、开始训练五、开始验证 一、数据集处理 第一步:将yolo格式的数据集转换成VOC格式 转换脚本:txt_to_xml.py f…

[力扣题解] 222. 完全二叉树的节点个数

题目&#xff1a;222. 完全二叉树的节点个数 思路 随便一种遍历方式都行 代码 Method 1 : Me class Solution { public:int countNodes(TreeNode* root) {if(root NULL){return 0;}int result 0;queue<TreeNode*> que;que.push(root);while(!que.empty()){ resu…

Unity DOTS技术(二)ECS

文章目录 一.ECS简介二.基本操作实例三.实体查看组件四.位置实体修改五.旋转实体六.了解原有属性七.禁止自动创建八.动态实例化 一.ECS简介 ECS全称 (Entity Component System).即(E:实体 C:组件 S:系统). 实际上即是数据方法分离.数据放在组件里,具体实现放在系统里.组件挂载…

Debian系统磁盘挂载

服务器推荐&#xff1a;雨云 优惠码&#xff1a;zsj 用优惠码注册账户并绑定微信后可获取首月5折优惠券&#xff1b; 后续新购主机也可在积分商城中换取新购优惠券&#xff1b; 公测阶段的超大带宽服务器&#xff0c;由于是国内主机因此需要备案域名。 公测阶段价格尚未确定&am…

google的chromedriver最新版下载地址

Chrome for Testing availability (googlechromelabs.github.io) 复制对应的地址跳转进去即可下载&#xff0c;下载前先看下自己google浏览器版本&#xff0c;找到对应的版本号去下载&#xff0c;把解压缩的exe放到google浏览器目录下。

使用python统计word文档页数

使用python统计word文档页数 介绍效果代码 介绍 使用python统计word文档的页数 效果 代码 import os import comtypes.clientdef get_word_page_count(docx_path):try:# Initialize the COM objectword comtypes.client.CreateObject(Word.Application)word.Visible False…

嵌入式人工智能开发:基于TensorFlow Lite和Edge TPU的实时对象检测系统

文章目录 引言环境准备人工智能在嵌入式系统中的应用场景代码示例常见问题及解决方案结论 1. 引言 随着人工智能&#xff08;AI&#xff09;和物联网&#xff08;IoT&#xff09;技术的快速发展&#xff0c;嵌入式系统中集成AI技术已成为一种趋势。实时对象检测是AI在嵌入式…

【JavaScript】JS语法基础

逗号运算符 逗号运算符可以用于分隔多个子表达式&#xff0c;从左到右执行每个表达式&#xff0c;并返回最后一个子表达式的值作为整个表达式的结果 let x 1; x (x, x); console.log(x); // Expected output: 2x (2, 3); console.log(x); // Expected output: 3Function 对…

Outpainting Inpainting

文章目录 what is Inpainting&#xff08;补画&#xff09;?what is Outpainting&#xff08;扩画&#xff09;?The way to realize Outpainting summaryOthers what is Inpainting&#xff08;补画&#xff09;? 称为图像修复或图像填充&#xff0c;是一种技术&#xff0c;…