news 2026/6/26 3:21:35

深度学习进阶(二十一)跨窗口的 RPE

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习进阶(二十一)跨窗口的 RPE

为什么要提出跨窗口的 RPE?#

1.1 正余弦绝对编码的局限#

我们还是用上一篇的例子来展开这个问题:假设模型上下文窗口长度为 4,一段长文本被切成了两个 segment:

Segment 1Segment 2
Position 1AE
Position 2BF
Position 3CG
Position 4DH

引入 Memory 后,Segment 2 中的 token 可以看到 Segment 1 的编码信息。
但模型无法区分位置 4 到底是指 D(第一个 segment 的末尾),还是 H(第二个 segment 的末尾)。

那可不可以这样:

利用正余弦的无限外推能力,直接让位置编码跨 segment 递增不就行了?Segment 1 用位置 1~4,Segment 2 用位置 5~8?

但问题在于:

正余弦位置编码虽然可以理论上无限生成,却并不意味着模型真的具备无限长度泛化能力。

要理解这一点,我们需要明白的是:PE 只是帮助学习的一环。
注意力真正的学习是词嵌入、位置编码、QKV 矩阵等综合实现的,这些实际上都是在训练长度范围内形成的。

假设模型训练的上下文长度为 512,那么模型长期接触的位置范围其实只有 0 ~ 512,它会在这个空间内形成比较稳定的分布。

但如果采用跨 segment 递增,出现了一个 PE(512000),模型没有在这种位置分布上训练过,导致无法泛化。
从专业名词上说,这叫:extrapolation degradation(外推退化)
这时就像让一个每天练习正常考试题的学生没有任何防备的去做竞赛题。巨大的差异会直接影响原本已经稳定的“解题思路”。
从而导致KQV 矩阵投影异常、注意力得分漂移等问题。
总结来说就是:

强行使用看似合理实际却不适配的配件,表面上解决了问题,但实际却带来了更多 bug。

因此,单纯使用全局递增的绝对位置编码,实际上并不能真正跨段的长上下文建模。

1.2 可学习绝对编码的局限#

相比正余弦绝对编码,可学习绝对编码的局限就更明显了:

完全没有外推能力。

展开来说,Transformer 中的可学习绝对位置编码本质上其实是一张位置查找表,当我们设置上下文长度为 512 时, 它就为每个位置初始化一组向量作为位置编码并注入,在反向传播中不断更新。

它不是位置越大,自动推导,而只是:“训练时记住了这个位置应该长什么样”。
所以,当采用跨 segment 递增,出现了一个 PE(512000),但可学习绝对编码只到PE(512)。而要增加就又回到了最初的窗口大小和计算量问题。

最终,可学习绝对位置编码因为本质上无法支持无限长度扩展,不适用于 Transformer-XL 。

1.3 原始 RPE 的局限#

在原始 RPE中,我们介绍了 Shaw 等人提出的相对位置编码:引入可学习的 和 ,分别加到 Key 和 Value 上。

从逻辑上说,相对位置天然就是跨窗口的,但过去的水救不了现在的火,原始 PRE 存在两个待优化问题:

  1. 可学习的相对位置表有长度限制。如果训练时最大相对距离是 10,而需要分段的长序列相对距离可能达到几千,这时候查表查不到,只能截断,信息丢失严重。
  2. "K/V 加法注入"的方式过于粗糙。它只是简单地把位置信息线性叠加到语义表示上,无法形成更丰富的交互。

因此,Transformer-XL 并没有直接用原始 RPE,而是重新设计了一套相对位置编码方案。

2.正余弦相对位置编码#

现在我们知道了 Transformer-XL 必须使用 RPE ,在正式展开其注入逻辑前,我们需要先了解 Transformer-XL 本身对编码逻辑的设计:正余弦相对位置编码

一个问题是:

“继续沿用原始 RPE 的相对位置表不可以吗?”

就像这样:

相对距离编码
-1
-2
-3

原因就是我们上面提到的:

可学习的相对位置表有长度限制,外推能力不足。

于是 Transformer-XL 做了一个非常关键的决定:

重新使用正余弦函数生成相对编码。

具体来说,对于相对距离:

