Transformer中的位置编码 参考网址社区供稿 | 图解RoPE旋转位置编码及其特性 - 智源社区目的Attention机制根据周围token语义修改token的嵌入值而周围token的位置会影响这种修改的方向和强度。因此需要有一种方法让注意力机制了解各个token的位置。主要类型一绝对位置编码1. 训练式位置编码上下文长度确定不具有长度外推性2. Sinusoidal位置编码在不同token向量的同一个维度上呈现出正弦变化token向量的不同维度上正弦变化的频率不同用于告诉模型长距离和短距离的关联。这种编码还可以实现距离越近内积越大也就是越近的token影响越大。公式其中k为token对应嵌入向量的序号i为向量中维度的序号因此token的序号ktoken位置越接近语义影响程度就越大。这其实已经蕴含了token的相对位置表达。二相对位置编码1. RoPE旋转位置编码在绝对位置编码中尤其是在训练式位置编码中模型只能感知词向量的绝对位置而无法感知词向量之间的相对位置。在Sinusoidal位置编码中模型一定程度上能够感知相对位置。而RoPE试图通过绝对位置编码的方式实现相对位置编码。保持向量模长不变通过向量旋转的到达的位置来区分token位置通过向量旋转频率来区分所关注的token向量的维度。对于单个token向量来说两维度一组做旋转。θ指示旋转的频率每一组两个维度都有一个特有的θ。而m表示的是token所在的绝对位置也就是token序号。每个token向量都唯一对应一个m。那么对多个token向量都做如上处理之后不同向量的同一个维度组就会有相同的频率θ 和 不同的相位由不同位置token带来的不同m导致而不同维度组就由不同θ带来的变化频率不同作区分。详见社区供稿 | 图解RoPE旋转位置编码及其特性 - 智源社区