transformer与beter

transformer与beter

  • 解码和编码器含义
  • tokizer标记器和one-hot独热编码
  • 编码解码--语义较好的维度空间
  • 矩阵相乘--空间变换
  • 编码理解
  • 如何构造降维的嵌入矩阵--实现到达潜空间
  • 上面是基础,下面是transformer正文
    • 自注意力机制
      • 注意力分数--上下文修正系数
      • 为什么需要KQ两个矩阵,并且还是转置,进行相乘?
    • 交叉注意力机制
    • 绝对位置编码--对输入的数据进行修饰
    • 相对位置编码--修饰在注意力分数上面
    • 多头注意力机制
  • 解码器掩码---正则残差
    • 模型框架

入门1:从编解码和词嵌入开始,一步一步理解Transformer,注意力机制(Attention)的本质是卷积神经网络(CNN) - YouTube

中英文翻译大概原理就是:把中文的token和英文的token,分别投射到对应的潜空间中(embeding),之后将两个潜空间进行统一

潜空间里面每个位置代表不同的语义,如果单看位置上面的值,不能获得详细的语义。需要将所有特征(也就是不同位置的语义)合起来看,才能代表详细的语义,同理图片的特征也是一样,需要将不同通道(也就是不同特征)上面的点合起来。才能知道图片该店的具体含义
Pasted image 20240418204819

解码和编码器含义

主要是解的码:是语义也就是上下文关系
Pasted image 20240418200314

如图,相当于存在一种上下文语义密切的话,在高维空间具有更近的模长之类的关系

tokizer标记器和one-hot独热编码

实现对token(也就是单位词)做数字化

Pasted image 20240418200606

大概关系就是前者给id,后者给种类标记

但不过这种简单的表示方法不能产生语义关系,也就是
假设手机是(1)苹果是2.这样虽然很近,但其实没有具体的语义关系

前者信息过于密集无法区分语义,后者信息过于稀疏,每个token基本都占据了一个维度

编码解码–语义较好的维度空间

这样既能利用好高维度空间也能利用空间的长度

因此想法有两个:
想法一:使用分词器(tokzier)获得,密集信息,在进行升高维度
想法二:使用独热编码(one-hot)获得稀疏信息,在进行降低维度(压缩数据)

主要是运用想法二的思想

矩阵相乘–空间变换

Pasted image 20240418202059

![[images/Pasted image 20240418202413.png]]

如果只是向量和矩阵的乘法,那么只会出现向量在新的坐标系下面的旋转和伸缩,也就是空间的变换,但不过值任然是一一对应的

如果采用矩阵相乘这个二次型的方式,就会像函数一样,向量出现形状的变化

下图演示
Pasted image 20240418202602

代表三个向量,也就是三个数据经过空间变换(矩阵),得到新空间的数据,所以规则(矩阵)和数据不能够进行颠倒

编码理解

先把一个文本里面的token(词元)变成独热码(获取稀疏信息),之后在进行降维(获取词元之间的语义关系(这里可以采用之前理解的距离))

总结:这个相当于把输入的一句话根据语义映射到到高维(独热编码),在把它投射到低维空间,这个也就是嵌入过程(embeding)(这个嵌入维度也就是潜空间)

相当于一个token被映射到潜空间之后,向量上面的位置,代表了不同的语义
例如
Pasted image 20240418204314

潜空间里面向量的不同值代表是该语义的程度,我们无法人为可知

如何构造降维的嵌入矩阵–实现到达潜空间

word2vec下面的:
第一个CBOW(邻字模型)
Pasted image 20240418205347

相当于用上下文的token(词元)(可能需要先升维度——独热编码),通过嵌入矩阵,获得嵌入向量,之后进行相加,将结果作为中间词元的嵌入向量,这样就可以于真实的词元向量进行比较了,进行修正

第一个跳字模型同理
Pasted image 20240418205907

最终的目的就是为了获得嵌入矩阵

转化为神经网络如下
Pasted image 20240418210117

只需要训练一个w即可,因为解码过程是一个逆过程,但实际过程好像是都要训练

不需要激活函数,因为只是对向量进行见简单的相加和分解

上面是基础,下面是transformer正文

Pasted image 20240418210513

核心是如何将得到的潜空间(embeding),去理解它的语义–注意力机制

自注意力机制

Pasted image 20240418210739

由于我们需要上下文语义的关系,输入到注意力那块的时候,不能是单个词的词嵌入向量,需要输入多个(T个,嵌入向量维度是Din)

  1. 按照原理,输入的词向量组,需要和三个矩阵进行空间变化得到KQV,三个状态矩阵
  2. 之后将K,Q其中一个转置相乘,得到T X T的矩阵,之后对改矩阵进行缩放,其实就是缩放它的方差到1上面
    Pasted image 20240418211436
  3. 之后缩放的矩阵进行softmax,这里是按照行进行概率归一(这样获得了注意力分数),最后将其和V相乘,得到输出注意力结果T X Dout

