transformer 注意力机制解析

一、例子句子

我们用一句经典的歧义句:

复制代码
小明 打了 小红 因为 他 生气了

问题:

复制代码
“他” 指谁?

人类很容易理解:

复制代码
他 = 小明

Transformer 就是通过 Attention 自动学会这个关系


二、Step1:分词(Tokenization)

模型首先会分词:

复制代码
[小明] [打了] [小红] [因为] [他] [生气了]

每个词叫一个 token


三、Step2:查词表(Vocabulary)

模型有一个词表,例如:

ID
1 小明
2 打了
3 小红
4 因为
5
6 生气了

句子就变成:

复制代码
[1,2,3,4,5,6]

四、Step3:查 Embedding

模型有一个 Embedding 表

向量
小明 [0.9 , 0.1]
打了 [0.5 , 0.4]
小红 [0.8 , 0.2]
因为 [0.3 , 0.7]
[0.7 , 0.3]
生气了 [0.4 , 0.9]

句子变成向量:

复制代码
小明     [0.9 ,0.1]
打了     [0.5 ,0.4]
小红     [0.8 ,0.2]
因为     [0.3 ,0.7]
他       [0.7 ,0.3]
生气了   [0.4 ,0.9]

五、Step4:生成 Q K V

Transformer 会生成:

复制代码
Query
Key
Value

公式:

复制代码
Q = XWq
K = XWk
V = XWv

为了简单,假设:

复制代码
Q = embedding
K = embedding
V = embedding

六、Step5:计算 Attention(重点)

我们重点看:

复制代码

模型要判断:

复制代码
他 和 谁最相关?

公式:

复制代码
score = Q · K

1️⃣ 他 → 小明

复制代码
Q他 = [0.7 ,0.3]
K小明 = [0.9 ,0.1]

score =
0.7×0.9 + 0.3×0.1
= 0.63 + 0.03
= 0.66

2️⃣ 他 → 打了

复制代码
[0.7,0.3] · [0.5,0.4]

= 0.35 + 0.12
= 0.47

3️⃣ 他 → 小红

复制代码
[0.7,0.3] · [0.8,0.2]

= 0.56 + 0.06
= 0.62

4️⃣ 他 → 因为

复制代码
[0.7,0.3] · [0.3,0.7]

= 0.21 + 0.21
= 0.42

5️⃣ 他 → 生气了

复制代码
[0.7,0.3] · [0.4,0.9]

= 0.28 + 0.27
= 0.55

七、Step6:得到 Attention Score

score
小明 0.66
小红 0.62
生气了 0.55
打了 0.47
因为 0.42

八、Step7:Softmax 归一化

Softmax 后:

权重
小明 0.28
小红 0.24
生气了 0.20
打了 0.15
因为 0.13

注意力图:

复制代码
            他
         / / |  \
      小明 小红 生气了 ...
      0.28 0.24 0.20

九、Step8:加权 Value

Transformer 会把这些信息融合:

复制代码
Output = Σ attention × V

例如:

复制代码
0.28 × V小明
0.24 × V小红
0.20 × V生气了
...

求和得到新的:

复制代码
他'

新的向量包含:

复制代码
小明 + 小红 + 生气

但:

复制代码
小明权重最大

所以模型会学到:

复制代码
他 ≈ 小明

十、为什么模型能学会这个?

因为训练数据中会不断出现:

复制代码
小明 打了 小红 因为 他 生气了

正确标签:

复制代码
他 = 小明

训练时模型会调整:

复制代码
Wq
Wk
Wv

让:

复制代码
score(他→小明) 最大

十一、Attention 的本质

Attention 本质就是:

复制代码
谁和谁最相关?

用数学表达:

复制代码
相似度 = 向量点积

十二、Transformer 最强的地方

每个词都会做一遍:

复制代码
词 → 关注整个句子

例如:

复制代码
小明 打了 小红 因为 他 生气了

注意力矩阵:

复制代码
        小明 打了 小红 因为 他 生气
小明     •
打了     •
小红     •
因为     •
他      → 小明
生气     → 他

十三、一句话彻底理解 Attention

Attention 就是:

复制代码
每个词问:

我应该关注谁?

然后:

复制代码
关注越多 → 信息贡献越大

相关推荐
小江的记录本2 小时前
【AI大模型选型指南】《2026年5月(最新版)国内外主流AI大模型选型指南》(企业版)
前端·人工智能·后端·ai作画·aigc·ai编程·ai写作
北京华盛恒辉软件开发公司13 小时前
大模型运维深远海漂浮式风电系统已融合人工智能AI软件平台
运维·人工智能
HIT_Weston3 小时前
82、【Agent】【OpenCode】bash 工具提示词(amend 风险)
人工智能·agent·opencode
阿福聊编程3 小时前
Data-Analysis-Agent:用自然语言查数据库的开源 AI 数据分析工具
数据库·人工智能
Promise微笑3 小时前
Geo专家于磊:Json-LD优化实战SOP与双核四驱体系
大数据·人工智能·重构·json
金智维科技官方3 小时前
金智维入选中国信通院《高质量数字化转型技术解决方案集(2025年)》
人工智能·ai·自动化·数字化·智能体
跨境卫士苏苏3 小时前
欧盟固定收费临近之后跨境卖家如何判断哪些轻小件先退出
大数据·人工智能·跨境电商·亚马逊·跨境
knight_9___3 小时前
大模型project面试3
人工智能·python·语言模型·面试·大模型·agent
Aaron15883 小时前
全频段 SDR干扰源模块解决方案(星链干扰、LORA无人机干扰)
人工智能·算法·fpga开发·硬件架构·硬件工程·无人机·信息与通信
AI医影跨模态组学3 小时前
J Adv Res(IF=13)南方医科大学南方医院等团队:基于多模态渐进融合 Transformer 的肝细胞癌患者免疫治疗反应预测模型
人工智能·深度学习·论文·医学·医学影像·影像组学