NLP高频面试题(四十六)——Transformer 架构中的位置编码及其演化详解
引言
Transformer 模型(Vaswani 等人,2017)在序列建模中取得了革命性突破,利用自注意力机制实现了并行的序列处理。然而,Transformer 本身对序列的顺序信息不敏感:输入序列元素在自注意力中是无排列的(Permutation-invariant)。换言之,Transformer 缺乏像 RNN 那样的自然顺序编码能力,必须显式地注入位置(顺序)信息才能让模型“知道”第一个词和第二个词的区别。为了解决这一问题,Transformer 引入了**位置编码(Positional Encoding)**的概念,为每个序列位置提供一个向量表示,用以表示该位置在序列中的相对或绝对顺序。
在最初的 Transformer 中,作者采用了固定的正弦位置编码来为每个位置生成独特的表示。随后,研究者们提出了许多不同的方案对位置信息进行编码,包括可学习的位置编码(如 BERT 等模型所用)、相对位置编码(relative positional encoding,如 Transformer-XL、T5 等模型所用)、旋转位置编码(Rotary Positional Encod