总结:这个注意力分数相当于是该词在上下文关联的修改系数,而V就是该词在嵌入空间的客观语义。

注意力分数–上下文修正系数

Pasted image 20240418212618

转置相乘得到的矩阵是:所有词向量之间的关联性,之后被转化为概率权重(上下文关系),最后用来修正次元的客观语义

为什么需要KQ两个矩阵,并且还是转置,进行相乘?

Pasted image 20240418213042
因为这样就构造了,二次型,能够更好的表达模型的复杂情况,更好的理解语义

需要K和Q,也是因为在上下文语义中,我们需要区分该词的设定语义和表达语义,也就是前后关系,所以猜测需要两个矩阵,KQ

交叉注意力机制

Pasted image 20240418214656
相当于拿到解码器的主观语义里面的设定语义,与解码器的KV,进行操作

其实是相当于有了一份主观语义里面设定语义的参考资料,相当于不需要理解主观语义,学起来很被动,但在机器翻译上面就没有问题

绝对位置编码–对输入的数据进行修饰

Pasted image 20240418220501

将0-n这些数字,通过傅里叶变换到相同嵌入向量的维度
Pasted image 20240418221408

不同语义(特征)之间相互正交,且不同token之间的编码也不相同

相对位置编码–修饰在注意力分数上面

Pasted image 20240418222102

多头注意力机制

Pasted image 20240418222330

Pasted image 20240418222727

大概就是一个token(嵌入向量)进去,经过多头,一个小语义会被学习到更多相似的语义或者更大的跨度,最后通过多头相加综合起来,相当于学习到相似语义的综合语义

解码器掩码—正则残差

在推理过程需要屏蔽掉之后词语的影响
Pasted image 20240418223811

屏蔽掉一个词之后的注意力分数

正测残差
把数据加起来在正则化

残差能够学习到变化的程度

模型框架

Pasted image 20240418215357

每一个解码器的输出,都要拿着解码器的参考去更新差异

推理部分
Pasted image 20240418215938

可能最后的softmax部分的输出是一个,形状确实不变都是,T X Dout,解码器部分提供的是K

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

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

相关文章

GO+树莓派+E53_IA1智慧农业模块

简介 之前手头上有小熊派的开发板, 有一个E53_IA1模块, 刚好用到树莓派上, 使用GO进行控制,实现智慧农业模块功能。 模块介绍 模块电路介绍 按硬件分成五块, 其中四块在本次用上了, 分别是 1. 补光模块&…

SpringBoot结合Canal 实现数据同步

1、Canal介绍 Canal 指的是阿里巴巴开源的数据同步工具,用于数据库的实时增量数据订阅和消费。它可以针对 MySQL、MariaDB、Percona、阿里云RDS、Gtid模式下的异构数据同步等情况进行实时增量数据同步。 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.…

数据分析需要注意哪些法律法规

数据分析 前言一、数据处理过程二、数据收集阶段的法律规则数据收集应具备合法、正当、透明原则数据收集应坚持最小必要原则数据收集应遵守知情-同意规则数据收集应遵守目的明确性要求 三、数据储存的法律规则四、数据使用与处理的阶段的法律规则数据安全保护义务按照数据分级分…

全球首例!猪肾移植患者死亡,人类科技与伦理或将面临挑战?

全球首例猪肾移植患者的离世,如同一颗重磅炸弹,在医学界激起千层浪花,让原本充满希望的“死而复生”异种器官移植技术再次被推至风口浪尖。 今年3月,一场与命运的较量在麻省总医院悄然落幕。全球首位接受转基因猪肾移植的患者理查…

Boss让你设计架构图,你懵逼了,解救你的参考图来啦。

架构图是指用于描述系统或软件的结构和组成部分之间关系的图形表示。 它是一种高层次的图示,用于展示系统的组件、模块、接口和数据流等,以及它们之间的相互作用和依赖关系。架构图通常被用于可视化系统的整体设计和组织结构,帮助人们理解系…

数据结构(四)——二叉树和堆(下)

制作不易,三连支持一下呗!!! 文章目录 前言一、二叉树链式结构的实现总结 前言 这篇博客我们将来了解普通二叉树的实现和应用,对大家之前分治和递归的理解有所挑战。 一、二叉树链式结构的实现 1.前置说明 在学习二叉…

对Windows超融合S2D的一些补充

先说一个不知道算不算BUG的例子,下面这个存储池是用两台服务器各2块10G建立的,除去系统保留的部分,显示还有13G可用。 但如果使用其新建虚拟磁盘会显示可用的空间为0 然后我又各增加了一块10G硬盘进池,变成了可用空间为30.5GB …

