首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >Transformer >Transformer 的位置编码(Positional Encoding)是如何实现的?

Transformer 的位置编码(Positional Encoding)是如何实现的?

词条归属:Transformer

1. 引入位置信息的必要性

由于 Transformer 完全不含循环和卷积结构,模型本身对序列中 token 的顺序没有感知能力——若仅靠注意力机制,打乱顺序的输入会得到相同结果。因此必须显式地向输入注入位置信息。

2. 正弦位置编码

原始 Transformer 采用不同频率的正弦和余弦函数生成位置编码,将其直接加到输入嵌入上。其设计特点是:任意两个位置之间的编码关系可以通过线性变换相互推导,使模型能够学习基于相对位置的注意力,并且具备对超出训练长度序列的一定泛化能力。

3. 可学习位置编码

除正弦编码外,许多后续模型采用可学习的位置嵌入,即把位置当作可训练参数随模型一起优化。两种方式在实践中均被证明有效,可学习编码在特定任务上往往更灵活,正弦编码则在长度外推上更具优势。

相关文章
Transformer中的Positional Encoding
最近我在学习Transformer结构的时候,发现其中的positional encoding很不好理解,尤其是其中的公式,为什么要这样设计,后来上网收集各种资料,方才理解,遂于此写一篇文章进行记录
mathor
2020-07-08
1.1K0
Transformer位置编码的深度解析
一句话定义 :位置编码是加到输入序列每个元素上的一个向量,用来告诉模型该元素在序列中的位置(或相对位置)。
索旭东
2026-03-31
4600
如何理解Transformer论文中的positional encoding,和三角函数有什么关系?
Transformer 模型中的位置编码(Positional Encoding)是为了让模型能够考虑单词在句子中的位置。
Dlimeng
2024-01-07
1.6K0
HuggingFace工程师亲授:如何在Transformer中实现最好的位置编码
在 Transformer 模型中,位置编码(Positional Encoding) 被用来表示输入序列中的单词位置。与隐式包含顺序信息的 RNN 和 CNN 不同,Transformer 的架构中没有内置处理序列顺序的机制,需要通过位置编码显式地为模型提供序列中单词的位置信息,以更好地学习序列关系。
机器之心
2025-02-14
1.1K0
Transformer位置编码的深度解析:从傅里叶级数到相对位置编码
2017年Google团队在《Attention Is All You Need》中提出的Transformer架构,彻底改变了自然语言处理领域的游戏规则。这种基于自注意力机制的模型摒弃了传统RNN的序列处理方式,实现了对整个输入序列的并行处理,为GPT、BERT等大语言模型奠定了技术基础。
用户6320865
2025-08-27
1.7K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券