学习transformer模型-Positional Encoding位置编码的简明介绍

今天介绍transformer模型的positional encoding 位置编码

背景

位置编码用于为序列中的每个标记或单词提供一个相对位置。在阅读句子时,每个单词都依赖于其周围的单词。例如,有些单词在不同的上下文中具有不同的含义,因此模型应该能够理解这些变化以及每个单词所依赖的上下文。一个例子是单词“trunk”。在一种情况下,它可以用来指大象用鼻子喝水;在另一种情况下,它可能指的是被闪电击中的树干。

由于模型使用长度为d_model的嵌入向量来表示每个单词,因此任何位置编码都必须与之兼容。使用整数来表示位置似乎很自然,比如第一个标记为0,第二个标记为1,以此类推。然而,这个数字很快就会增长,并且不容易添加到嵌入矩阵中。相反,我们为每个位置创建一个位置编码向量,这意味着可以创建一个位置编码矩阵来表示单词可能占据的所有位置。

在“Attention Is All You Need”这篇论文中,为了捕捉这种位置信息,作者提出了一种特殊的位置编码方法,利用正弦和余弦函数为序列中的每个位置生成唯一的向量。这种方法不仅避免了整数位置编码可能导致的问题(如快速增长的数值和难以整合到嵌入矩阵中),而且还为每个位置提供了标准化的、无需额外训练的独特表示。通过这种方式,模型可以更好地理解序列中单词的顺序和相互依赖关系,从而提高其处理自然语言任务的能力。

公式:


举例:

pos 代表位置,i 代表维度。

对于每个位置编码向量,每两个元素为一组,将偶数位置的元素设置为PE(pos, 2i),将奇数位置的元素设置为PE(pos, 2i+1)。然后重复这个过程,直到向量中有d_model个元素为止。

我们选择这个函数是因为我们假设它能让模型更容易地学习到按相对位置进行关注。对于任何固定的偏移量 kPE_{pos+k} 都可以表示为 PE_{pos} 的线性函数。这意味着模型可以通过学习不同位置编码之间的线性关系来理解序列中单词的相对位置。这种方法的好处是,无论序列有多长,模型都可以有效地利用位置信息,因为位置编码是通过正弦和余弦函数连续生成的,而不是依赖于离散的、有限的位置标记。

最后,把位置编码被添加到嵌入向量。

完整的流程如下:

原文链接:

https://medium.com/@hunter-j-phillips/positional-encoding-7a93db4109e6

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

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

相关文章

鸿蒙OS开发实例:【ArkTS 实现MQTT协议】

介绍 MQTT是物联网中的一种协议,在HarmonyOS API9平台,解决方案以C库移植为实现方案。 遥遥领先的平台,使用MQTT怎能不遥遥领先呢! 新年快乐,本篇将带领你手把手实现HarmonyOS ArkTS语言的MQTT协议。 准备 阅读…

LLM--提示词Propmt的概念、作用及如何设计提示词

文章目录 1. 什么是提示词?2. 提示词的作用3. 如何设计提示词?3.1. 提供详细的信息3.2. 指定角色3.3. 使用分隔符和特殊符号3.4. 提供示例3.5. 少量示例的思维链(COT)模型3.6. 思维树(TOT)模型3.7. 自洽性 …

【4】单链表(有虚拟头节点)

【4】单链表(有虚拟头节点) 1、虚拟头节点2、构造方法3、node(int index) 返回索引位置的节点4、添加5、删除6、ArrayList 复杂度分析(1) 复杂度分析(2) 数组的随机访问(3) 动态数组 add(E element) 复杂度分析(4) 动态数组的缩容(5) 复杂度震荡 7、单链…

【Linux 10】环境变量

文章目录 🌈 Ⅰ 命令行参数⭐ 1. main 函数的参数⭐ 2. main 函数参数的意义⭐ 3. 查看 argv 数组的内容⭐ 4. 命令行参数结论⭐ 5. 为什么要有命令行参数⭐ 6. 命令行参数传递由谁执行 🌈 Ⅱ 环境变量基本概念⭐ 1. 常见环境变量 🌈 Ⅲ 查看…

LeetCode_876(链表的中间结点)

//双指针//时间复杂度O(n) 空间复杂度O(1)public ListNode middleNode(ListNode head) {ListNode slowhead,fast head;while (fast!null && fast.next!null){slow slow.next;fast fast.next.next;}return slow;} 1->2->3->4->5->null 快指针移动两个…

9款免费云服务器,最长永久免费使用

随着云计算技术的快速发展,越来越多的企业和个人开始选择使用云服务器。云服务器提供了灵活、可扩展且易于管理的资源,使得用户可以根据需求随时调整计算能力。本文将分享9款免费云服务器,其中最长可永久免费使用,为用户提供了更多…

flutter官方案例context_menus

