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

DEEP LEARNING · COURSE 12

让每个词,都看见上下文。

组合位置、多头注意力与前馈网络,读懂 Transformer。

进阶约 40–45 分钟7 个学习环节
多组注意力路径连接层叠 Transformer 模块
本课学习重点
  • 位置编码
  • 多头自注意力
  • 前馈网络
01

先从一个具体问题出发

同一个词,在不同位置有不同作用

Transformer 可以同时处理一句话中的所有词元,但同时处理会失去天然的先后顺序。因此它需要显式加入位置信息,再让每个词元通过自注意力联系上下文。
SEQUENCE & ATTENTION

通过逐步信息流理解词元、位置编码、多头自注意力、残差连接和 Transformer 层。

这一课要回答:Transformer:把上下文联系起来
02

建立必要的基础概念

先认识三个关键词

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

告诉模型词元在哪里

词元表示加入位置线索,区分相同词出现在不同顺序的情况。

02 · 多头自注意力

从多个角度观察关联

不同注意力头可以学习语法、指代、距离等不同关系。

03 · 前馈网络

逐位置加工信息

注意力完成信息交流后,每个位置再经过相同的小网络变换。

03

把概念连接成流程

走过一个 Transformer 层

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

    词元嵌入

    把离散词元变成连续向量。

  2. 02

    加入位置信息

    保留先后与距离线索。

  3. 03

    多头自注意力

    每个位置收集相关上下文。

  4. 04

    残差与前馈网络

    保留原信息并进一步变换,再传入下一层。

04

互动实验 · 动手建立直觉

逐步点亮 Transformer 信息流

从词元输入开始,逐步查看位置、自注意力、信息融合和输出表示。
当前信息词元嵌入

‘桥梁’先变成一组连续数字。

05

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

三个容易忽略的边界

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

并行不等于没有顺序

位置编码负责注入顺序,自注意力负责建立关系。

02

多头不保证分工清晰

有些头会出现相似或难以解释的模式。

03

长上下文需要大量资源

标准注意力的比较数量随序列长度平方增长。

06

可选代码实践 · 逐行理解

调用一个 Transformer 编码层

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

layer = nn.TransformerEncoderLayer(
    d_model=64,
    nhead=4,
    dim_feedforward=128,
    batch_first=True,
)
encoder = nn.TransformerEncoder(layer, num_layers=2)
output = encoder(token_vectors + position_vectors)
  1. 步骤 1

    d_model=64 表示每个词元用 64 维向量表示。

  2. 步骤 2

    4 个注意力头并行查看不同关系,它们共享总表示维度。

  3. 步骤 3

    两个编码层依次更新每个位置的上下文表示。

07

知识检查与课程总结

确认你能把概念讲清楚

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

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

01Transformer 为什么需要位置信息?
02多头注意力的直观作用是什么?
03残差连接有什么帮助?
  1. 词元嵌入提供内容表示,位置编码提供顺序线索。
  2. 自注意力让每个位置聚合上下文。
  3. 多头机制从不同表示空间捕捉关系。
  4. 前馈网络逐位置加工融合后的信息。
  5. 残差连接与归一化帮助深层结构稳定训练。

下一课 · COURSE 13

大语言模型如何生成文字

把 Transformer 的上下文表示用于下一词元预测,逐步生成文本。

继续下一课 ↗