当前位置: 首页 > article >正文

位置编码详解

位置编码Positional Encoding, PE是自然语言处理NLP中特别是Transformer模型架构里的一个核心概念。它的作用是给序列中的每个词Token注入“顺序”或“位置”信息。一、WHY为什么需要位置编码1. 核心原因Self-Attention 机制缺乏“顺序感”Transformer 的核心组件是 Self-Attention自注意力机制它的计算方式是并行的且具有排列不变性Permutation Invariance。并行计算模型一次性看到所有词而不是像 RNN 那样一个一个按顺序处理。排列不变性在数学上如果你打乱输入句子中词的顺序Self-Attention 输出的向量集合内容是一样的只是顺序变了。例如输入I love AI和AI love I如果没有位置信息模型计算出的注意力权重集合是完全相同的。2. 语言数据的本质顺序决定语义自然语言NLP是序列数据词的顺序直接决定含义。例子 1主谓宾关系猫抓老鼠 vs 老鼠抓猫词完全一样但顺序不同语义截然相反。例子 2否定词位置我喜欢这个产品 vs 我不喜欢这个产品否定词的位置决定了情感极性。如果没有位置编码模型无法区分上述差异导致无法理解语言逻辑。3. 与 RNN/CNN 的对比模型架构是否有天然顺序感是否需要 Position EmbeddingRNN / LSTM✅ 有❌ 不需要按时间步 sequentially 处理CNN✅ 有❌ 不需要卷积核按顺序滑动Transformer❌ 无✅ 必须需要4. Position Embedding 的作用它的作用是显式地将“位置信息”注入到输入向量中弥补 Transformer 的缺陷。实现方式将一个代表位置的向量Position Vector加到词嵌入向量Word Embedding上。 InputToken EmbeddingPosition Embedding效果即使词相同只要位置不同最终输入模型的向量就不同。模型因此能够学习到“词 A 在词 B 前面”这样的顺序依赖关系。5. 结论弥补架构缺陷Transformer 的 Self-Attention 机制本身无法感知词序。保留语义逻辑确保模型能区分“谁对谁做了什么”主谓宾关系。实现并行计算为了让 Transformer 能并行处理序列比 RNN 快必须牺牲天然的顺序感并通过 PE 显式补回位置信息。二、HOW:如何实现位置编码1. 用整型值标记位置核心思想直接使用1, 2, 3, ..., N作为位置 ID通过 Embedding 层查找向量。这种方法带来的问题是泛化性差外推能力弱模型训练时最大长度可能是 512。如果推理时遇到长度为 1024 的句子模型会遇到从未见过的位置 ID如 513导致 Embedding 查找失败或随机初始化性能急剧下降。数值无界位置值无限增大导致 Embedding 向量的分布难以稳定可能影响梯度更新。2. 用[0,1]范围标记位置2.1 核心思想位置归一化Position Normalization这种方法的核心思想是将绝对的索引值转化为相对的比例值。它不再关心一个 token 具体是第几个如第 1 个、第 100 个而是关心它在整个序列中所处的相对进度。2.2 设计逻辑边界固定无论序列多长起始位置永远标记为0结束位置永远标记为1。均匀分布中间的 token 根据序列总长度均匀地分布在 0 到 1 之间。序列长度 3位置为[0, 0.5, 1]。每个间隔为0.5。序列长度 4位置为[0, 0.33, 0.69, 1]。每个间隔约为0.33。目的试图解决整型值标记带来的“数值无界”问题将位置信息压缩到一个固定的浮点数范围内避免位置值随序列长度无限增大。2.3 核心缺陷相对距离的语义不一致性这种方法虽然解决了数值范围问题但引入了一个更严重的语义问题Token 间的相对距离随序列长度变化而变化。2.3.1 缺陷详解在自然语言处理中距离往往代表着语法或语义的关联强度。短序列长度 3相邻 token 的数值距离是0.5。长序列长度 4相邻 token 的数值距离变成了0.33。更长序列这个距离会变得更小如长度 10 时距离为 0.11。2.3.2 为什么这是致命问题模型在学习语言规律时会建立“数值距离”与“语义关系”之间的映射。假设模型学习到当两个词的position距离为0.5时它们通常是“主谓关系”紧密关联。冲突发生在一个短句中相邻词的距离是0.5模型能正确识别为主谓关系。在一个长句中相邻词的距离变成了0.1模型可能会认为这两个词“距离很远”从而忽略它们之间的语法关联。后果模型无法形成稳定的位置感知。它学到的位置规律无法在不同长度的句子之间迁移。同样的语法结构仅仅因为句子变长了在模型眼里的“位置距离”就变了导致理解能力下降。2.4 理想的位置表示方式2.4.1. 能表示 Token 的绝对位置含义模型需要知道某个词具体在句子的哪个位置例如是开头、中间还是结尾。必要性某些语义依赖于绝对位置。例如句首的词通常是主语句尾的词可能是结论。如果只告诉模型“你在 50% 的位置”模型可能无法区分这是一个短句的中间还是长句的中间。2.4.2. 不同序列长度下相对位置/距离保持一致含义无论句子长短相邻两个词之间的“位置编码距离”应该是固定的或者遵循某种固定规律而不是随长度缩放。必要性这是为了解决上述核心缺陷。确保模型学到的“近距离依赖”规则在短句和长句中都能通用。2.4.3. 能表示训练过程中从未看到过的句子长度外推性含义模型训练时可能只见过长度为 512 的句子但在实际使用时需要处理长度为 1024 或 2048 的句子。位置编码方法必须支持这种泛化。必要性实际应用场景中输入长度是不可控的。如果位置编码只能处理训练过的长度模型的实用性将大打折扣。3. 二进制数字位置编码核心定义将 token 在序列中的位置索引Index直接转换为二进制向量作为位置编码加到 token 的词向量上。假设条件每个 token 的表征维度为d例如d4。位置索引p从 0 开始。使用d位二进制数来表示位置p。编码规则以4维二进制编码为例前9个token的位置编码如下Token位置十进制二进制向量 (dim4)Pos 00[0, 0, 0, 0]Pos 11[0, 0, 0, 1]Pos 22[0, 0, 1, 0]Pos 33[0, 0, 1, 1]Pos 44[0, 1, 0, 0]Pos 55[0, 1, 0, 1]Pos 66[0, 1, 1, 0]Pos 77[0, 1, 1, 1]观察规律最低位最右边dim 3每个token都变化0→1→0→1...变化最快次低位dim 2每2个token变化一次00→11→00→11...次高位dim 1每4个token变化一次最高位最左边dim 0每8个token才变化一次变化最慢二进制低位 → 高频变化快二进制高位 → 低频变化慢二进制编码缺陷离散的二进制数字编码会出现跳变而处于两个跳变区间的值全部相同要么全为0要么全为1。这种情况下模型很难感知到这些维度上的位置变化4. Sinusoidal位置编码4.1 sinusoidal连续性参数说明符号含义示例posToken 在序列中的位置0,1,2,3...i维度索引的一半i 0, 1, 2, ..., d/2-1d位置编码向量的总维度如 d5122i偶数维度使用sin)0, 2, 4, ...2i1奇数维度使用cos)1, 3, 5, ...示例分析当i0时第0维和第1维周期分析sin函数的完整周期是2π ≈ 6.283意味着每 6.2 个 token第 0 维的编码值就绕完一圈pos0: sin(0) 0.00 pos1: sin(1) 0.84 pos2: sin(2) 0.91 pos3: sin(3) 0.14 pos4: sin(4) -0.76 pos5: sin(5) -0.96 pos6: sin(6) -0.28 pos7: sin(7) 0.66 ← 开始新周期当i1时第二维和第三维假设d512,代入公式其中所以周期分析新周期1.029×2π≈6.468频率分布规律 不同维度的波长对比d512维度 i对应维度波长计算波长值频率i0dim 0,16.28最高频i1dim 2,36.47高频i2dim 4,56.66中高频...............i255dim 510,51163,662最低频总结低维度高频编高维度低频编Sinusoidal位置编码优势✅ 每个位置的编码都不同✅ 相邻位置的编码差异平滑✅ 模型可以轻松感知任意位置变化4.2 Sinusoidal的线性表示sin(AB)sinAcosBcosAsinBcos(AB)cosAcosB−sinAsinB这两个公式将角度相加的三角函数分解为单独角度的线性组合位置关系推导原始公式代入posk:令:所以其中所以公式结构分析根据以上公式可以表示为的线性组合形式为axb,其中b ±cos/sin(pos/⋯)⋅sin(k/⋯)特性说明优势线性关系相对位置编码可以用线性函数表示模型容易学习相对位置与的关系只依赖于k捕捉相对距离参数固定系数只与k 和维度 i有关与 无关泛化能力强4.3 Sinusoidal的相对位置信息在Self-Attention机制中模型能够感知两个不同token位置信息的关键时刻是Query和Key的计算过程。公式如下将上式展开可得其中第一项为token信息交互第二项为key的位置信息第三项为query的位置信息第四项为key和query的位置信息交互。因为Query和Key的位置编码同时出现在第四项所以这一项可能与相对位置有关。但原式子中原始的位置编码和都经过了线性映射这让分析变得困难。为了简化我们先把这两个线性映射当作恒等映射。那么相对位置这一项就可以简化成了。,其中 2ℎ 表示维度索引 d是总维度大小。上式中向量的两个维度分别对应维度 2ℎ 和维度 2ℎ1 的位置编码。为进一步简化符号记那么,利用上式计算向量内积利用三角函数性质所以根据以上公式按照Sinusoidal位置编码的定义如果我们不给两个位置编码引入额外的线性变化那么就能实现相对位置编码

