QKV 注意力计算
“点词看注意力”那页给了直觉,这页拆开看注意力到底是怎么算出来的。每个词都准备了三样东西:查询 Query、键 Key、值 Value。一个词要更新自己,就拿它的 Query 去和每个词的 Key 比对齐程度(点积)当作分数,softmax 成权重,再按权重把大家的 Value 混合起来。点一个词当查询方,看它和谁最对齐、输出又像谁。
点下面任意词把它设为查询方(Query)。左图的黑箭头是它的 Query,彩色箭头是各词的 Key——箭头越同向,点积分数越高。右边把分数 softmax 成权重,按权重混合各词的颜色(Value)得到输出。
对齐程度 = Query · Key
分数 → softmax 权重
输出 = Σ 权重×Value
最接近 — 的表示
最接近 — 的表示
分数 = 点积
Query 和 Key 越“同向”,点积越大,说明这个词越值得关注。
softmax 成权重
把一排分数压成加起来为 1 的权重,分数高的拿到更大的份额。
输出 = 加权的 Value
按权重把各词的 Value 混合——输出主要由最受关注的词决定。