☆ 保存 截断时间反向传播(Truncated BPTT)—— 用分块损失训练长序列的反向传播方法

04/04/2026

截断时间反向传播(Truncated BPTT)是一种用于 RNN 的训练方法,它将长序列切分为固定长度的分块,对每个分块分别计算 loss,并且只在该局部区间内执行反向传播。它的主要作用是缓解对整条长序列一次性使用完整 BPTT 时带来的高内存开销,以及梯度不稳定问题

**简单来说:**这就像不是把一门很长的课程从头听到尾后只考一次试,而是每学 20 分钟就停下来做一次小测验。课程内容本身还是连续的,但复习和反馈是按分块分别进行的。

隐藏状态会沿着整条长序列继续传递,但 loss 计算和 backward 会按分块分别执行。

工作方式

意义与局限

截断 BPTT 是让 RNN 能够在长序列上真正落地训练的典型折中策略之一。它不再把整条序列一次性展开、累计成一个全局 loss 后再统一反向传播,而是按分块分别计算 loss,并立即执行 backward,从而显著降低内存压力,也常常让优化过程更稳定。它的局限在于,梯度只会在截断范围内传播,因此非常遥远的历史信息与当前 loss 之间的关系可能学得不够充分。如果任务确实高度依赖长程依赖关系,就需要谨慎调整截断长度,或者结合 LSTM、GRU、Transformer 等结构来补足这一点。

建议先读 (3/5)

+2

接下来推荐阅读 (5/18)

+5

同一主题文章 (4/4)

相关概念 (2/2)

📍 这个概念在 AI 学习地图中的位置

查看这个概念在整个 AI Universe 中的位置。

📍 AI Universe 中的当前位置

重置 显示已完成 · 需要登录 加载中…

🌌 AI Universe

⭐ 概念

请选择一个节点。

查看完整 AI Universe

« 时间建模(Temporal Modeling)—…|Vanilla RNN(Simple RNN /… »

🔖 标签: RNN训练 · 序列学习 · 截断BPTT · 时间反向传播 · 梯度消失 · 隐藏状态