“二代”接班进行时:达利食品许阳阳揭秘“零食大王”成长密钥

“二代接班”早已不是一个新鲜话题。近年来,随着时间的推移,那些伴随改革开放和中国制造崛起的民营企业,更多的正在经历或已完成“二代接班”。 “毛巾王子”家的洁丽雅,最近因大手笔签约多位代言人而引起讨论的九牧王&#xff0…

基于Unity为Vision Pro 构建游戏的4个关键

为Vision Pro开发游戏时需要考虑的四个关键概念:输入的自然性、物理尺寸的真实匹配、交互空间的充足性以及Unity组件的有效利用。 AVP交互小游戏(Capsule Critters)作者分享了使用Unity构建的几个核心关键: Bounded - 游戏定义:Bounded(有限)是Unity的术语,指的是游戏作…

[AIGC] 几道 redis数据结构相关面试题

文章目录 7. 数据类型的实现8. 什么是空间预分配以及惰性空间释放,SDS 是怎么实现的9. 为什么说 SDS 是二进制安全的呢10. 说说 redis 里的对象11. 使用 RedisObject 的好处12. RedisObject 的具体结构是什么 7. 数据类型的实现 8. 什么是空间预分配以及惰性空间释放…

Tomcat添加服务以及设置开机自启

下载地址连接 Index of /dist/tomcat👓 注意点:不要出现中文路径 #环境变量 CATALINA_HOMED:\apache-tomcat-7.0.62 TOMCAT_HOMED:\apache-tomcat-7.0.62 JAVA_HOMED:\tool\jdk1.8.0_111 PATH%CATALINA_HOME%\bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\…

【JVM基础篇】类加载器分类介绍

文章目录 类加载器什么是类加载器类加载器的作用是什么应用场景类加载器的分类启动类加载器用户扩展基础jar包 扩展类加载器和应用程序类加载器扩展类加载器通过扩展类加载器去加载用户jar包: 应用程序加载器 Arthas中类加载器相关功能 文章说明 类加载器 什么是类…

车载测试:为什么你投十份简历,只有一两家公司约你?

最根本的原因,就是一方在汲汲渴求,而恰恰另一方呈现出的关键点让其怦然心动。求者心中有所想,而应者恰恰展现了求者所想的那一面。这就是个中奥妙。 程序员在找工作时,在一开始有三件事情会对能否获得面试机会至关重要&#xff1…

C++笔记(STL标准库)

1.STL六大部件 容器 Containers分配器 Allocators:帮容器分配内存算法 Algorithms迭代器 Iterators:算法通过迭代器操作容器里的数据,是一种泛化的指针适配器 Adapters:修改或扩展已有类或函数的接口以满足特定的需求仿函数 Func…

自动秒收录网址导航分类目录模板

自动秒收录网址导航是一个以html5css3进行开发的免费版网址自动收录模板源码。 模板特点:全站响应式H5网站制作技术,一个网站适应不同终端,模板支持网址导航一键采集入库,免规则文章资讯智能批量采集内置伪原创,本地化…

DSA理解理解蓝桥杯例题signature

一、历史 1991年8月,NIST(Nation Institute of Standards and Technology,美国国家标准技术研究所)提出了数字签名算法(DSA)用于他们的数字签名标准(DSS)中。 DSA是算法&#xff0c…

SCI论文发表:寻找论文选题的7种方法 (建议收藏)!

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 近期有好几个同学问娜姐关于论文选题的问题:什么样的选题是好的选题-有价值好发表。这篇来分享7种寻找有效选题的方法。 在我们寻找论文选题的过程中,…

Linux配置两个局域网间的网络转发

网络拓扑如上图所示,有192.168.1.0(255.255.255.0),192.168.2.0(255.255.255.0)两个局域网。若要使host1可直接通过ip地址访问host3,则需在host2中配置路由转发。 host2 配置静态路由(系统一般会自动配置) # 添加静…

Electron、QT、WPF三强争霸,该支持谁呢?

Electron、QT、WPF都是跨平台的桌面应用开发框架,都是非常流行的,作为开发者该选用哪个呢?本文从多个角度分析一下。 一、定义 Electron、Qt 和 WPF 都是用于创建桌面应用程序的框架或工具,它们各自有着不同的特点和优势。 Elec…

Windows下安装 Emscripten 详细过程

背景 最近研究AV1编码标准的aom编码器,编译的过程中发现需要依赖EMSDK,看解释EMSDK就是Emscripten 的相应SDK,所以此博客记录下EMSDK的安装过程;因为之前完全没接触过Emscripten 。 Emscripten Emscripten 是一个用于将 C 和 …