Transformer之Positional Encoding

Representing The Order of The Sequence Using Positional Encoding

正如我们到目前为止所描述的那样,模型中缺少的一件事是解释输入序列中单词顺序的方法。

为了解决这个问题,transformer 在每个输入嵌入中添加一个矢量。这些向量遵循模型学习的特定模式,这有助于它确定每个单词的位置,或序列中不同单词之间的距离。这里的直觉是,将这些值添加到嵌入中,一旦它们投射到Q/K/V矢量中,并在点积 attention 期间,嵌入向量之间会提供有意义的距离。
为了让模型了解单词的顺序,我们添加了位置编码向量
如果我们假设嵌入的维数为4,那么实际的位置编码将是这样的
在这里插入图片描述
这个模式会是什么样子呢?

在下面的图中,每一行对应一个向量的位置编码。所以第一行就是我们对输入序列中第一个单词的嵌入加上的向量。每行包含512个值,每个值在1到-1之间。我们对它们进行了颜色编码,这样图案就可以看到了。
20个单词(行)的位置编码的真实示例,嵌入大小为512(列)。你可以看到它似乎从中心一分为二。这是因为左半部分的值是由一个函数(使用正弦)生成的,右半部分是由另一个函数(使用余弦)生成的。然后将它们连接起来形成每个位置编码向量
本文描述了位置编码的公式(第3.5节)。您可以在 get_timing_signal_1d() 中看到生成位置编码的代码。这不是位置编码的唯一可能方法。然而,它的优点是能够扩展到看不见的序列长度(例如,如果我们训练的模型被要求翻译一个比我们训练集中的任何句子都长的句子)。

上面显示的位置编码来自Transformer的Tensor2Tensor实现。该方法并不是直接连接,而是将两个信号交织在一起,因此略有不同。下图显示了它的样子。下面是生成它的代码
在这里插入图片描述

Reference

https://jalammar.github.io/illustrated-transformer/

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

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

相关文章

String类的使用

String常用的构造方法 String的源码 内部是一个数组和hash值,涉及到常量池后续补充(常量池:存储相同的字符时只会存储一租) String的比较 equals()与:String里面为我们提供了许多方法,可直接调用&#xf…

常用对象的遍历方法

var obj [{name: 1111,account: {01: { name: 1.1 },02: { name: 1.2 },03: { name: 1.3 },04: { name: 1.4 },05: { name: 1.5 },}} ]var nowObj obj[0].account;1、for…in 任意顺序遍历对象所有的可枚举属性(包括对象自身的和继承的可枚举属性,不含…

rust学习(tokio协程分析二)

例子: 我们如果使用new_current_thread来创建tokio的协程运行runtime时, let rt tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap(); 发现只有调用rt.block_on(...)才能触发。这里我们分析一下为何在new_current_thread…

StartAI0.7版本正式上线啦~

【优化内容】 1、新增图生图功能(V2) 2、新增背景移除功能(V1) 3、新增生成数量设置 4、风格选择-增加搜索、详情功能 5、增加悬浮球设置功能 今天我们来详细介绍一下【图生图】这个功能 可以实现更精准的画面控制,…

理解C#里面的集合有哪些?怎么用,什么是安全集合?

介绍 在C#中,集合是一种用于存储和操作多个元素的数据结构。它们提供了各种操作,如添加、删除、查找等,以及遍历集合中的元素。集合通常根据其实现方式和行为特征进行分类。 集合继承IEnumerable 在C#中,几乎所有的集合类型都实现…

垂直领域大模型搭建训练指南,ChemLLM论文介绍

ChemLLM论文介绍,垂直领域模型搭建训练指南(ChemLLM: A Chemical Large Language Model) 返回论文目录 1.论文简介 论文是上海人工智能实验室的工作,想训练一个化学垂直领域的对话大模型,然而现有的化学数据往往是结构性的,所以…

Nodejs基于vue的个性化服装衣服穿搭搭配系统sprinboot+django+php

本个性化服装搭配系统主要根据用户数据信息,推荐一些适合的搭配穿搭,同时,用户也可自己扫描上传自身衣物以及输入存放位置,搭配后存储到“我的搭配”中,以便下次挑选,既可以节省搭配时间,也方便…

【MySQL】MySQL复合查询--多表查询自连接子查询

文章目录 1.基本查询回顾2.多表查询3.自连接4.子查询 4.1单行子查询4.2多行子查询4.3多列子查询4.4在from子句中使用子查询4.5合并查询 4.5.1 union4.5.2 union all 1.基本查询回顾 表的内容如下: mysql> select * from emp; ----------------------------…

Opencv实战(5)平滑处理与常见函数

平滑处理 Opencv实战: Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 Opencv(3)详解霍夫变换 Opencv(4)详解轮廓 文章目录 平滑处理1.均值滤波2.方框滤波3.高斯滤波4.中值滤波5.双边滤波 常见函数(1).createTrackbar()(2).SetMouseCallback() 图像的平滑处理是…

[element]element-ui框架下载

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐如果觉得文章写的不错,欢迎点个关注一键三连😉有写的不好的地方也欢迎指正,一同进步😁…

2024腾讯云服务器优惠价格表又降价了,给同行干emo了

腾讯云优惠活动2024新春采购节活动上线,云服务器价格已经出来了,云服务器61元一年起,配置和价格基本上和上个月没什么变化,但是新增了8888元代金券和会员续费优惠,腾讯云百科txybk.com整理腾讯云最新优惠活动云服务器配…

常用sql语句及其优化

文章目录 介绍常用sql语句1. 数据查询1.1 SELECT 语句1.2 DISTINCT 关键字1.3 WHERE 子句1.4 ORDER BY 子句1.5 LIMIT 关键字 2. 数据更新2.1 INSERT INTO 语句2.2 UPDATE 语句2.3 DELETE FROM 语句 3. 数据管理3.1 CREATE TABLE 语句3.2 ALTER TABLE 语句3.3 DROP TABLE 语句 …