一文彻底搞懂Transformer - Input(输入)

一、输入嵌入(Input Embedding)

        词嵌入(Word Embedding):词嵌入是最基本的嵌入形式,它将词汇表中的每个单词映射到一个固定大小的向量上。这个向量通常是通过训练得到的,能够捕捉单词之间的语义关系。

        在Transformer中,词嵌入层通常是一个可学习的参数矩阵,其中每一行对应词汇表中的一个单词的嵌入向量。

        假设词汇表大小为12288,嵌入向量的维度为128,则嵌入层会将输入文本中的每个单词映射到一个128维的向量上。

                                                (12288,128)嵌入矩阵

二、位置编码(Positional Encoding

        位置编码(Positional Encoding):Transformer模型完全基于注意力机制,它本身并不包含循环或卷积结构,无法直接理解输入序列中单词的顺序信息。为了弥补这一缺陷,Transformer引入了位置编码来为模型提供单词在序列中的位置信息。

                                                                        位置编码

        位置编码通过一组正弦和余弦函数来实现,这些函数的频率和相位随着位置的不同而变化。位置编码的维度与嵌入向量的维度相同,可以将它们直接相加到嵌入向量上。

        假设嵌入向量的维度为128,输入序列的最大长度为12288,则可以生成一个形状为(12888, 128)的位置编码矩阵。对于序列中的每个位置,都会有一个对应的128维向量来表示其位置信息。

                                                (12288,128)位置编码矩阵

三、Transformer输入处理流程

        Transformer输入处理流程:将预处理后的文本通过分词转换为Token,再将这些Token通过词嵌入转换为高维向量,并添加位置编码以保留顺序信息,最后作为输入传递给Transformer编码器。

  • 文本预处理:将输入的文本数据进行预处理,包括分词(将文本拆分成单词或子词单元)、转换为小写、去除停用词等。这一步通常由分词器(Tokenizer)完成。

  • 构建嵌入向量:将预处理后的文本数据通过词嵌入层转换为嵌入向量。这一步是将文本数据转换为模型可以处理的数值形式的关键步骤。

  • 添加位置编码:为每个嵌入向量添加位置编码,以提供单词在序列中的位置信息。这通常是通过将位置编码向量与嵌入向量相加来实现的。

  • 输入到Transformer模型:将添加了位置编码的嵌入向量作为输入传递给Transformer模型的编码器部分。编码器会利用自注意力机制和其他组件对输入序列进行处理,并生成输出序列的表示。

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

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

相关文章

HTTP入门

入门HTTP协议 1. 原理介绍 爬虫就是用程序模拟浏览器的行为,发送请求给服务器,获取网页的内容,解析网页数据。 要学会爬虫,先要了解浏览器是如何和服务器交流的。浏览器通过HTTP协议和服务器交流。 2. HTTP协议简介 2.1…

第4篇 区块链的优势与挑战:为什么区块链如此重要?

区块链听起来像是一种高科技的魔法,很多人都想知道它到底是怎么回事,为什么会引起如此大的关注。今天,我们就来揭开区块链的神秘面纱,看看它的优势和挑战,顺便聊聊为什么它会变得如此重要。 优势篇 1. 去中心化&…

【pg】去除pg数据库字段值中的空格

如何批量去除PostgreSQL数据库字段值中的空格 在处理数据库中的数据时,经常会遇到字段值末尾带有多余空格的问题。这些空格可能是用户输入错误或数据迁移过程中引入的,可能会影响数据的准确性和一致性。本文将介绍如何使用 PostgreSQL 的 SQL 语句批量去…

The Forest Enemy Pack(2D动画角色游戏模型)

这个包包含14个适用于platformer和2d rpg游戏的动画角色。 动画总帧数:1785 用于动画的所有精灵都具有透明背景,并准备有1500x1200和750x600两种尺寸。 对于每个角色,你也可以找到具有单独身体部位的精灵表,这样你就可以轻松地制作自己的动画。它们有PNG和PSD格式。 示例场…

对MVC的理解以及如何实现一个简单的MVC

IOC 容器与 Controller: 在 Spring 框架中,所有的 Controller 都会被 Spring 的 IOC 容器管理。当应用程序启动时,Spring 会扫描所有带有 Controller 注解的类,并将它们作为 Bean 注册到 IOC 容器中。 方法扫描与 Dispatcher&am…

强化学习-5 策略梯度、Actor-Critic 算法

文章目录 1 基于价值( value-based \text{value-based} value-based )算法的缺点2 策略梯度算法2.1 解释2.1.1 分母和分子相消2.1.2 对数函数的导数2.1.3 组合公式2.1.4 总结 3 REINFORCE算法4 策略梯度推导进阶4.1 平稳分布4.2 基于平稳分布的策略梯度…

Python游戏脚本开发之大漠插件

自动化 文章目录 自动化前言一、开发环境二、免注册调用三、创建大漠对象四、注册五、大漠功能调用六、整体代码 前言 大漠插件是集前后台,文字识别,图色,键鼠,窗口,内存,DX,Call等功能于一身的…

HSP_13章 Python_魔术方法

文章目录 P132 魔术方法1. 魔术方法的基本介绍2. 常见的魔术方法2.1 __str__2.2 __eq__2.3 其它的几个魔术方法 P132 魔术方法 参考文档 1. 魔术方法的基本介绍 2. 常见的魔术方法 2.1 str # 请输出Monster[name,job,sal]对象的属性信息 #可以根据需要…

(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124)

WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by SSLError(SSLError(1, [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1124))): /pypi/simple/urllib3/ pip install的时候遇到这个错误 第一步…

竞赛选题 交通目标检测-行人车辆检测流量计数 - 竞赛选题

文章目录 0 前言1\. 目标检测概况1.1 什么是目标检测?1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 毕业设计…

OtterTune dead,参数调优还有DBdoctor

前言 数据库性能调优这块必不可少的环节是进行参数调优,数据库的参数很多,比如Oracle甚至有上千个参数,如何进行参数设置非常关键。参数调优需要基于业务的负载模型、硬件配置等多种因素,好的参数调优可以让数据库性能整体吞吐提…

Symfony配置管理深度解析:构建可维护项目的秘诀

Symfony是一个高度灵活且功能丰富的PHP框架,它提供了一套强大的配置管理系统,使得开发者能够轻松定制和优化应用程序的行为。本文将深入探讨Symfony中的配置管理机制,包括配置的结构、来源、加载过程以及最佳实践。 一、配置管理的重要性 在…

Scala类型类(Type Classes):灵活而强大的类型增强术

🌟 Scala类型类(Type Classes):灵活而强大的类型增强术 在Scala编程语言中,类型类是一种强大的特性,它允许开发者以类型安全的方式扩展语言。类型类提供了一种机制,可以将行为与类型关联起来,类似于Java中…

【笔记】Android Settings 应用设置菜单的界面代码介绍

简介 Settings应用中,提供多类设置菜单入口,每个菜单内又有各模块功能的实现。 那么各个模块基于Settings 基础的界面Fragment去实现UI,层层按不同业务进行封装继承实现子类: DashboardFragmentSettingsPreferenceFragment 功…

植物大战僵尸杂交版,最新安装包(PC+手机+苹果)+ 修改器+高清工具

植物大战僵尸杂交版:全新游戏体验与创意碰撞 游戏简介 《植物大战僵尸杂交版》是由B站知名UP主潜艇伟伟迷基于经典游戏《植物大战僵尸》进行的一次大胆且富有创意的二次创作。这款游戏不仅保留了原版游戏的经典玩法,还融入了植物杂交的全新概念&#x…

Qt扫盲-QRect矩形描述类

QRect矩形描述总结 一、概述二、常用函数1. 移动类2. 属性函数3. 判断4. 比较计算 三、渲染三、坐标 一、概述 QRect类使用整数精度在平面中定义一个矩形。在绘图的时候经常使用,作为一个二维的参数描述类。 一个矩形主要有两个重要属性,一个是坐标&am…

同步互斥与通信

目录 一、同步与互斥的概念 二、同步与互斥并不简单 三、各类方法的对比 一、同步与互斥的概念 一句话理解同步与互斥:我等你用完厕所,我再用厕所。 什么叫同步?就是:哎哎哎,我正在用厕所,你等会。 什…

【实战场景】记一次UAT jvm故障排查经历

【实战场景】记一次UAT jvm故障排查经历 开篇词:干货篇:1.查看系统资源使用情况2.将十进制进程号转成十六进制3.使用jstack工具监视进程的垃圾回收情况4.输出指定线程的堆内存信息5.观察日志6.本地环境复现 总结篇:我是杰叔叔,一名…

线下促销折扣视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

Linux上systemctl 和 service 两个命令的区别和联系

systemctl 和 service 两个命令都是 Linux 系统中用于管理服务的工具,但它们分别关联着不同的初始化系统(init system),并且在功能和使用场景上有所差异。 service 命令 关联的初始化系统:service 命令通常与 SysV i…