transformer详解

news2024/11/17 21:24:35

transformer详解

  • 1.从全局角度概括transformer
  • 2.位置编码详细解读
  • 3.注意力机制
  • 4.残差连接
  • 5.Batch Normal
  • 6.layer normal
  • 7.decode

1.从全局角度概括transformer

在这里插入图片描述

在这里插入图片描述

一个典型的编码器-解码器的结构,类似于sequence-to-sequence
在这里插入图片描述

在这里插入图片描述
这6(可以自己定)个encode,decode在结构上是完全相同的,但是参数不是完全相同的
训练的时候,不是训练了一个encode,然后copy 6次,而是6个encode多在训练
在这里插入图片描述

2.位置编码详细解读

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

在这里插入图片描述
在这里插入图片描述
RNN是共享一套参数
在这里插入图片描述

transformer是并行处理的,不同于RNN(先处理’我’,再处理‘爱’…),这样做增快了速度,但忽略了单词之间的先后关系
在这里插入图片描述
这里的2i表示偶数,2i+1表示奇数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正余弦函数对于同一个位置,同一个pos,不同的向量,使用不同的sin或者cos,体现出的是绝对位置信息
根据公式(2)三角函数的性质,我们可以推导出(3)
以第一行为例,对于‘我爱你’,pos+k代表‘你’,pos代表‘我’,k代表‘爱’
也就是说‘我爱你’中的‘你’可以被pos(‘我’),k(‘爱’)两者线性组合起来,这种组合意味着绝对位置向量中蕴含了相对位置信息

3.注意力机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
做softmax归一化,归一化后得到一个相似度向量,再乘V,得到一个加权的和
在这里插入图片描述
Q代表婴儿对应的某种向量
左上,左下,右上,右下分别代表Key1,Key2,Key3,Key4的某种向量
V1,V2,V3,V4也是左上,左下,右上,右下对应的某种值向量value

首先是婴儿和左上,左下,右上,右下分别做点乘得到某个值
(为什么要点乘?在相似度计算的时候有是三种方式,分别为点乘,MLP,cos相似性。其中点乘是一个向量在另一个向量上投影的长度,是一个标量,可以反映两个向量之间的相似度,也就是说两个向量越相似,点乘结果越大)
判断婴儿和左上,左下,右上,右下四个区域,哪个点乘的结果最大,结果越大,距离越靠近,越相似,我越关注
比如与左上,左下,右上,右下点乘后分别为0.7 ,0.1 ,0.1 ,0.1 ,
就与左上最相似,然后将0.7 ,0.1 ,0.1 ,0.1 ,再与V矩阵相乘,得到的就是attention value,就是一个加权和

下面在讲解一下NLP中的例子
在这里插入图片描述

S1,S2,S3,S4就是点乘后的值,
然后softmax得到相似度a1,a2,a3,a4(相加=1)
在这里插入图片描述

在这里插入图片描述
X1 * W^Q = q1
X1 * W^K = k1
X1 * W^V = v1

X2 * W^Q = q2
X2 * W^K = k2
X2 * W^V = v2

接下来我们就要做attention value
在这里插入图片描述

在这里插入图片描述
还有要注意多头
这里我们只用了一套参数,但实际上我们是用了多套参数
在这里插入图片描述
在不同的参数中的得到不同的Z
在这里插入图片描述
最后我们要将多个头合在一起进行输出,然后再乘以一个矩阵,就得到多头注意力机制的输出

4.残差连接

Multi-Head Attention 上方还包括一个 Add & Norm 层,Add 表示残差连接 (Residual Connection) 用于防止网络退化,Norm 表示 Layer Normalization,用于对每一层的激活值进行归一化。

在这里插入图片描述
X + Z是一个残差的结果,再经过Layer Normalization
这里的Z表示其中的f(x)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

残差就是缓解了梯度消失,可以将NLP模型往深了做
在这里插入图片描述

5.Batch Normal

在这里插入图片描述
在这里插入图片描述
特征缩放
在这里插入图片描述
X1,X2,X3…表示班级里面的人,每一行代表他们的一个特征,身高体重…

在这里插入图片描述
在这里插入图片描述
比如一个班有50个人,我们选10个人的身高作为batch_size,去预测其他40个人的身高
如果选的人太少,效果不好

