Page 11 · SimLabs LLM Visual

Self-Attention 直觉

如果每个 token 只看自己,语言理解会非常脆弱。代词不知道在指谁,形容词不知道修饰什么,动作也不知道作用到谁身上。Self-Attention 的第一层直觉,就是让每个 token 在更新自己时,先看看整句里哪些 token 对自己最重要。

先建立语言直觉 再看权重分布 最后连接到 Q × K^T

换一个场景,看看当前 token 在“看谁”

选择不同语言场景,再切换当前焦点 token。页面会高亮句子里被重点关注的词,并显示一行注意力权重。你也可以自动播放,让不同 token 依次成为“当前 query”。

当前焦点:代词“它”
当前注意力分布

这一行不是“最终正确答案”,而是当前 token 在更新自身表示时,对整句其他 token 的参考力度。

不看上下文 vs 看上下文

把“谁在看谁”放成一张小表

下面这张表把当前场景里几个关键 token 的注意力行放在一起。横向是“它在看谁”,纵向是“谁在发起查询”。高亮行就是你当前选中的 query。

理解要点: Self-Attention 不是只保留一个最强连接,而是会形成一整行权重分布。模型通常会同时参考多个位置,只是强弱不同。

这一页和 QKV 数学公式是什么关系

当前焦点 token

它对应后面公式里的一个 Query 行。你可以把它理解成“我现在要更新自己,需要找哪些上下文”。

被关注的其他 token

它们对应后面公式里的 Key 和 Value 所在位置。Key 负责判断匹配度,Value 负责提供真正要拿走的信息。

这一行注意力条

它就是 softmax(QK^T) 的直觉版本。数值越高,说明该位置越值得参考。

下一页可以进公式

如果你已经能接受“一个 token 会回看整句并形成一行权重”,那么进入 Q、K、V 和打分矩阵就会自然很多。

一句话总结: Self-Attention 的本质,不是让 token 漫无目的地看全句,而是让它在更新自身时,动态挑出当前最有帮助的上下文线索。