胡慧华
菜单
首页人工智能机器学习深度学习智能体项目实践关于我
跳至课程正文
← 返回深度学习课程

DEEP LEARNING · COURSE 11

此刻,哪些信息更重要?

为上下文分配不同权重,让模型聚焦相关内容。

进阶约 30–35 分钟7 个学习环节
查询词以不同亮度连接上下文词语的注意力示意
本课学习重点
  • Query · 查询
  • Key · 键
  • Value · 值
01

先从一个具体问题出发

理解“它”究竟指什么

句子“机器人搬起箱子,因为它很轻”中,理解“它”需要回看前文,并判断“箱子”比“机器人”更相关。注意力用可学习的权重表达这种关联。
SEQUENCE & ATTENTION

通过词语关联热力图理解查询、键、值和注意力权重。

这一课要回答:注意力机制:哪些信息更重要
02

建立必要的基础概念

先认识三个关键词

先看每个概念负责什么,再把它们放回完整流程。无需先记公式,先建立直觉。
01 · Query · 查询

我正在寻找什么

当前词元发出的需求,用于和上下文信息比较。

02 · Key · 键

我包含什么线索

每个上下文词元提供可被匹配的特征。

03 · Value · 值

匹配后取回什么

权重越高,对最终汇总结果的贡献越大。

03

把概念连接成流程

一次注意力计算

按顺序走一遍,观察每一步的输入、动作与输出。
  1. 01

    生成查询、键和值

    同一输入经过不同参数变换得到三组表示。

  2. 02

    计算相关分数

    查询与每个键比较,得到匹配程度。

  3. 03

    归一化为权重

    Softmax 让权重为正且总和为 1。

  4. 04

    加权汇总信息

    按权重组合各个值,形成上下文表示。

04

互动实验 · 动手建立直觉

选择查询词,查看关联热力图

点击句子中的不同词语,观察关注对象如何随当前查询改变。权重是教学示意,用来理解机制。
机器人12%
搬起8%
箱子52%
因为5%
它16%
很轻7%

当前查询“它”最关注“箱子”。这是为理解机制设计的示意权重。

05

知道模型能做什么,也知道不能做什么

三个容易忽略的边界

技术名词描述的是一种计算方法。真正用于产品时,还要检查数据、指标、成本与使用场景。
01

注意力权重不是因果证明

高权重表示计算中的关联,不等于人类可直接采信的解释。

02

上下文越长,计算越贵

标准自注意力要比较许多词元对,成本随长度快速增长。

03

权重由数据学习

训练偏差会影响模型关注的内容。

06

可选代码实践 · 逐行理解

把相关分数变成注意力输出

代码只呈现本课最关键的计算路径。先根据注释理解每一步,再放进完整项目。
course-11.py
import torch

scores = query @ keys.transpose(-2, -1)
scores = scores / (query.size(-1) ** 0.5)
weights = torch.softmax(scores, dim=-1)
context = weights @ values

print(weights.sum(dim=-1))  # 每行约等于 1
  1. 步骤 1

    查询与键做点积,分数越大表示当前表示越匹配。

  2. 步骤 2

    除以维度平方根,避免向量维度较大时分数过度放大。

  3. 步骤 3

    归一化权重与值相乘,得到针对当前查询的上下文。

07

知识检查与课程总结

确认你能把概念讲清楚

完成三个问题,再用五句话回顾本课主线。

已回答 0 / 3 题 · 当前答对 0 题

01注意力权重表达什么?
02Softmax 后的权重通常有什么特点?
03注意力权重能直接证明模型因果理由吗?
  1. 注意力允许当前表示直接查看上下文。
  2. 查询提出需求,键用于匹配,值提供内容。
  3. Softmax 将相关分数转换为相对权重。
  4. 不同查询会产生不同的信息分配。
  5. 注意力热力图可辅助观察,但不能当作完整解释。

下一课 · COURSE 12

Transformer

把多头注意力、位置信息和前馈网络组成可堆叠的结构。

继续下一课 ↗