在这里插入图片描述
在这里插入图片描述
现在有一堆样本,batch_size为10
有9个长度为5,还有一个长度为20
这样我们在输入时前5个单词的均值和方差可以算出来
但第6个单词到第20个单词我们的均值和方差没法算

6.layer normal

在这里插入图片描述
在这里插入图片描述
比如最后一个句子是20个单词,LN就是对这个20个单词去做缩放,去做他的均值和方差(横过来的)
BN就是分别对第一个单词做均值和方差,第二个单词做均值和方差…

在这里插入图片描述

在这里插入图片描述
feed forward是一个两层的全连接

7.decode

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

在这里插入图片描述
所有encode的输出生成某种值,和每一个

encode中生成K,V矩阵,decode中生成Q矩阵
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

接口文档swagger2的使用

Spring-接口文档swagger2 1、swagger/knife4j 接口文档配置 ​ knife4j是swagger的增强版本&#xff0c;更加的小巧、轻量&#xff0c;功能也是更加的完善&#xff0c;UI也更加的清晰&#xff1b;可以从swagger到knife4j无缝切换。 1.1 引入相关依赖 <!--接口文档的开发:…

FastDeploy项目简介,使用其进行(图像分类、目标检测、语义分割、文本检测|orc部署)

FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xff0c;并实现&#x1f51a;端到端的推理性能优化。包括 物…

Django从入门到精通(三)

目录 七、ORM操作 7.1、表结构 常见字段 参数 示例 7.2、表关系 一对多 多对多 第一种方式 第二种方式 7.3、连接MYSQL 7.4、数据库连接池 7.5、多数据库 读写分离 分库&#xff08;多个app ->多数据库&#xff09; 分库&#xff08;单app&#xff09; 注意…

坚持刷题 | 平衡二叉树

文章目录 题目考察点代码实现实现总结对实现进一步改进扩展提问 坚持刷题&#xff0c;老年痴呆追不上我&#xff0c;今天继续二叉树&#xff1a;平衡二叉树 题目 110.平衡二叉树 考察点 递归能力&#xff1a; 能否使用递归来解决问题。树的基本操作&#xff1a;能否正确地访…

10.Elasticsearch应用(十)

Elasticsearch应用&#xff08;十&#xff09; 1.为什么需要聚合操作 聚合可以让我们极其方便的实现对数据的统计、分析、运算&#xff0c;例如&#xff1a; 什么品牌的手机最受欢迎&#xff1f;这些手机的平均价格、最高价格、最低价格&#xff1f;这些手机每月的销售情况如…

常用电子器件学习——光耦

光耦介绍 光耦合器一般由三部分组成&#xff1a;光的发射、光的接收及信号放大。 输入的电信号驱动光发射源&#xff0c;使之发光&#xff0c;被光探测器接收而产生光电流&#xff0c;再经过进一步放大后输出。这就完成了电—光—电的转换&#xff0c;从而起到输入、输出、隔离…

Ubuntu 22.04安装Nginx负载均衡

君衍. 一、编译安装Nginx二、轮询算法实现负载均衡三、加权轮询算法实现负载均衡四、ip_hash实现负载均衡 一、编译安装Nginx 这里我们先将环境准备好&#xff0c;我使用的是Ubuntu22.04操作系统&#xff1a; 这个是我刚安装好的&#xff0c;所以首先我们进行保存快照防止安装…

APP出海广告变现对接Admob

AdMob成立于2006年&#xff0c;并于2009年被Google收购。从那以后&#xff0c;AdMob在游戏及应用广告变现的重要性不断上升。凭借Google的血统&#xff0c;AdMob广告网络拥有其他广告平台不具备的优势&#xff1a;它可以访问无数的Google广告客户数据库。不仅如此&#xff0c;A…

线性代数速通

二---矩阵 逆矩阵 抽象矩阵求逆 数字型矩阵求逆 二阶矩阵求逆秒杀 解矩阵方程 方阵 伴随矩阵 三---向量组的线性相关性 线性表示 数字型向量组 线性相关性判断 抽象型向量组 线性相关性判断 向量组的秩与极大无关组 四---线性方程组 齐次方程组 基础解系 通解 非齐…

