A07 · 第 1 章 · 第一编 序列表示
循环网络、门控单元与状态传播
从共享参数的隐藏状态递推和时间展开图建立简单 RNN,推导时间反向传播中的 Jacobian 连乘与梯度消失爆炸,再比较 LSTM、GRU 的门控状态、参数量、计算和因果边界。
报告页面错误本章目标
- 写出简单 RNN 的共享参数递推、输出和时间展开计算图。
- 沿展开图计算状态与参数梯度,推导 Jacobian 连乘的消失和爆炸条件。
- 准确计算 LSTM 输入、遗忘、输出门及细胞状态更新。
- 比较 GRU 的更新与重置门、LSTM 独立细胞状态及参数计算量。
- 管理批量状态、序列边界、因果方向和截断状态,不把门控当无限记忆保证。
本页目录
隐藏状态是有顺序的递推
给定输入序列 ,简单 RNN 用同一组参数逐步更新
再按任务产生输出,例如 。 汇总截至当前步的有限维状态;它不是自动保存全部过去输入,哪些信息能保留由参数、非线性、状态维度和训练信号共同决定。
时间展开图把同一个单元画成 个位置,但这些位置共享 。因此参数量与序列长度无关,计算和激活内存却随长度增长。每一步依赖前一步状态,前向与反向在时间轴上通常难以像纯前馈层那样完全并行;批量可并行不同序列或同一时刻的多个样本。
初始状态 可以固定为零、由上下文编码或作为可学习参数。不同独立序列之间必须重置或按业务实体正确携带状态。若训练时把上一个样本的末状态误传给下一个无关样本,模型会获得不存在的上下文并造成数据泄漏。
为便于手算,取标量线性循环
、、输入 ,末端损失 。前向得到
所以 。反向从 开始。第三步对共享参数的贡献是 ;状态梯度传到第二步为 ,贡献 ;再传到第一步为 0.0625,但 ,参数贡献为零。
总梯度
直接前向敏感度也给 ,乘 同样为 0.75。共享参数梯度必须累加所有时间位置,不能只取最后一步。
时间反向传播是 Jacobian 连乘
若总损失为 ,某个早期状态 对后续 的贡献包含
乘积按时间反向的正确矩阵次序排列。简单 RNN 的单步 Jacobian 为
其范数上界会随多个 相乘。若典型奇异值持续小于一,远处梯度指数衰减;持续大于一则可能指数放大。tanh 和 sigmoid 在饱和区导数接近零,会进一步消失。仅看 的特征值并不充分,因为激活导数随状态变化,非正规矩阵还可能出现短期放大。
在标量近线性区,若每一步 ,相隔二十步的状态梯度因子约为 。当 时,
早期输入几乎收不到末端损失信号;当 时,
梯度被显著放大。真实 tanh RNN 的 随时间改变,放大状态又可能进入饱和区,因此轨迹比常数模型复杂,但连乘机制不变。
BPTT 递推同时汇总局部损失和未来损失
令 表示第 个位置损失通过输出层直接传到 的梯度,令 。简单 RNN 的反向递推可写为
末端之后的 取零。括号第一项来自当前监督,第二项来自所有未来监督经状态链回传。若只有末端损失,早期 为零,却仍可能通过第二项收到信号;若每步都有标签,两条路径会相加。
共享参数梯度为
这些外积和必须使用对应时间步缓存的输入、旧状态和激活导数。就地覆盖状态而不保存或重算,会让反向缺少所需值。梯度检查应在短序列、小维度和非饱和点进行,并分别覆盖末端损失与逐步损失;长序列有限差分容易同时受舍入和连乘条件数影响。
梯度范数裁剪可把过大总体梯度缩到阈值内,防止一次更新破坏参数;它不恢复已经消失的长程信号。正交或单位附近的递归初始化、合适激活和归一化可改善早期尺度,却没有对所有输入的永久保证。门控单元通过添加近似加法状态路径,让模型有机会学习较稳定的梯度通道。
LSTM 分离细胞状态与暴露状态
一种常见 LSTM 约定为
输入门控制写入候选,遗忘门控制保留旧细胞,输出门控制暴露多少细胞内容。保持门值不变看直接路径,有 ,不再每步必经递归权重和 tanh 导数。若一段时间 接近一,梯度可沿细胞加法路径传播;若门长期接近零或饱和,仍会遗忘或难以学习。
某一维单元上一细胞状态 ,当前门值为
新细胞状态为
隐藏状态为
若连续三步的直接遗忘门都固定为 0.8,忽略门对旧状态的间接依赖,细胞直接梯度因子为 ,明显大于简单 Jacobian 为 0.5 时的 。这只是门值条件下的路径分析,不证明训练一定学到长期保留。
遗忘门偏置有时初始化为正值,使初始 偏大,但最佳值依任务和归一化而变。细胞状态也可能无界累积,门的 sigmoid 饱和会让门参数梯度变小。训练仍需监控状态范围、梯度和序列长度。
GRU 用两道门直接混合隐藏状态
本章采用
更新门 决定旧状态与候选的混合,重置门 控制候选计算读取多少过去。部分资料把 与 的命名角色交换,比较实现时应看公式而不是只看门名。GRU 没有与 分离的细胞状态,也没有独立输出门,通常使用三组仿射变换而非 LSTM 的四组。
一维旧状态 ,候选 。若更新门 ,
主要保留旧状态。若其他量不变而 ,则 ,主要采用候选。重置门在更早阶段改变候选怎样读取旧状态;它不直接出现在最后混合式中,不能与更新门互换解释。
LSTM 与 GRU 都可把各门仿射计算拼成一次大矩阵乘法,减少算子启动,但数学上仍需分割为不同门并应用各自非线性。输入维 、隐藏维 时,LSTM 单层主权重数为 、门偏置约 ;GRU 为 与约 。有些框架为输入和递归矩阵各存一套偏置,或加入 LSTM projection、peephole 等变体,参数清单会不同。跨框架迁移前必须核对门顺序、候选公式和偏置布局。
较少参数并不自动让 GRU 更快:序列长度、内核融合、隐藏维和设备利用率都会影响吞吐。公平比较应给两者相近参数预算或相近墙钟预算,并分别调隐藏宽度和正则化;固定相同 只是在比较不同参数量的模型。
参数、计算与状态管理权衡
输入维 、隐藏维 时,不计输出层,简单 RNN 的主要权重数为 ,加 个偏置。LSTM 约为四倍这组仿射参数,GRU 约为三倍。门控增加参数、乘加和激活内存,可能在同一预算下迫使较小隐藏维;它们的效果应按验证质量、训练时间和状态大小比较。
完整时间反传需保存各步激活,内存约随 增长。检查点重算可以省内存但增加计算。双向 RNN 同时从左右读取序列,适合已完整可见的标注任务,却不能用于严格在线因果预测;部署若没有未来输入,训练也不能偷用反向状态。
变长批量通常使用长度、打包序列或状态掩码。已结束样本的状态应冻结或从计算中移除,填充位置的输出损失必须屏蔽。流式训练携带状态时,要在实体边界重置,并在截断反传边界断开梯度而保留状态数值。状态值继续不代表梯度仍能穿越边界。
堆叠、输出方式与因果边界
循环层可以堆叠:第 层的 读取同一时刻下层输出和本层前一状态。深度增加每步表示能力,也让时间与层两个方向的 Jacobian 共同作用。层间 dropout、循环权重 dropout 或按序列固定的 dropout 掩码具有不同随机过程;若每个时间步独立改变循环掩码,记忆动态与固定掩码不同,必须报告实现。
many-to-one 任务只用末状态预测,早期输入的监督路径较长;many-to-many 任务在每步输出,局部监督更直接。编码器—解码器把来源序列压成初始解码状态时,固定维瓶颈可能丢失长来源细节;注意力提供对全部编码位置的直接读取,但带来不同计算与掩码契约。任务若要求在线预测,只能使用当前及过去输入;离线标注可使用双向或完整上下文,两类结果不可直接当同一部署条件比较。
诊断记忆而不是只看最终损失
训练曲线不能说明模型是否真正使用长程信息。可按时间间隔记录状态梯度范数、遗忘或更新门分布、细胞状态范围和截断边界前后误差;把远程关键信息打乱、延迟或遮蔽,比较性能变化;在合成复制、括号匹配等可控任务上逐级增加依赖长度。若性能只在训练长度内有效,不能宣称具备任意长度算法能力。
门值长期全接近零或一可能表示有意义的保持政策,也可能是饱和导致难学,需要结合门参数梯度和任务扰动判断。隐藏状态探针能显示某信息可被线性读出,却不证明主任务实际依赖它;应再做干预或消融。状态范数稳定也不保证 Jacobian 稳定,因为不同方向可以一边放大一边压缩。
常见误区
“展开图每个时间步有一套独立参数。”展开只是展示重复应用,共享参数梯度要跨时间求和。
“LSTM 已解决任意长依赖。”门控提供可学习路径,有限状态、饱和、优化和数据仍限制记忆。
“双向循环只是更强的因果模型。”它使用未来上下文,不能直接用于只见过去的在线预测。
练习:沿时间追踪状态和梯度
说明时间展开为何不增加 RNN 参数量,却会增加计算和反向内存。
查看提示
查看解答
推导简单 RNN 的状态 Jacobian,并解释为何只看递归矩阵谱半径仍不充分。
查看提示
查看解答
解释梯度裁剪为什么缓解爆炸却不能解决消失。
查看提示
查看解答
写出 LSTM 状态更新,并说明遗忘门如何改变直接梯度路径。
查看提示
查看解答
比较 GRU 与 LSTM 的状态、门和主要参数成本。
查看提示
查看解答
设计变长流式 RNN 的状态管理规则,避免跨样本泄漏与错误因果性。
查看提示
查看解答
知识连接与资源
- 神经网络与反向传播综合复习 提供展开图求导和梯度检查基础。
- 数列与级数 支持递推与连乘增长分析。
- 序列损失、教师强制与解码 处理变长批量、截断和生成训练。
- 注意力机制 提供不依赖单一递归状态的内容寻址路径。
- 长序列、效率与 Transformer 综合复习 比较循环顺序成本与长上下文机制。
Deep Learning
Ian Goodfellow, Yoshua Bengio, Aaron Courville
适合作为反向传播和优化章节的完整参考。
打开官方来源《Deep Learning》作者在线教材可用于核对循环网络、时间反向传播和门控单元的基本定义。具体门命名、状态布局和融合实现仍应以所用框架公式为准。
Stanford CS229 Course Materials
Andrew Ng
用于核对经典机器学习模型的目标函数、推导和适用前提。
年份未在已核验来源中明确提供,登记为“暂无可核实信息”;未作推测性补写。打开官方来源Stanford CS229 的监督学习与反向传播材料支撑本章把循环网络训练写成明确的经验风险问题:序列在时间上展开后,共享参数接收来自各步损失的梯度累积,验证集仍须与训练序列严格分离。这个基线用于判断门控结构是否改善长依赖优化,而不能把训练损失下降直接解释为模型已学到可迁移的时序机制。