Transformer 注意力基础模拟器 返回
机器学习

Transformer 注意力基础模拟器

Transformer 心脏部分的缩放点积注意力机制,用3个令牌即刻体验。改变各令牌的方向向量、查询、温度(缩放),点积分数、softmax注意力权重、输出向量、注意力熵实时变化,直观理解"注意力如何确定"。

参数设置
令牌1的方向 θ₁
°
key₁=value₁ 的方向(2维单位向量)
令牌2的方向 θ₂
°
key₂=value₂ 的方向(2维单位向量)
令牌3的方向 θ₃
°
key₃=value₃ 的方向(2维单位向量)
查询(注意力发出方)
选择令牌的嵌入作为查询Q
温度(缩放)τ
√d_k 缩放相当。越小注意力越锐利
计算结果
注意力权重 w₁
注意力权重 w₂
注意力权重 w₃
输出向量角度 (°)
最强注意令牌
注意力熵
注意力可视化 — 查询与3个令牌

单位圆上的箭头代表3个令牌的键方向。查询令牌被强调显示,从查询到各令牌的线条粗细和浓度表示注意力权重w_i。橙色箭头是值的加权和(输出向量)。

注意力权重分布
注意力权重 vs 温度 τ
理论与主要公式

$$\operatorname{Attention}(Q,K,V)=\operatorname{softmax}\!\left(\frac{QK^{\top}}{\sqrt{d_k}}\right)V$$

缩放点积注意力。用查询Q和各键K的点积生成分数,除以√d_k后用softmax归一化权重,再用权重对值V进行加权平均。

$$w_i=\frac{\exp(s_i/\tau)}{\sum_j \exp(s_j/\tau)},\quad s_i=Q\cdot K_i$$

注意力权重w_i与原始分数s_i。τ是温度(缩放)。单位向量情况下s_i=cos(θ_query−θ_i),方向接近的令牌得分更高。

$$H=-\sum_i w_i\ln w_i,\qquad \mathbf{o}=\sum_i w_i\,\mathbf{v}_i$$

注意力熵H(0=完全集中,ln3≈1.099=均匀)和输出向量o。√d_k缩放保持softmax在高灵敏度范围,防止梯度消失。

注意力机制是什么

🙋
最近常听说"Transformer"的"注意力(Attention)机制",但只从字面上理解不太清楚具体在做什么。
🎓
简单说,"注意力机制"就是"文句中当前单词应该关注哪些其他单词,用权重来决定"的仓制。比如"他吃了苹果,它是红的",处理"它"时如果强烈关注"苹果",就能理解句意。注意力用数值(权重)计算"看什么、看多少"。左边工具把令牌简化为3个箭头,你可以看到权重如何确定。
🙋
那权重是怎么算出来的呢?电脑不可能凭空知道"这里重要"吧。
🎓
关键是查询(Q)和键(K)的点积。每个令牌都是一个向量。发出注意力的查询与各令牌的键做点积,向量方向越近点积越大。这就是"原始分数"。在工具里把所有令牌方向调成一样,分数就全变成1,权重就均等了。反之,查询与令牌完全相反,分数为负,基本被忽视。
🙋
有了分数以后怎么办?直接用吗?
🎓
不是。分数要通过softmax函数,转换成所有权重加起来等于1的概率形式,这才是注意力权重w。更关键的是,分数在softmax前要除以"温度τ"。τ越小,分数差异越明显,最相似的那个令牌会得到接近100%的权重——"锐利的注意"。τ越大,差异被抹平,3个令牌的权重趋向均等——"模糊的注意"。试试拉动工具里的温度滑块,看柱状图的形状如何变化。
🙋
参数说明里提到"√d_k相当"。那个平方根是干什么的?
🎓
这是业界实践中的关键点。真实Transformer的维度d_k很大,可能64、128这样。维度越大,点积的值也越大,variance也按d_k增长。输入softmax时,值变得极端,softmax就饱和在0或1,梯度消失,训练停止。除以√d_k把分数方差压回约1,softmax就在高灵敏度范围工作,梯度能正常流动。这工具的"温度"就是那个除数系数,直接用滑块调。
🙋
最后出现的"输出向量"和"注意力熵"各代表什么意思?
🎓
输出向量是"用权重混合值V后的结果"。权重大的令牌向量对输出的拉动越强,是个加权平均。注意力熵衡量权重分布的分散程度,计算为H = -Σ w_i·ln(w_i)。权重全集中一个令牌时H接近0(注意力锐利),均匀分布三个令牌时H达到最大ln3≈1.10(注意力模糊)。真实Transformer分析也常按熵来分类"窄视角头"和"宽平均头"。拉动工具的温度滑块,你会看到熵和输出方向同步变化。

常见问题

