视频封面

视频元信息

  • 所属课程:吴恩达深度学习专项课程 - 序列模型(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