Transformer位置编码的数学之美:从正弦函数到相对位置关系的巧妙设计
在自然语言处理领域,词序往往承载着关键语义信息。"猫追狗"与"狗追猫"描述的是完全不同的场景,但传统词向量无法捕捉这种位置差异。2017年,Transformer架构通过一种精妙的数学设计——位置编码(Positional Encoding),成功将序列顺序信息注入模型,成为现代NLP的基石技术。本文将深入解析这一设计背后的数学智慧,揭示正弦函数如何优雅地编码绝对与相对位置关系。
1. 位置编码的核心挑战与设计原则
传统RNN通过时间步隐式编码位置信息,而Transformer的并行计算特性使其需要显式的位置表示。理想的位置编码需满足三个核心要求:
- 唯一性:每个时间步对应独一无二的编码
- 有界性:编码值范围稳定,不随序列长度爆炸
- 相对位置可识别:模型能捕捉元素间的距离关系
早期尝试使用可学习的位置嵌入(Position Embedding)存在明显局限。当测试序列长于训练序列时,模型无法泛化到未见过的位置。这促使研究者转向基于数学函数的确定性编码方案。
表:不同位置编码方案对比
| 编码类型 | 可学习性 | 泛化能力 | 相对位置表达 | 计算复杂度 |
|---|---|---|---|---|
| 可学习嵌入 | 高 | 有限 | 隐式 | O(L×d) |
| 正弦编码 | 固定 | 无限 | 显式 | O(1) |
| 旋转编码 | 固定 |


2762

被折叠的 条评论
为什么被折叠?



