这一行不是“最终正确答案”,而是当前 token 在更新自身表示时,对整句其他 token 的参考力度。
Self-Attention 直觉
如果每个 token 只看自己,语言理解会非常脆弱。代词不知道在指谁,形容词不知道修饰什么,动作也不知道作用到谁身上。Self-Attention 的第一层直觉,就是让每个 token 在更新自己时,先看看整句里哪些 token 对自己最重要。
先建立语言直觉
再看权重分布
最后连接到 Q × K^T
换一个场景,看看当前 token 在“看谁”
选择不同语言场景,再切换当前焦点 token。页面会高亮句子里被重点关注的词,并显示一行注意力权重。你也可以自动播放,让不同 token 依次成为“当前 query”。
把“谁在看谁”放成一张小表
下面这张表把当前场景里几个关键 token 的注意力行放在一起。横向是“它在看谁”,纵向是“谁在发起查询”。高亮行就是你当前选中的 query。
理解要点: Self-Attention 不是只保留一个最强连接,而是会形成一整行权重分布。模型通常会同时参考多个位置,只是强弱不同。
这一页和 QKV 数学公式是什么关系
当前焦点 token
它对应后面公式里的一个 Query 行。你可以把它理解成“我现在要更新自己,需要找哪些上下文”。
被关注的其他 token
它们对应后面公式里的 Key 和 Value 所在位置。Key 负责判断匹配度,Value 负责提供真正要拿走的信息。
这一行注意力条
它就是 softmax(QK^T) 的直觉版本。数值越高,说明该位置越值得参考。
下一页可以进公式
如果你已经能接受“一个 token 会回看整句并形成一行权重”,那么进入 Q、K、V 和打分矩阵就会自然很多。
一句话总结: Self-Attention 的本质,不是让 token 漫无目的地看全句,而是让它在更新自身时,动态挑出当前最有帮助的上下文线索。