← 返回题目列表

Teacher Forcing 是什么?有什么问题?

高频 中等 第 9 / 25 题 更新于 2026/09/25
RNNLSTMGRU序列建模
学习 AI 实战项目

简化版

Teacher Forcing 训练自回归 decoder 时把真实上一 token 作为当前输入,通常使优化更稳定;推理只能使用自身已生成 token,由此产生历史分布差异(exposure bias)。完整右移目标允许 Transformer 配合因果 mask 并行计算训练位置,但 RNN 隐状态仍须逐步递推,不能把 teacher forcing 本身等同于时间并行。

详细版

  • 目标序列右移一位作为 decoder 输入。

  • 因果 mask 仍要阻止看到当前位置和未来 token。

  • loss 预测下一个 token,而非复现输入同位置。

  • teacher forcing ratio=1 不代表没有 dropout 等随机性。

  • 评估必须自由运行,不能继续喂真值。

完整版教学

一、真值历史让训练简单,也隐藏了错误状态

交叉熵在正确前缀条件下学习下一 token 概率,通常更易优化。所有真值前缀已知并不代表所有架构都能按时间并行:Transformer 可以,RNN 仍有 h_t 对 h_{t-1} 的依赖。

推理早期错误会改变后续前缀,模型可能从未在这种状态上训练,于是错误连续放大。

训练 loss 衡量正确前缀条件下的局部预测,生成指标衡量模型在自身轨迹上的整体结果,两者必须同时报告。

二、底层机制与公式

decoder_input=[BOS,y_1,...,y_(T-1)]
target=[y_1,y_2,...,EOS]
loss=-sum_t log P(target_t|decoder_input_<=t)

三、带数字的推演

目标 [我,爱,你,EOS],输入是 [BOS,我,爱,你]。

若错误地不右移,模型可直接看到待预测 token,训练 loss 虚低。

这里输入与目标长度都为 4,但第 i 个输入只提供第 i 个目标之前的历史;因果 mask 还要阻止并行计算时偷看右侧位置。

四、方案对比

方案/对象核心特点代价或边界
Teacher forcing真值历史使优化较稳定RNN 仍串行,且有 exposure bias
Scheduled sampling混合自身预测目标不一致
自由运行训练/序列目标贴近推理方差和成本高

五、执行流程

构造右移输入 -> 加因果/PAD mask -> decoder 前向 -> next-token loss
-> 训练更新 -> eval 自回归生成 -> 对比 token 与序列指标

六、边界条件与工程代价

验证若用 teacher-forced token accuracy,会高估真正生成质量;应同时做 free-running decode。

标签平滑、PAD ignore 与 EOS 都影响 loss 分母,需用小序列逐位核对。

记忆钩子:Teacher Forcing 的对齐口诀是“输入右移一格,当前位置预测下一词”。

七、常见误区与追问

  • 误区:Teacher Forcing 是把目标直接当输出。 它只把上一真值作为下一步输入。

  • 追问:Teacher forcing 为何常与并行训练一起出现? 完整右移目标已知时,Transformer 可配因果 mask 一次计算所有位置;循环 decoder 仍需逐时间步更新隐藏状态。

  • 误区:teacher-forced 验证 loss 低就生成好。 自由运行会遇到自身错误前缀。

  • 追问:什么是 exposure bias? 训练和推理所见历史分布不同。

  • 追问:如何检查错位? 打印 BOS、右移输入、target 和 mask 的小例子。

八、加强记忆

Teacher Forcing 的对齐口诀是“输入右移一格,当前位置预测下一词”。训练使用真值历史,推理使用自身历史,二者的分布差异就是 exposure bias。评估必须包含自由运行生成;scheduled sampling 等方法可能缓解错误状态暴露,却各有目标偏差或高方差,不能当作无条件修复。并行性取决于 decoder 架构,而不是仅取决于是否喂真值。