原版Transformer的位置编码究竟有没有包含相对位置信息

关于Transformer中的位置编码 在图像处理中,位置编码的引入与自然语言处理中的方法有所不同,但基本的原理是相似的:为模型提供空间位置信息。例如,对于一个给定的位置,其与其他位置的相对位置编码将表示它们之间的距离或关系。绝对位置编码是为序列中的每个位置分配一个固定的编码,这个编码表示该位置在整个序列中的确切位置。与位置编码不同,位置嵌入是在模型训练过程中学习的,而不是预先定义的。在某些应用中,可能需要同时使用多种方法来捕获位置信息,例如,结合绝对位置编码和相对位置编码。为图像中的每个像素或区域分配一个固定的编码,表示其在图像中的绝对位置。 阅读详情

原版Transformer的位置编码究竟有没有包含相对位置信息。

不涉及到公式推导,面试的时候能大致说出来就可以,很少会让推导,尽最大可能让大家明白

简单概述

Transformer 原版的位置编码也就是正余弦函数编码,表达的是绝对位置信息,同时包含相对位置信息。但是经过线性变化,相对位置信息消失。基于此,需要对位置编码进行优化。

正文

原版位置编码使用的是正余弦函数,通过三角函数,可以得出一个结论就是: P E p o s + k PE_{pos+k} PEpos+k​可以被 P E p o s PE_{pos} PEpos​线性表示。

从这一点来说,原版位置编码可以反应一定的相对位置信息。

接下来,我们来看,经过注意力层,这个相对位置信息还在不在?

很简单,把词向量和位置向量作为输入,经过注意力层,然后因式分解,得到四个部分,我们重点关注包含两个不同位置编码的公式部分,形式如下:

KaTeX parse error: \tag works only in display equations

我们想要证明,这个公式能不能反应相对位置信息。

为了解决这个问题,我们化繁为简,先从下面这个公式入手:

KaTeX parse error: \tag works only in display equations

注意看公式(1)和公式(2)的区别,在中间多了两个矩阵相乘,这两个矩阵,是我们的Q/K矩阵,可以看做是一个线性变化,记住这个细节点。

经过公式推导,我们很容易知道公式(2)最后的结果只和两个位置的相对位置 k k k 相关,这个结果是包含相对位置信息。也就是说两个不同位置 P E PE PE的点积的结果可以反映相对距离。

通过实验我们知道这个结果大小随着相对距离的增大而减小,值得注意的是它并不能反映相对位置的方向,因为他是一个对称的。

具体的我们可以看下面这个图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

很好,接下来,我们就是证明本来可以反映相对位置信息的公式(2),在加上中间这个线性变化之后,相对位置信息还在不在。

直接看效果图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个图需要重点看的下面两个,也就是加了线性变化之后,变化趋势从最上面蓝色图标的线变成了下面两条线,也就是趋势已经完全没有了。

也就是说,实验结果显示,公式(1)的结果随着 k 的变化没有明显的趋势变化,也就是说相对位置信息消失了。

上面这些内容,估计5分钟左右吧,本来想加上相对位置编码,不过内容也挺多的,下回再发吧。

同学们,如果觉写的还行,给个在看。

参考链接:

一文读懂Transformer模型的位置编码

这个文章写的不错,主要是给出来正余弦函数表达相对信息的公式推导

浅谈Transformer模型中的位置表示

哈工大的SCIR写的文章,不错,从正余弦函数位置信息和相对位置信息和transformerx-l都讲出来了

Transformer改进之相对位置编码RPE

这个文章很好,讲了位置编码的几种优化,值得好好看看推导一下公式

如何优雅地编码文本中的位置信息?三种positioanl encoding方法简述

夕小瑶的文章,讲了三种位置编码,还可以,没事的时候可以看看

[相对位置编码一)Relative Position Representatitons RPR - Transformer

大佬讲了一下相对位置编码,很好,推荐

相对位置编码(二) Relative Positional Encodings - Transformer-XL

大佬讲的transformer-xl,推荐

Transformer架构:位置编码 2017年,Google的Vaswani 等人提出了一种新颖的纯注意力序列到序列架构,闻名学术界与工业界的 Transformer 架构横空出世。它的可并行化训练能力和优越的性能使其成为 NLP(以及最近的 CV)研究人员的热门选择。本文将重点讨论Transformer架构一个不可或缺的部分——位置编码(Positional Encoding)。 Transformer架构 位置编码是什么?它为什么这么重要? 在自然语言中,单词的位置与顺序定义了语法,也影响着语义。无法捕获的单词顺序会导致我们很难理解一句 阅读详情

