大模型原理:编码单词位置信息

介绍

大语言模型的 自注意力机制 本质上 与位置无关,因此必须向模型中注入额外的 位置信息

自注意力为什么“与位置无关”?

因为自注意力的计算方式是:

对于每个词,它会:

  • 看所有词(包括自己)
  • 计算与每个词的相似度(query · key)
  • 按相似度加权求和(value)

注意:这个过程完全不看 “词在句子中的位置”。

例子

句子 A:

猫 抓 狗

句子 B(顺序打乱):

狗 抓 猫

自注意力在计算时,不会知道哪个词在前、哪个词在后。

它只知道“有三个词,它们之间的相似度是多少”。

所以:

  • 输入顺序变了
  • 自注意力的输出也会变
  • 但模型并 不知道“顺序”本身的语义

自注意力能“看到”你把顺序打乱了,但它不知道“顺序原本是什么”。

为什么必须注入位置信息?

因为语言是高度依赖顺序的。

例如:

  • 猫 抓 狗
  • 狗 抓 猫

这两句话的意思 完全相反。

但对自注意力来说:

  • 词还是那三个词
  • 相似度计算也几乎一样
  • 它无法区分“谁在前谁在后”

所以如果不告诉模型位置,它就无法理解语言的基本结构。

这就是为什么必须加入位置编码/位置嵌入。

位置信息解决了什么问题?

位置信息让模型知道:

  • 这个词在句子的第几个位置
  • 它和其他词之间的距离
  • 语序的语义(比如“我打他”和“他打我”)

加入位置信息后,模型才能真正理解语言的顺序结构。


原文出处:/show_1GW2YsuvK4X0.html