Transformer-XL 会直接使用正余弦函数生成对应位置编码:

公式本身的计算逻辑和原始 Transformer的正余弦绝对编码没有任何区别,只是把绝对位置 变成了相对距离 。

假设位置编码维度:,:

维度公式计算结果

最终得到:

这就是 “相对距离为 -2” 对应的相对位置编码,它完善了长序列中的位置编码,相比绝对编码具有更好的泛化性。

不过这里需要注意的是,这种编码仍然存在上面提到的正余弦绝对编码的局限。
因为模型中的QKV 投影矩阵、Attention 模式等本质上仍然是在有限上下文范围内训练得到的,不能通过单独的编码设计就完全解决这些问题。
因此也催生了后续的更多改进。

3. 跨窗口的 RPE#

现在,我们通过正余弦相对位置编码解决了原始 RPE 可学习的相对位置表有长度限制的问题,一下个问题就是:"K/V 加法注入"的方式过于粗糙。

而 Transformer-XL 的做法并不是继续修补原始 RPE,而是重新推导 Relative Attention 的计算形式。

还是先回忆一下普通 Self-Attention 公式:

其中计算注意力分数的部分是:

但问题在于原始的它只包含“内容”,没有真正包含“位置关系”,所以原始 RPE 才会把 RPE 注入到 Attention 中。
而现在,这部分再次被重新改写为:

这也是 Transformer-XL 最核心的 Relative Attention 公式。
看起来很复杂,但它其实只是把“内容”和“位置”进行了分开建模。
我们分点来看:

3.1 内容项和位置项#

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 3:20:15

GraalVM原生镜像构建实战:十分钟让你的Java应用启动速度快100倍

引言 对于Java应用,启动慢、内存占用高一直是“刻板印象”。即使Spring Boot引入了懒加载、thin jar等优化,冷启动仍需数秒,内存几百MB,在Serverless、微服务容器化场景下,这成了致命短板。GraalVM Native Image技术通…

作者头像 李华
网站建设 2026/6/26 3:19:04

Windows平台FTP服务器搭建实战:从FileZilla Server配置到安全加固

1. 项目概述:从零到一,在Windows上构建一个可靠的FTP服务如果你手头有一台Windows电脑,无论是个人笔记本还是公司里闲置的旧台式机,想把它变成一个可以随时存取文件的“私人网盘”,或者为团队搭建一个简单的文件共享中…

作者头像 李华
网站建设 2026/6/26 3:18:09

体检报告翻译去哪办理?办理体检报告翻译件的费用是多少?

内容摘要:体检报告翻译可选择“慧办好”等具备ISO17100资质的线上小程序或线下翻译公司办理。费用受语种和复杂度影响,常规英语翻译一般为150-250元/页,德语、法等小语种为300-400元/页,加急需另付约20%服务费。1.为什么需要办理“…

作者头像 李华
网站建设 2026/6/26 3:17:01

Rust 生命周期的工程意义

Rust 生命周期的工程意义 在系统编程领域,内存安全与性能往往难以兼得,而 Rust 通过生命周期机制巧妙地解决了这一难题。生命周期不仅是 Rust 的核心语言特性,更是其工程实践中的重要工具。它帮助开发者在编译期捕获悬垂指针和数据竞争等问题…

作者头像 李华
网站建设 2026/6/26 3:16:55

大数据没那么远:把散乱数据理顺,让业务敢用

为什么很多系统会需要大数据一个业务系统刚开始做的时候,数据通常不复杂。用户信息放一张表。订单信息放一张表。操作日志放一个地方。外部接口返回结果再放一个地方。刚开始人还能记住。谁要查什么,找开发写个 SQL,或者导个 Excel&#xff0…

作者头像 李华
网站建设 2026/6/26 3:13:43

终极修复指南:快速恢复DSM 7.2+群晖Video Station功能

终极修复指南:快速恢复DSM 7.2群晖Video Station功能 【免费下载链接】Video_Station_for_DSM_722 Script to install Video Station in DSM 7.2.2 and DSM 7.3 项目地址: https://gitcode.com/gh_mirrors/vi/Video_Station_for_DSM_722 还在为升级到DSM 7.2…

作者头像 李华