相关推荐

PointCloud Transformer 之《相对位置编码》

在学习3D Transformer的位置编码之前,我们先回顾一下在NLP上对于语言进行建模时,Transformer的位置编码所起到的作用Transformer模型中的位置编码(Positional Encoding)用于解决序列中词语位置信息的问题。由于Transformer不像RNN那样按顺序处理输入序列,而是通过自注意力机制并行处理整个序列,因此需要一种方法来显式地为每个词添加位置信息,以保留序列中词的顺序关系。

weixin_51580530的博客 1257

一文搞懂Transformer的位置编码

本文介绍Transformer的位置编码,有图有表有推导,看不懂你打我!!!在Transformer出现以前,NLP任务大多是以RNN、LSTM为代表的循环处理方式,即一个token一个token的输入到模型当中。这种设计存在天生的缺陷。为了解决这些缺陷,Transformer把token的顺序信号加到词向量上帮助模型学习这些信息,这就位置编码(Positional Encoding)。接下来的内容不会涉及Self-Attention等牛逼的创新设计,只讨论位置编码,希望对大家有所帮助。

xian0710830114的专栏 2万+

Transformer的位置编码笔记(positional encoding)

介绍了transformer的位置编码为什么是正余弦函数,以及正余弦函数里面的数值是怎么来的

m0_59113542的博客 5538

[从0开始AIGC][Transformer相关]:一文看懂Transformer中的位置编码:绝对位置、相对位置、旋转位置编码

绝对位置编码最原始的正余弦位置编码(即sinusoidal位置编码)是一种绝对位置编码,但从其原理中的正余弦的和差化积公式来看,引入的其实也是相对位置编码。优势: 实现简单,可预先计算好,不用参与训练,速度快。劣势: 没有外推性,即如果预训练最大长度为512的话,那么最多就只能处理长度为512的句子,再长就处理不了了。当然,也可以将超过512的位置向量随机初始化,然后继续微调。相对位置编码。

Bin_Dut的博客 5576

绝对位置编码【三角/递归/相乘】->相对位置编码【XLNET/T5/DEBERTA】->旋转位置编码(ROPE/XPOS/FOPE)->复杂位置编码【CNN/RNN/复数/融合】

本文分成三类讲解: 1、绝对位置编码-BERT(学习位置编码) 2、正弦位置编码 3、相对位置编码-NEZHA 4、(处理超文本-层次位置编码) 对每一种都进行的讲解,并在代码中详细加了注释! 1、绝对位置编码-BERT BERT使用的是训练出来的绝对位置编码,这种编码方式简单直接,效果也不错。 这种方法和生成词向量的方法相似,先初始化位置编码,再放到预训练过程中,训练出每个位置的位置向量。 关于该方法的代码如下,用Keras写的,参考苏剑林老师的bert4keras中的代码 from keras.la.

weixin_36378508的博客 1万+

Transformer的位置编码

简单来说位置编码就是给一个句子中的每个token一个位置信息,通过位置编码可以明确token的前后顺序关系。对任何语言来说,句子中词汇的顺序和位置都是非常重要的。它们定义了语法,从而定义了句子的实际语义。RNN结构本身就涵盖了单词的顺序,RNN按顺序逐字分析句子,这就直接在处理的时候整合了文本的顺序信息。但Transformer架构抛弃了循环机制,仅采用多头自注意机制。避免了RNN较大的时间成本。并且从理论上讲,它可以捕捉句子中较长的依赖关系。

comli_cn的博客 6804

Transformer中的相对位置编码(Relative Position Embedding)

本篇preview:回顾transformer中绝对位置编码(absolute position embedding)相对位置编码方法详解和公式推导相对位置编码代码实现 回顾transformer中绝对位置编码(absolute position embedding) 在transformer的实现中,所有的input tokens是无序的,是没法像RNN的方法一样学到token之间的位置顺序关系,但是自然语言一定是有语序在里面的,所以原始的transformer的代码实现里就提供了一种非常简单的位置编码,

chenf1995的博客 1万+

2025秋招NLP算法面试真题(六)-原版Transformer的位置编码究竟有没有包含相对位置信息

Transformer 原版的位置编码也就是正余弦函数编码,表达的是绝对位置信息,同时包含相对位置信息。但是经过线性变化,相对位置信息消失。基于此,需要对位置编码进行优化。

