
视频元信息
- 所属课程:吴恩达深度学习专项课程 - 序列模型(Professionalization of Deep Learning)
- 章节:3.12 自注意力机制(Self-Attention Mechanism)
- 视频时长:约 11 分钟
- 核心主题:Transformer 网络中自注意力机制的原理与计算过程
内容摘要(TL;DR)
本节讲解 Transformer 的核心——自注意力机制。通过例句 "Jane visite l'Afrique en septembre",详细演示如何为每个词计算 Query、Key、Value 三个向量,通过 Query 与 Key 的内积计算注意力权重(Softmax),再对 Value 加权求和,得到每个词基于上下文的动态表示。核心优势是词表示不再固定,而是根据上下文自适应调整。
一、自注意力机制的引入 [00:03]
1.1 从 RNN 注意力到自注意力
- 之前学过在 RNN 等序列神经网络中使用注意力机制。
- 若想以类似 CNN 的风格使用注意力(即并行处理),就需要计算自注意力(Self-Attention)。
- 自注意力的目标:为输入句子中的每个词创建基于注意力的表示。
理解:RNN 的注意力是"解码器关注编码器",是跨序列的;而自注意力是"序列内部词与词之间互相关注",是同一序列内部的注意力计算。
1.2 运行示例
- 例句:"Jane visite l'Afrique en septembre"(Jane 在九月访问非洲)
- 句子共 5 个词,因此最终得到 5 个注意力表示,记为 A1 到 A5。
- 视频以第 3 个词 "l'Afrique"(非洲) 为例,演示如何计算 A3。
考点: 自注意力为每个词生成一个表示,表示数量等于句子中词的数量。本例中 5 个词 → 5 个表示 A1~A5。
二、为什么需要自注意力:词嵌入的局限性 [01:40]
2.1 传统词嵌入的问题
- 之前学过词嵌入(Word Embeddings),一种表示 "l'Afrique" 的方式是直接查找它的词嵌入向量。
- 但问题在于:同一个词在不同上下文中含义不同。
2.2 "非洲"的多义性
根据上下文,"l'Afrique" 可能指:
- 历史名胜之地(a site of historical interests)
- 度假目的地(a holiday destination)
- 世界第二大洲(the world's second largest continent)
重点: 不同的语境下,同一个词应该有不同的表示。固定词嵌入无法体现这种差异。
2.3 自注意力的解决方案
- 表示 A3 会查看周围的词,弄清楚句子中"非洲"到底在讲什么。
- 从而找到最合适的表示。
思考:这正是自注意力的核心价值——动态上下文表示(Contextual Representation)。与 Word2Vec、GloVe 等静态词嵌入形成鲜明对比。
三、注意力公式对比 [02:42]
3.1 RNN 注意力的公式
在 RNN 上构建注意力时使用的公式(视频中展示的左侧公式):
- 包含 Softmax 项。
- 指数项可视为注意力值(attention values)。
3.2 自注意力的公式
自注意力机制的注意力公式(视频中展示的右侧公式):
- 同样涉及 Softmax。
- 指数项同样类似于注意力值。
- 主要区别:每个词有三个值——Query、Key、Value,这些向量是计算每个词注意力值的关键输入。
易错点: 不要混淆 RNN 注意力公式与自注意力公式。两者都有 Softmax 和指数项,但自注意力引入了 Q、K、V 三组向量。
3.3 关键区别
| 对比项 | RNN 注意力 | 自注意力 |
|---|---|---|
| 计算方式 | 顺序计算 | 并行计算所有词 |
| 输入 | 隐状态 | Q、K、V 向量 |
| 核心机制 | 解码器关注编码器 | 序列内部词互相关注 |
理解:自注意力可以并行计算所有 5 个词的表示,这是 Transformer 比 RNN 训练效率高的关键原因之一。
四、计算 A3 的详细步骤 [03:52]
4.1 第一步:计算 Query、Key、Value 向量
设 X3 是 "l'Afrique" 的词嵌入向量。
- Q3 = W^Q × X3(Query 向量)
- K3 = W^K × X3(Key 向量)
- V3 = W^V × X3(Value 向量)
其中 W^Q、W^K、W^V 是学习算法的参数矩阵(可学习参数)。
考点: W^Q、W^K、W^V 是模型需要学习的参数矩阵,它们将词嵌入 X 映射为 Q、K、V 三种向量。
4.2 Q、K、V 的直觉解释
命名来源:借用数据库中 "查询(Query)" 和 "键值对(Key-Value Pairs)" 的类比。
- Q3(Query) :关于 "l'Afrique" 提出的问题。例如:"那里发生了什么?"(What's happening there?)
- K(Key) :每个词的"标签",用于回答 Query 的问题。
- V(Value) :每个词的实际内容表示,用于最终加权求和。
4.3 第二步:计算 Query 与 Key 的内积
- 计算 Q3 · K1:词 1(Jane)对"非洲发生了什么"这个问题的回答有多好。
- 计算 Q3 · K2:词 2(visite)对"非洲发生了什么"这个问题的回答有多好。
- 依次计算 Q3 与所有 K 的内积。
直觉示例:
- 若 K1 表示"这是一个人的词"(Jane 是人)
- 若 K2 表示"这是一个动作的词"(visite 是动作)
- 则 Q3 · K2 的值最大,说明 "visite" 提供了最相关的上下文信息——非洲是访问的目的地。
推导:内积越大,说明 Query 和 Key 的相似度越高,即该词与当前词的相关性越强。这是注意力机制的核心数学直觉。
4.4 第三步:Softmax 归一化
- 取这一行的 5 个内积值(Q3·K1 到 Q3·K5)。
- 对它们计算 Softmax,得到注意力权重。
- 在本例中,Q3·K2(对应 "visite")的值最大,Softmax 后权重最高。
重点: Softmax 的作用是将内积值转化为概率分布,使所有权重之和为 1,便于加权求和。
4.5 第四步:加权求和 Value
- 将 Softmax 得到的权重分别乘以对应的 Value 向量:
- 权重₁ × V1
- 权重₂ × V2
- ... 以此类推
- 最后将所有结果求和,得到 A3。
公式表示: A3 = Σᵢ (softmax(Q3·Kᵢ) × Vᵢ)
也可写作:A3 = A(Q3, K, V)
易错点: 注意是先用 Softmax 归一化内积,再用归一化后的权重对 Value 加权求和,顺序不能颠倒。
五、对所有词并行计算 [09:05]
5.1 扩展到全部 5 个词
- 上述过程不仅适用于 "l'Afrique"(第 3 个词)。
- 对句子中所有 5 个词(Jane, visite, l'Afrique, en, septembre)都执行同样操作。
- 最终得到 5 个丰富的表示:A1, A2, A3, A4, A5。
5.2 向量化表示
文献中使用的紧凑记法:
Attention(Q, K, V) = softmax(QK^T / √d_k) × V
- Q、K、V 是包含所有词对应值的矩阵。
- 这是对所有词计算的压缩向量化表示。
考点: 这个公式就是 "Attention is All You Need" 论文中提出的 缩放点积注意力(Scaled Dot-Product Attention) 。
5.3 分母 √d_k 的作用
- 分母中的项是对点积的缩放(scale) 。
- 目的是防止点积值过大导致 Softmax 梯度消失。
拓展:当 d_k(Key 向量维度)较大时,点积的方差会增大,导致 Softmax 输出趋近于 one-hot(极端分布),梯度变得极小,训练困难。除以 √d_k 可以将方差归一化到 1 左右。
重点: 这种注意力被称为 缩放点积注意力(Scaled Dot-Product Attention) ,是原始 Transformer 论文 "Attention is All You Need" 中采用的机制。
六、自注意力机制总结 [10:17]
6.1 Q、K、V 的最终直觉
| 向量 | 作用 | 直觉 |
|---|---|---|
| Query | 对当前词提出问题 | "非洲发生了什么?" |
| Key | 看所有其他词,通过与 Query 的相似度找出最相关的词 | "visite 是动作,最相关" |
| Value | 将相关词的信息融入当前词的表示 | "visite 应该如何在非洲的表示中体现" |
6.2 最终效果
- 得到 "l'Afrique" 的表示:"这是非洲,有人正在访问非洲"。
- 这是一个更细致、更丰富的表示。
6.3 与固定词嵌入的对比
重点: 自注意力的关键优势——词的表示不是固定的,而是根据左右上下文动态调整的。
- 固定词嵌入:每个词永远用同一个向量表示,无法考虑上下文。
- 自注意力表示:根据周围词动态调整,能捕捉上下文语义。
思考:这就是 BERT、GPT 等预训练模型强大的根本原因——它们都基于自注意力机制,能够生成上下文相关的动态词表示。
6.4 下一步预告
- 本节学习了自注意力机制。
- 下一节将在此基础上引入 多头注意力机制(Multi-Headed Attention) 。
拓展:多头注意力是自注意力的扩展,它并行运行多个自注意力"头",每个头学习不同的注意力模式(如语法关系、语义关系等),最后拼接输出。这让模型能同时关注不同位置的不同表示子空间的信息。
关键标签 / 关键词
自注意力机制 Self-Attention Transformer Query-Key-Value QKV 缩放点积注意力 Scaled Dot-Product Attention Softmax 词嵌入 上下文表示 注意力权重 Attention is All You Need 吴恩达深度学习 序列模型 多头注意力
生成时间:2026-10-11 00:55:02 生成平台:VideoNote www.xygy.top