第6步:注意力机制入门
Query、Key、Value 各是什么?注意力热力图看清模型"看"向哪里
① 注意力权重热力图(行 = Query 我在找什么 · 列 = Key 我被谁关注 · 颜色越深权重越高)— 点击格子或词标签切换 Query
② 两步走:原始打分 s = Q·Kᵀ ÷ √d(左,不受 τ 影响)→ softmax(s ÷ τ) 归一化(右,每行和为 1)
③ 输出怎么来:输出 = Σ(权重 × Value)— 先看权重,再逐项相乘、逐列相加(当前 Query 行)
预设场景
「词序变化」用同一批词换个排列:它好奇,因为小猫追蝴蝶。注意力按内容匹配、不按位置 —— 热力图会跟着内容走(这正是后来要额外加"位置编码"的原因)。
控制
τ 越小,softmax 越接近 one-hot(只盯住最相关的词);τ 越大,越接近均匀分布(雨露均沾)。
选择 Query(我在找什么)
当前 Query「它」最关注
—
—
Query、Key、Value 各是什么?
Query = 我在找什么;Key = 我身上贴的标签;Value = 我真正提供的内容。 每个词(token)都同时掏出这三样东西。
注意力三步走:① 用我的 Q 和所有人的 K 逐个打分(点积 = 相似度); ② softmax 把打分归一化成和为 1 的权重(τ 控制"专注"程度); ③ 按权重对所有人的 V 加权求和 —— 新向量就"吸收"了上下文。 比如「它」的 Q 与「小猫」的 K 最匹配,于是「它」的输出主要来自「小猫」的 V —— 这就是指代消解的直觉。
为什么要 ÷√d?维度 d 越大,点积天然越大,softmax 会被顶到饱和区(梯度消失); 除以 √d 把打分拉回温和区间。本页 W 取单位阵(Q = K = V = 词向量)方便观察,真实模型里 W 是可学习的。
为什么 Transformer 靠它取代 RNN?RNN 必须一个词一个词顺序处理; 注意力把 6×6 打分矩阵一次性算完(所有 token 并行),还能一步"看向"任意远的词。 Transformer = 多层多头注意力的堆叠,是大语言模型的地基。
🔰 先修:ML 第 7 步 · Softmax
Query = 我在找什么;Key = 我身上贴的标签;Value = 我真正提供的内容。 每个词(token)都同时掏出这三样东西。
注意力三步走:① 用我的 Q 和所有人的 K 逐个打分(点积 = 相似度); ② softmax 把打分归一化成和为 1 的权重(τ 控制"专注"程度); ③ 按权重对所有人的 V 加权求和 —— 新向量就"吸收"了上下文。 比如「它」的 Q 与「小猫」的 K 最匹配,于是「它」的输出主要来自「小猫」的 V —— 这就是指代消解的直觉。
为什么要 ÷√d?维度 d 越大,点积天然越大,softmax 会被顶到饱和区(梯度消失); 除以 √d 把打分拉回温和区间。本页 W 取单位阵(Q = K = V = 词向量)方便观察,真实模型里 W 是可学习的。
为什么 Transformer 靠它取代 RNN?RNN 必须一个词一个词顺序处理; 注意力把 6×6 打分矩阵一次性算完(所有 token 并行),还能一步"看向"任意远的词。 Transformer = 多层多头注意力的堆叠,是大语言模型的地基。
🔰 先修:ML 第 7 步 · Softmax
💡 键盘快捷键:← → 切换章节