weixin_41496173的博客 458

Swin Transformer之相对位置编码详解

Swin Transformer中非常核心之一即为相对位置编码,在此我将试图将其掰开了揉碎了进行讲解,尽可能以比较形象的方式进行理解。

weixin_40723264的博客 8586

Innovus快捷键大全:从入门到精通的效率提升指南

本文是Innovus快捷键从入门到精通的效率提升指南,旨在帮助芯片后端设计工程师通过掌握核心快捷键,将重复性鼠标操作转化为高效的肌肉记忆,从而显著提升版图设计、编辑和分析的工作流速度。文章系统讲解了视图导航、对象选择编辑、流程管理等关键快捷键组合,并提供了个性化配置与实战策略,助力工程师突破效率瓶颈,实现人机合一的流畅设计体验。

silver的专栏 797

双击文件夹弹窗“找不到应用程序”,但是右键点击打开可以

此电脑、回收站、c、d、f盘、控制面板、任意文件夹等都没有办法双击打开。 右键中包含“使用filemanager打开”,是由于FileManager卸载残留导致的。 懒人专用附件 下载解压上面附件,双击导入可以清理FileManager软件残留 参考: 双击此电脑出现找不到应用程序,但是右键点击可以-其他-优快云问答https://ask.youkuaiyun.com/questions/7631439 电脑上的文件夹双击都提示找不到应用程序,但是右击打开就能打开,该怎么解决? - 知乎 (z

webmasterqpwou的博客 1万+

Transformer中的位置编码:绝对位置编码、相对位置编码与旋转位置编码

位置编码是Transformer模型中至关重要的一部分,不同的编码方式适用于不同的任务和数据类型。本文详细介绍了绝对位置编码、相对位置编码和旋转位置编码的原理、实现及应用,通过具体的案例分析展示了它们在实际任务中的表现。随着NLP领域的不断发展,新的位置编码方法可能会不断涌现,进一步提升Transformer模型在复杂任务中的表现。了解并掌握这些位置编码方法,将有助于研究人员和工程师更好地应用Transformer模型,处理各种序列数据,提升模型的性能和应用效果。

python123456_的博客 2万+

vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案

因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱ESXI主机为192.168.20.10VCSA为192.168.20.7,后台为192.168.20.7:5480后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来。

m0_70212665的博客 5714

Transformer 结构详解:位置编码 | Transformer Architecture: The Positional Encoding

😎使用正弦函数为模型添加位置信息什么是位置编码?为什么我们需要位置编码。提出的方法The intuition其他细节相对位置FAQ为什么位置编码是和词嵌入相加而不是将二者拼接起来?位置信息层层传递之后不会消失吗?为什么同时使用正弦和余弦?总结原文信息References 使用正弦函数为模型添加位置信息 Transformer是只基于自注意力机制的序列到序列架构。因为并行计算能力以及高性能。使得它在NLP领域中大受欢迎。

我是菜鸡 1万+

lidar360 V8.0 & lidar360MLS V8.0雷达点云数据处理软件

机载林业 — 基于机载激光雷达点云数据提取一系列森林结构参数(如:高度分位数、叶面积指数、郁闭度等),分割单木并提取单木参数(包括树的位置、树高、胸径、枝下高、冠幅等属性),利用软件的多种回归分析功能可以结合地面调查数据反演森林生物量、蓄积量等功能参数。还可以生成等高线、山体阴影、坡度、坡向、粗糙度等多种产品。分类 — LiDAR360提供多种分类功能,包括地面点分类、模型关键点分类、选择区域地面点分类、机器学习模型分类(可高效地分离建筑、植被、路灯等通用类别)、深度学习模型分类、自定义深度学习分类等。

2403_83796253的博客 5154

innovus中path group 的策略和应用(上)

在所有的后端工具里边,有三个重要的引擎:auto-place,CTS,auto-route三个。这里边的auto-place是决断了整个设计时序的基点。。当然,就算是到了CTS/route阶段后,也可以继续利用auto-place数据优化的功能,在数据库上做数据路径增量优化(optDesign -increment)。可以说,数据路径的优化手段,实际上是贯穿在整个后端流程上的。。看看这其中的奥妙和有趣的事情。ICer GO!

i_chip_backend的博客 4217

什么?是Transformer位置编码

作者:陈安东,中央民族大学,Datawhale成员过去的几年里,Transformer大放异彩,在各个领域疯狂上分。它究竟是做什么,面试常考的Transformer位置编码暗藏什么玄机?本...