缩放点积注意力是Transformer的核心运算,用公式 Attention(Q,K,V)=softmax(QKᵀ/√d_k)·V 表示。通过查询Q和各键K的点积计算"对哪个令牌注意多少"的分数,除以√d_k后用softmax归一化为0到1的权重,再用这些权重对值V进行加权平均。本工具使用3个2维单位向量,让你逐步跟踪整个流程。
当维度d_k很大时,查询和键的点积方差会按d_k增长,导致softmax输入值极端,softmax会饱和在0或1,造成梯度消失。除以√d_k将分数方差保持在约1,使softmax在高灵敏度范围工作,防止梯度消失。本工具的"温度"滑块扮演这个缩放系数的角色——越小注意力越锐利,越大越均匀。
注意力熵衡量注意力权重分布w的分散程度,计算公式H = -Σ w_i·ln(w_i)。权重集中于一个令牌时H接近0(注意力锐利),均匀分布于3个令牌时H达到最大ln(3)≈1.0986(注意力模糊)。降低温度时H减小,提高温度时H增大。在实际Transformer分析中,按熵分类"局部关注头"和"广泛平均头"。
查询Q代表"现在寻找什么",键K代表"各令牌能提供什么",值V是实际提取的内容。Q和K的点积衡量关联度(注意分数),用该权重混合V生成输出。用图书馆类比:Q是搜索关键词,K是书脊标签,V是书的内容。本工具为简化起见把键和值设为同一单位向量,但真实Transformer中Q、K、V各自由不同权重矩阵从嵌入线性变换得到。

实际应用

大型语言模型(LLM):GPT、Claude这类对话AI由许多Transformer块堆叠而成。各层的自注意力(self-attention)学习"句中哪些单词互相关联",捕捉代词指代和远程语法关系。本工具"查询向最近似的令牌注意"的行为,在巨大模型中本质相同。

机器翻译与摘要:注意力机制最初为神经机器翻译设计,用来"对齐原文和译文单词的对应关系"。可视化翻译的注意力权重时,原文和译文单词往往沿对角线排列,形成"对齐图"。摘要模型中也能通过注意力追踪输出句子来自输入的哪些部分。

图像识别(Vision Transformer):Vision Transformer把图像分割成补丁作为令牌。注意力学习"图像哪些区域相关"。权重热力图显示物体边界和语义相关区域浮现,能力与CNN不同——是更宽的全局文脉整合。

模型解释与可视化工具:研究和实务中用BertViz等工具可视化注意力权重,调查模型根据什么预测。本模拟器截取最小单位——一个查询与多个键之间分数和softmax如何动作——作为理解可视化结果的基础直觉。

常见误解与注意事项

首先一大误解是"注意力权重本身代表模型的推理根据"。权重高的令牌确实对输出有更强影响,但输出最终由值的内容加后续层的非线性变换决定。"权重高=原因就在这"的想法会误导解释。注意力权重是解释的线索但不等于因果说明。可视化应作为假说生成工具,而非最终结论。

其次是"温度越小越好"的误解。降低温度让注意力锐利化,最相关的单个令牌获得接近100%权重——看似理想,实际上softmax饱和导致梯度消失,训练停滞。太锐利的注意也失去"统合多个线索"的能力。真实Transformer用√d_k这个"适度缩放"平衡锐度和平滑度。试试工具里极端调大调小温度,观察两个极端的弊害。

最后别把这个工具的"2维、3令牌"当成真实Transformer的样子。真实模型嵌入维度数百,令牌数千,多个注意力头并行,Q、K、V由不同学习权重矩阵生成。本工具固定键=值为同一单位向量,是"最小模型",仅供体感"点积→缩放→softmax→加权和"的骨架。理解骨架后可进阶学习多维、多头、位置编码等真实模型元素。

使用指南

  1. 在0~360°范围内设置3个令牌(Token1~Token3)的方向向量角度。调节滑块th1Num、th2Num、th3Num
  2. 改变温度参数tempNum在0.1~2.0范围内,控制softmax分布的集中度。温度低时向最大值集中,高时趋向均匀分布
  3. 实时观测模拟器计算的注意力权重(w₁、w₂、w₃)、输出向量角度、注意力熵,理解注意力机制的动作

具体计算示例

Token1=0°、Token2=45°、Token3=90°、温度T=1.0执行时:缩放点积计算3个令牌间的相似度(余弦值),softmax函数归一化。若相似度为[0.8, 0.5, 0.3],则exp(score/T)=[2.23, 1.65, 1.35],归一化后注意力权重≈[0.45, 0.33, 0.22]。用权重对各令牌表示加权平均得输出向量角度约38°。将温度降到T=0.3时权重分布集中为[0.68, 0.24, 0.08],最强注意令牌向Token1偏向,注意力熵从2.97 bits降到1.45 bits,选择性增强

实务注意事项

  1. 令牌角度接近时(如Token1=30°、Token2=35°),点积值很高,温度影响明显。低温时Token1获得98%以上权重,存在信息损失风险
  2. 温度T=0.1(超低温)可能产生数值不稳定,实现时建议T≥0.2
  3. 多层Transformer(BERT、GPT系列)各层重复此运算,温度设置影响整体模型的多样性。推理时T=0.5~1.5,创意生成T=0.7~1.2是业界标准
  4. 注意力熵超3.0 bits时注意分散于多令牌,不利于特定模式识别。机器翻译任务最优熵范围1.5~2.5 bits