1:根据项目中的案例进行部署 2:运行查看有什么用,可不可以直接复制粘贴 案例地址 https://github.com/flutter/samples/tree/main/context_menus案例展示方法 直接把这个文件夹中的文件复制到lib文件夹中 3,19,4的fl…

HTML常用的图片标签和超链接标签

目录 一.常用的图片标签和超链接标签: 1.超链接标签: 前言: 超链接的使用: target属性: 1)鼠标样式: 2)颜色及下划线: 总结: 2.图片标签: 前言: img的使用: 设置图片: 1.设置宽度和高度: 2.HTM…

内网渗透之黄金票据的制作

1、黄金票据是用来留后门的也叫做未知权限,前提条件是你已经拿到了域控的最高权限 一、开始之前我们先来了解一下kerberos Kerberos是一种由MIT(麻省理工大学)提出的一种网络身份验证协议。它旨在通过使用密钥加密技术为客户端/服务器应…

基于muduo网络库实现的集群聊天服务器

目录 项目内容开发环境安装说明技术介绍项目目录数据库设计项目介绍启动服务器启动客户端注册账号登录成功一对一聊天业务创建群聊业务加入群聊业务群聊业务添加好友业务离线消息存储业务 特殊说明 !!!项目是照着腾讯课堂施磊老师的视频学习&…

【QT+QGIS跨平台编译】054:【exiv2lib_int+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、exiv2lib_int介绍二、文件下载三、文件分析四、pro文件五、编译实践一、exiv2lib_int介绍 exiv2lib_int是 exiv2 这个开源的图像元数据库中的一个组件。 Exiv2是一个开源的C++库,用于读取、编辑和写入图片和视频文件的元数据。它可以处理各种类…

01-XML-04XML处理

XML处理 DOM DOM解析要求解析器将整个XML文件全部加载到内存中,生成一个Document对象。 优点:元素和元素之间保留结构,关系,可以针对元素进行增删改查操作。 缺点:如果XML文件过大,可能会导致内存溢出。SA…

【Linux】寿司线程池{单例模式之懒汉模式下的线程池}

文章目录 回顾单例模式0.多线程下的单例模式的意义1.什么是单例模式1.0设计模式1.1C单例模式的介绍及原理1.2拷贝构造和赋值重载的处理1.3if (nullptr ptr),nullptr放在比较运算符的前面?1.4实现单例模式的方式 2.实现懒汉方式的单例模式2.1单线程的单例模式2.2多…

Go 源码之 gin 框架

Go 源码之 gin 框架 go源码之gin - Jxy 博客 一、总结 gin.New()初始化一个实例:gin.engine,该实例实现了http.Handler接口。实现了ServeHTTP方法 注册路由、注册中间件,调用addRoute将路由和中间件注册到 methodTree 前缀树(节…

AR-Net网络(图像篡改检测)

AR-Net网络 摘要AbstractAR-Net1. 文献摘要2. 研究背景3. 创新点4. AR-Net 网络架构5. 实验6. 结论总结 摘要 AR-Net使用自适应注意力机制来融合位置和通道维度的特征,使网络能够充分利用不同维度的被篡改特征,此外,AR-Net 改进了预测掩模&a…

【Web and HTTP,HTTP概况,HTTP连接,持久HTTP,用户-服务器状态:cookie】

文章目录 Web and HTTPHTTP概况HTTP:超文本传输协议使用TCP:HTTP是无状态的 HTTP连接非持久HTTP持久HTTP响应时间模型 持久HTTP非持久HTTP的缺点:持久HTTP提交表单输入 用户-服务器状态:cookie Web and HTTP Web页:由一些对象组成…

智慧校园管理系统

一、项目介绍 1.1 项目简介 智慧校园管理系统:主要是以年级、班级为单位,进行老师和学生信息记录和统计功能。项目采用前后端分离架构思想,前端采用HTMLCSSVUE来实现页面效果展示,后端采用SpringBootMybatisPlus框架实现数据存储…

v3-admin-vite 改造自动路由,view页面自解释Meta

需求 v3-admin-vite是一款不错的后端管理模板,主要是pany一直都在维护,最近将后台管理也进行了升级,顺便完成一直没时间解决的小痛痒: 在不使用后端动态管理的情况下。我不希望单独维护一份路由定义,我希望页面是自解…

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题 一、运行环境 1、硬件 手机型号:NOVA 7 系统:HarmonyOS版本 4.0.0 2、软件 android SDK platforms:14.0(API Level 34)、13.0(API Level 33) SDK Build-T…

【踩坑】荣耀系统Android8.0 system目录Read-only file system

本来以为直接把Charles证书改成系统证书格式,然后通过mt管理器root之后移动到系统证书目录就行了,结果访问baidu仍然显示网络错误,折腾一晚上。后来直接安装为用户证书,与系统证书冲突。 手机型号:荣耀v10 EMUI&…