08 · 第 8 讲:序列神经网络模型
← 返回课程目录来源说明:本文由 AI 根据课程课件整理生成。学习和引用时请结合原课件核实。
本文目录
The original article content is not automatically translated.
本文最后更新于 2026年11月9日 下午
北京大学《机器学习概论》(2026 秋)的课程笔记。
第八讲:读到一句话的末尾时,模型该怎样记住前面的词?如果前文很长,能不能直接去找当前最相关的位置?
RNN 和注意力分别回答了这两个问题,Transformer 则把注意力作为主要计算模块。
第 1 章:序列与固定维度输入有何不同
文本、音频、视频和用户行为都有先后关系,长度也可能变化。对齐任务可以每输入一步产生一步输出;非对齐 Seq2Seq 则可能把一个输入序列变为不同长度的输出序列。
概率链式分解写为 。这里是乘积,取对数后才变成求和;课件该处的求和式应按链式法则理解为乘积。
第 2 章:RNN:用状态压缩过去
简单循环网络递推 ,再由 预测输出。每个时间步共享 ,因此能处理不同长度。
训练时把网络沿时间展开并做反向传播(BPTT);同一参数在各时刻使用,梯度须累加所有时间步的贡献。长序列中,梯度沿时间反复乘 与激活函数导数,易消失或爆炸。
LSTM 用遗忘、输入、输出等门控调节记忆单元,使重要信息更易跨越多步,但并非保证所有长期依赖都能学到。
第 3 章:编码器—解码器与注意力
只把整个输入压缩成一个固定向量会形成信息瓶颈。
注意力让解码器在第 步直接读取各输入位置:比较当前查询 与每个键 ,把分数经 softmax 变成权重 ,再加权求和 。
查询表示“现在需要什么”,键表示“哪里可能有关”,值是被读取的内容。词指代的例子表明,不同层或不同头可能分别关注句法、语义等联系;注意力热图只能提供线索,不能直接当作因果解释。
第 4 章:Transformer:让位置之间直接交互
自注意力的 都来自同一序列,缩放点积形式为 。除以 防止维度增大时分数过大、softmax 过于尖锐。
多头注意力分别学习不同投影后再拼接,增强表示能力。每个位置随后经过前馈网络;残差连接和层归一化帮助深层训练。自注意力本身不含顺序,需要加入位置编码(固定正弦余弦或可学习向量)。
编码器可双向读取输入;自回归解码器要使用因果掩码,防止预测当前位置时偷看未来目标;交叉注意力让解码器的查询读取编码器产生的键和值。最后经线性映射和 softmax 得到下一个词的概率。
训练可并行处理已知目标序列中的多个位置,生成时仍须逐步产生输出。与 RNN 相比,Transformer 让远距离位置的交互路径更短,但标准自注意力的时间与内存开销随序列长度平方增长。
第 5 章:RNN 的时间反向传播为何不稳定
先看简化线性递推 ,则 (这里的上标表示矩阵幂,而非转置)。
若 的特征值模长期小于 1,早期状态对末端损失的影响趋近于 0;大于 1 则可能急剧放大。实际 RNN 还需乘上激活函数的导数,因此梯度消失通常更明显。
LSTM 引入记忆状态 ,遗忘门 决定旧记忆保留多少;沿记忆通道的梯度有更直接的路径。
梯度裁剪常用于限制爆炸,但不能修复已经消失的信号。
第 6 章:注意力从打分到上下文向量
给定查询 、键 、值 ,先算分数 ,再归一化 ,最后 。
权重和为 1,使上下文成为值向量的加权平均。传统编码器—解码器中,查询来自解码器当前状态,键和值来自编码器各时间步;这样解码第 个词时可以有选择地查看源序列,而不只依赖一个固定向量。
第 7 章:Transformer 的形状、掩码和复杂度
设序列长度 、模型维度 ,输入矩阵 。
线性投影得到 、、;若键维度为 ,则 的形状为 ,每一行对应一个查询对所有位置的分数。
对每行做 softmax 后乘 ,得到每个位置综合其他位置的信息。多头注意力用多套投影并行计算,再拼接投影回模型维度。每头的注意力矩阵都含约 个分数,这是长序列的主要成本之一。
因果掩码把未来位置的分数设为负无穷,softmax 后权重为零;padding 掩码避免关注补齐位置。
编码器自注意力通常只需 padding 掩码,解码器自注意力还需因果掩码,解码器到编码器的交叉注意力则按源序列有效位置设置掩码。位置编码解决“交换两个词但集合相同”时纯自注意力缺乏顺序感的问题。
完整解码块通常按掩码自注意力、交叉注意力、前馈网络的次序组织,每个子层配残差和归一化。
第 8 章:位置编码的一个可计算例子
固定正弦位置编码可设 、。
不同维度使用不同波长,让位置 1、2、3 产生可区分的向量,并可把位置差异表现为连续变化。另一种方式是直接学习每个位置的向量,但通常只为训练时设定的最大长度准备参数。
无论哪种方式,位置向量与词嵌入结合后,注意力才有机会区分相同词出现在不同位置的情况。
第 9 章:训练与生成要分开理解
训练自回归解码器时,目标序列已知,可把向右平移一位的真实词作为输入,同时计算所有位置的损失;因果掩码保证第 位只能看到更早的目标词,这称为 teacher forcing。
生成时真实后续词未知,只能用已生成的词继续预测,因此逐步生成。训练并行不等于生成也能一次性算完。
RNN 的计算链天然跨时间,Transformer 训练时的位置计算更易并行,但标准注意力的 成本在长序列上突出。
RNN 把过去压进不断更新的状态;注意力让模型按当前需要读取不同位置;Transformer 主要靠自注意力完成位置之间的信息交换,再用位置编码和掩码处理顺序与生成规则。
补充:LSTM 的门为什么有用
普通 RNN 的状态反复经过同一递推,长距离梯度容易连乘得太小或太大。LSTM 用遗忘门、输入门和输出门控制记忆单元的更新,其中遗忘门接近 1 时,信息可以沿 cell state 较稳定地传递。它缓解而非彻底消除了长序列困难;注意力和 Transformer 则改为让当前位置直接读取远处信息。