相关文章:

位置编码详解

位置编码(Positional Encoding, PE) 是自然语言处理(NLP)中,特别是 Transformer 模型架构里的一个核心概念。它的作用是给序列中的每个词(Token)注入“顺序”或“位置”信息。一、WHY&#xff1…...

为什么你的PHP 8.9 JIT提速仅3.2%?揭秘CPU微架构适配盲区(Intel Ice Lake vs AMD Zen3实测对比)

第一章:PHP 8.9 JIT 编译器生产环境落地步骤PHP 8.9 并非官方已发布的版本(截至 2024 年,PHP 最新稳定版为 8.3),但本节基于社区实验性构建的 PHP 8.9-alpha 分支(含增强型 LLVM 后端 JIT 和运行时配置热重…...

IndexTTS-2-LLM功能全解析:不仅能用,还这么好用!

IndexTTS-2-LLM功能全解析:不仅能用,还这么好用! 1. 引言:为什么选择IndexTTS-2-LLM? 想象一下,你正在制作一个有声读物,需要把大量文字转换成自然流畅的语音。传统语音合成工具生成的机械音让…...

计算机考研 408 数据结构 排序算法

时间复杂度 or交换次数空间复杂度移动次数稳定最好最坏直接插入排序O(n)O()O(1)O()√冒泡排序O(n)O()O(1)O()√简单选择排序O()O()O(1)O(n)希尔排序O(1)O()快速排序O(nlogn)O()O(logn) 栈平均 O(nlogn)最坏 O()堆排序O(nlogn)O(nlogn)O(1)O(nlogn)二路归并排序O(nlogn)O(nlogn)…...

老年关怀:AI Agent作为健康与生活伴侣

老年关怀:AI Agent作为健康与生活伴侣 1. 核心概念 1.1 老年健康与生活关怀的“黄金三角困境” 核心概念拆解 老年健康与生活关怀的黄金三角困境是我在过去7年参与5个省级智慧养老试点项目、调研超过3000位独居/空巢老人、200家社区养老机构和100家科技厂商后总结出的核心矛…...

AI Agent在物流与运输中的应用:路径优化与调度自动化

AI Agent在物流与运输中的应用:路径优化与调度自动化 引言 在当今快速发展的商业环境中,物流与运输行业正面临着前所未有的挑战。随着电子商务的爆发式增长,消费者对配送速度、成本和可靠性的要求越来越高。同时,全球化供应链的复杂性、燃油价格的波动以及环保法规的日益…...

易语言开发雷电模拟器中控系统源码包|完整框架+核心模块源代码

温馨提示:文末有联系方式易语言雷电模拟器中控系统源码发布 本套为基于易语言开发的雷电模拟器中控框架完整源码包,涵盖主控逻辑、设备通信、指令调度等核心模块,采用模块化设计,便于二次开发与功能扩展。框架完整性说明 当前版本…...

洛谷题解:P15804 [GESP202603 八级] 消息查找

考场上的代码赛后发现改五十个字符就过了,呜呜呜。 题意 给一个图,每个节点指向上一个节点,有最多 100010001000 条附加边,从一个大编号的点指向小编号,快速求任意两点的距离。 思路 由于指向上一个节点的边太浪费…...

我让 Claude 和 Codex 同时审计 个模块,它们只在 个上达成共识识

整体排查思路 我们的目标是验证以下三个环节是否正常: 登录成功时:服务器是否正确生成了Session并返回了包含正确 JSESSIONID的Cookie给浏览器。 浏览器端:浏览器是否成功接收并存储了该Cookie。 后续请求:浏览器在执行查询等操作…...

Shell应用手册(一) 5 .终端连接与环境配置(SSH连接、命令行提示符含义)

对于后端开发者、运维工程师而言,终端是日常工作中最常用的工具之一。无论是远程管理服务器,还是本地调试程序,终端连接的稳定性、环境配置的合理性,直接影响工作效率。而SSH连接作为远程终端访问的核心方式,命令行提示…...

springboot基于Hadoop的健康饮食推荐系统的设计与实现_5578bn9k_yh025

前言 随着人们生活水平的提高和健康意识的增强,越来越多的人开始关注自己的饮食习惯和健康状况。然而,传统饮食推荐方式往往缺乏个性化与数据支撑,难以满足用户多样化需求。SpringBoot基于Hadoop的健康饮食推荐系统应运而生,旨在为…...

基于扩展卡尔曼滤波EKF和模型预测控制MPC,自动泊车场景建模开发,文复现。 MATLAB(工...

基于扩展卡尔曼滤波EKF和模型预测控制MPC,自动泊车场景建模开发,文复现。 MATLAB(工程项目线上支持)自动泊车这活儿看着简单,实际操作起来全是坑。今天咱们就掰开揉碎了聊聊怎么用EKF和MPC这对黄金搭档搞定车位里的毫米…...

图片格式转换效率革命:从繁琐流程到一键操作的技术突破

图片格式转换效率革命:从繁琐流程到一键操作的技术突破 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors/sa/Save-…...

qtCreator应用程序输出窗口qDebug不输出问题

可以通过配置环境变量export QT_LOGGING_RULES"*.debugtrue;qt.*.debugfalse"...

YOLO 系列专栏(三十七)【全网首发】YOLO26 独家卷积改进|CVPR 2025 FDConv 频率动态卷积,结合 FDC3k2 二次创新,突破小目标特征表达瓶颈

目录 摘要 一、引言:传统卷积的小目标痛点 二、核心技术原理解析 2.1 FDConv 频率动态卷积(CVPR 2025 核心思想) 2.1.1 核心流程 2.1.2 关键优势 2.2 FDC3k2 二次创新模块(全网首发) 2.2.1 结构设计 2.3 FDConv vs 传统卷积/主流动态卷积(小目标场景对比) 三、…...

BLE 协议栈:HCI ISO 数据详解

BLE 协议栈:HCI ISO 数据详解前言一、定义1、HCI ISO 数据包(ISO Data Packet)二、ISO 数据包结构1、Host to Controller 格式2、Controller to Host 格式3、字节级格式表三、ISO Data Load 格式1、Host to Controller(主机到控制…...

高薪招聘!13-40K!AI大模型应用工程师,带你玩转AI前沿技术!

本文介绍了一则AI大模型应用工程师的招聘信息,岗位职责包括AI大模型在实际业务场景中的应用开发、需求分析、模型应用场景设计、智能应用构建与优化等。要求应聘者具备计算机相关专业学历,熟练掌握Python,有Java项目开发经验者优先&#xff1…...

Linux:入门开发工具--Git和GDB调试器

1.版本控制器Git1.1 Git的背景知识Git 是一款由 Linux 创始人 Linus Torvalds 在 2005 年开发的分布式版本控制系统。当时 Linux 内核社区因商业版本控制工具授权问题被迫更换工具,急需一个高效、分布式、速度极快的管理方案,Git 因此诞生,它…...

大模型之Linux服务器部署大模型斜

一、各自优势和对比 这是检索出来的数据,据说是根据第三方评测与企业数据,三款产品在代码生成质量上各有侧重: 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一;Python首生成率达92.3% SQL生成准确率提升35%&…...

【Agent面试题大揭秘】50道高频题深度解析,助你拿下Offer!

一、Agent 基础与架构什么是 Agent 的“感知-规划-行动”闭环?如何实现?Agent 的长期记忆和短期记忆分别如何设计和存储?如何解决 Agent 的“幻觉”问题?Agent 的状态管理是如何实现的?如何保证多轮对话的状态一致性&a…...

Windows系统的MBR磁盘分区

对于逻辑类数据恢复技术的学习,最重要的就是对各种系统下的分区结构及文件系统结构的学习。作为目前主流的操作系统Windows,它能够支持的分区结构包括MBR磁盘分区、动态磁盘分区及GPT磁盘分区:它能够支持的文件系统结构包括FAT12、FAT16、FAT…...

数学建模算法案例精讲500篇-【自动驾驶】自动驾驶中的决策规划算法概述(代码篇第一篇:全局路径规划+行为决策)

目录 一、前言:代码篇核心定位与环境说明 1.1 运行环境说明 1.2 代码设计思路 二、A*算法代码实现(全局路径规划主流) 2.1 算法核心回顾(对应理论篇2.2节) 2.2 完整MATLAB代码实现 2.3 代码说明与调试技巧 2.3.1 代码结构对应理论 2.3.2 调试技巧(工程适配重点)…...

一文读懂 JWT 无状态身份认证的核心原理

JWT 是目前前后端分离、微服务架构中最常用的无状态身份认证方案。本文用简洁易懂的方式,带你快速掌握 JWT 的签发、传递与校验核心逻辑,轻松理解其工作原理与安全机制。 一、什么是JWT? JWT(JSON Web Token)是一种轻…...

两条根本不同的道路:私有化部署与SaaS模式的抉择

很多企业在选型内部通讯工具时,面对的第一个问题往往是:选SaaS还是选私有化?这不是一个简单的技术偏好问题,而是一个关乎企业数据战略、安全治理与长期发展的核心决策。在“云优先”的浪潮下,公有云SaaS产品凭借开箱即…...

(四大天王)Python程序设计之四大核心数据结构:字典篇

(四大天王)Python程序设计之四大核心数据结构:字典篇摘要:在Python的“四大天王”——列表、元组、字典、集合中,字典(Dict)以其键值对映射和O(1)平均查找效率的特性,成为了处理关联…...

【计算机视觉】从Pixel到Mask:逐像素分类与掩码分类的实战对比

1. 计算机视觉中的像素级任务:从基础说起 第一次接触计算机视觉项目时,我盯着屏幕上密密麻麻的像素点发了好一会儿呆。这些看似简单的彩色小方块,究竟如何变成机器理解世界的语言?后来才明白,逐像素处理正是解锁图像理…...

12届蓝桥杯省赛Java B 组Q1~Q4

题目链接: Q1 蓝桥云课:ASC Q2 蓝桥云课:卡片 Q3 蓝桥云课:直线 Q4 蓝桥云课:货物摆放 算法原理: Q1解法:作差 时间复杂度O(1) 思路很简单,只需无脑算出L和A的差值&#xff…...

准分子消光炉市场预测:2025-2031年复合年增长率(CAGR)达5.5%

在工业表面处理领域,准分子消光炉作为一种依托准分子紫外(UV)光(典型波长172nm)的专用工业系统,正凭借其低温可控、精准改性的技术特性,重塑高端材料处理市场格局。据恒州诚思(YH Re…...

每日安全情报报告 · 2026-04-08

每日安全情报报告 2026-04-08 报告时间:2026年04月08日 12:49 覆盖周期:近48小时(2026-04-06 ~ 2026-04-08) 今日特别关注:微软 Patch Tuesday 日(Kerberos RC4 强制弃用生效) FortiClient EMS…...

1.C语言常见概念

目录1.C语言是什么?2.C语言的历史3.编译器的选择-VS2022正文1.C语言是什么?人和计算机是如何交流的?是使用计算机语言。就如同人与人交流使用的自然语言。目前的计算机语言有上千种,C语言就是其中一种,除此之外还有C/J…...