数学建模绘图

注意&#xff1a;本文章旨在记录观看B站UP数模加油站之后的笔记文章&#xff0c;无任何商业用途~~ 必备网站 以下网站我都试过&#xff0c;可以正常访问 配色&#xff08;取色&#xff09;网站&#xff1a; Color Palettes Generator and Color Gradient Tool Python&#x…

【论文阅读笔记】Towards Universal Unsupervised Anomaly Detection in Medical Imaging

Towards Universal Unsupervised Anomaly Detection in Medical Imaging arxiv&#xff0c;19 Jan 2024 【开源】 【核心思想】 本文介绍了一种新的无监督异常检测方法—Reversed Auto-Encoders (RA)&#xff0c;旨在提高医学影像中病理检测的准确性和范围。RA通过生成类似健…

1990-2019年城市维度区域创新创业指数面板数据/地级市创新创业指数面板数据

1990-2019年城市维度区域创新创业指数面板数据/地级市创新创业指数面板数据 1、时间&#xff1a;1990-2019年 2、范围&#xff1a;地级市&#xff08;290&#xff09; 3、指标&#xff1a;序号、年份、城市码、城市、总维度&#xff1a;总量指数得分、人均得分、单位面积得分…

《WebKit 技术内幕》学习之十(4): 插件与JavaScript扩展

4 Chromium扩展机制 4.1 原理 Chromium的扩展&#xff08;Extension&#xff09;机制 (1) 原先是Chromium推出的一项技术&#xff0c;该机制能够扩展浏览器的能力&#xff0c;例如笔者使用的一个扩展实例名为“switchy proxy”&#xff0c;它可以帮助用户方便的切换Chromium…

阿里云服务器4核16G3M32.25元,4核32G10M113.24元深度测评与购买建议

2024年1月24日&#xff0c;阿里云再次为用户带来了惊喜&#xff0c;推出了两款极具性价比的特价云服务器。其中&#xff0c;4核16G3M带宽的特惠价格仅为32.25元/月、96.75元/3个月&#xff0c;而4核32G10M带宽的特惠价格也仅为113.24元/月、339.72元/3个月。那么&#xff0c;这…

Redis性能运行参数的监测工具 - WGCLOUD

WGCLOUD是一款开源免费的运维监控平台&#xff0c;可以监测Redis的运行情况&#xff0c;比如redis的Key数量&#xff0c;过期Key数量&#xff0c;Redis的端口号&#xff0c;Redis的版本&#xff0c;同步状态&#xff0c;集群模式&#xff0c;使用内存等等数据 中间件Redis监测…

java基础:随机生成几个整数存放到数组里并按顺序输出案例分析

思路分析 具体步骤如下&#xff1a; 创建一个数组&#xff0c;用于存放生成的随机数。 定义最大值和最小值&#xff0c;用于限定随机数的取值范围。 使用循环和Random类中的方法生成随机数&#xff0c;并将其添加到数组中。 使用Arrays类中的sort()方法对数组进行排序&#…

牛客——都别吵吵了,我才是签到(质因数分解和统计质因数次数)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 陶陶刚上一年级&#xff0c;今天数学课上老师教了乘法和除法&#xff0c;老师留了一道课后习题&#xff0c;陶陶很快地写完了&#xff0c;现在想请你帮助他检查一下是否和答案一致。…

应急响应红蓝工程师白帽子取证Linux和windows入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除

应急响应红蓝工程师白帽子取证Linux入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除。 一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡)、服务器资源被耗尽(挖矿程序)、不正常的端口连接(反向shell等)、服务…

简单模拟实现一个线程池

废话不多说之间上代码 import java.util.ArrayList; import java.util.List; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue;public class MyThreadPoolExecutor {private List<Thread> listnew ArrayList<>();pri…

安全防御综合组网实验

题目 要求 生产区在工作时间可以访问服务器区&#xff0c;仅可以访问http服务器。办公区全天可以访问服务器区&#xff0c;其中10.0.2.20 可以访问FTP服务器和http服务器。10.0.2.10仅可以ping通10.0.3.10。办公区在访问服务器区时采用匿名认证的方式进行上网行为管理。办公区…