Kaiyuan_sjtu的博客 1万+

[Github]GitHub 2FA快速安全配置全攻略

GitHub强制要求用户启用双重身份验证(2FA)以提升代码安全。本文详细介绍了2FA的三种实现方式:TOTP应用验证(推荐)、SMS短信验证(备用)和硬件安全密钥(最安全),并提供了配置指南。特别推荐使用在线工具2FA.run快速测试TOTP功能。文章还涵盖恢复代码管理、企业级2FA策略制定以及常见问题解决方案,如时间同步问题、多设备同步等。通过强制2FA、定期审计和建立安全事件响应流程,开发者可构建更安全的代码管理体系。

冰茶的博客 2620

Transformer细节(九)——Transformer位置编码的改进

相对位置编码:更适合捕捉元素之间的相对关系,有助于处理长距离依赖和泛化到不同长度的序列。混合位置编码:结合绝对位置编码和相对位置编码的优点,提供丰富的位置信息,适用于需要同时捕捉全局和局部位置信息的任务。这两种编码方式的结合和应用,可以显著提高Transformer模型在处理复杂序列任务中的性能。

weixin_47129891的博客 1760

【INMP441】 MEMS麦克风,让硬件“听得见”,更要“听得清”

INMP441是一款数字MEMS麦克风,采用PDM接口输出高质量数字音频信号。相比传统模拟麦克风,它具有高度集成、抗干扰强、功耗低等优势,支持通过时钟启停实现软件控制开关。该麦克风体积小巧但功能强大,内置MEMS传感器、ADC转换器等模块,适合智能音箱、语音遥控等应用。工程师可通过ESP32等主控芯片轻松连接INMP441,利用多麦克风阵列实现波束成形等高级功能。INMP441展现了数字音频采集的先进技术,为创客和智能硬件开发者提供了优秀的音频解决方案。

深耕CV 1536

如何设计提示词来减少 AI 的幻觉问题?

如何设计提示词来减少 AI 的幻觉问题?

我哎GIS博客 2471

RoPE 相对位置编码解读与外推性研究

RoPE(Rotary Position Embedding)位置编码是大模型中最常见的位置编码之一,是论文 Roformer: Enhanced Transformer With Rotary Position Embedding 提出的一种能够将相对位置信息依赖集成到 self-attention 中并提升 transformer 架构性能的位置编码方式。谷歌的 PaLM 和 Meta 的 LLaMA 等开源大模型都是 RoPE 位置编码。

温染的笔记 5505

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【原理理解】Swin Transformer相对位置编码理解

现在,我们想要获取非负数的位置索引,怎么做呢?首先我们需要先知道相对位置最小,最大值是多少?最大值就是当前像素是第一个像素的时候最后一个像素的位置;最小值就是当前像素是最后一个像素时候第一个像素的位置;因此,对负数进行偏移需要X、Y 各自加上。现在,我们已经获取到非负的xy相对位置索引,需要做最后一个步骤,把两个索引映射成单一的维度的索引。能想到的最简单方式就是x+y,但是这个方式是不行的。如下图所示,如果直接两者相加,那么针对同一个像素,其他像素跟他的相对位置索引就会重复。

热爱生活、热爱技术、热爱记录~ 2555

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Transformer模型——位置编码

最原始的正余弦位置编码是一种绝对位置编码,但从其原理中的正余弦的和差化积公式来看,引入的其实也是相对位置编码。优势:实现简单,可预先计算好,不用参与训练,速度快;劣势:没有外推性,即如果预训练最大长度为512的话,那么最多就只能够处理长度为512 的句子,再长的就处理不了。当然,也可以将超过512的位置向量随机初始化,然后继续微调。大模型的外推性问题是指大模型在训练时和预测时的输入长度不一致,导致模型的泛化能力下降问题。

cancer_s的博客 1586

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【大模型知识点】位置编码——绝对位置编码,相对位置编码,旋转位置编码RoPE(附代码)

本文介绍了大模型中常见的绝对位置编码和相对位置编码方法,如transformer的正余弦位置编码,可学习位置编码,RoPE和ABiLi

想买很多漂亮衣服但是买不起的博客 5774

vision transformer的位置编码总结

视觉transformer位置编码

winycg的博客 1万+
上一篇: 谈一谈Decoder模块
下一篇: 谈一下相对位置编码
onnx
博客等级 码龄5年 1万+粉丝 416原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值