≋ 交互式可视化

Transformer 位置编码热图

原版 Transformer 用正弦/余弦函数生成位置编码矩阵, 行对应序列位置,列对应模型维度。点击格子查看具体数值和计算公式, 切换曲线模式观察不同频率维度如何随位置变化。

d_model=64,显示前32维,序列长度=32

点击格子查看具体数值(行 = 位置 pos,列 = 维度 dim)

08162431维度 (dim)012345678910111213141516171819202122232425262728293031-10+1

为什么需要位置编码?Transformer 的自注意力机制对输入顺序不敏感(置换不变),需要显式注入位置信息。

sin/cos 设计的优势:① 不同位置的编码互不相同;② 任意固定偏移 k,PE(pos+k) 可由 PE(pos) 线性变换得到,帮助模型学习相对位置。

低维 vs 高维:低维(dim 小)频率高,区分相邻位置;高维(dim 大)频率低,提供全局位置感。热图左侧变化快、右侧变化慢正体现了这一点。

延伸学习

→ 阅读第 3 章《Transformer 架构深度解析》,了解位置编码在整体架构中的位置

可学习位置编码(Learned PE):BERT/GPT 使用可训练的嵌入向量替代固定 sin/cos 编码

RoPE(旋转位置编码):LLaMA/Qwen 等现代大模型采用,将位置信息编入注意力计算,支持长度外推

ALiBi:用注意力偏置替代位置编码,线性外推能力更强