Scheduled Sampling 是为了解决 Teacher Forcing 的什么问题?其核心思想是什么?
2026/8/6 5:15:01 网站建设 项目流程

Scheduled Sampling:解决 Teacher Forcing 的 Exposure Bias 问题

一、先理解 Teacher Forcing

在序列生成任务(如机器翻译、文本摘要)中,训练时通常使用Teacher Forcing策略:

训练时(Teacher Forcing): t=1: 输入 <sos> → 模型预测 y₁' ↓ 但下一步输入用的是 真实值 y₁(而非 y₁') t=2: 输入 y₁ → 模型预测 y₂' ↓ 但下一步输入用的是 真实值 y₂(而非 y₂') t=3: 输入 y₂ → 模型预测 y₃' ...

核心特点:每一步的输入都是ground truth(真实标签),而非模型自己的预测。

Teacher Forcing 的优势

  • 训练稳定,收敛快
  • 每步输入都是正确的,避免了错误累积
  • 可以并行化训练(配合 mask 机制)

二、Teacher Forcing 的核心问题:Exposure Bias(暴露偏差)

问题本质

训练时:每步输入都是正确的 → 模型从未见过"自己的错误输出"作为输入 推理时:每步输入是上一步的预测 → 一旦某步预测错误,后续输入全部偏离分布 训练分布 ≠ 推理分布 → Exposure Bias

具体示意

训练阶段(Teacher Forcing): 正确 → 正确 → 正确 → 正确 → 正确 (始终在"干净"输入上训练) 推理阶段(Free Running): 正确 → 微小偏差 → 偏差放大 → 严重错误 → 完全跑偏 ↑ 错误开始累积,模型从未学过如何从错误中恢复

类比:就像学生做题时,老师总是在旁边纠正每一步(Teacher Forcing),但考试时老师不在了,一旦某步算错,后面全错,因为学生从未练习过"在错误状态下如何继续"。


三、Scheduled Sampling 的核心思想

Scheduled Sampling(计划采样)由 Bengio 团队在 2015 年提出,核心思想是:

在训练过程中,逐步将"真实标签输入"替换为"模型自身预测",让模型从训练阶段就逐渐适应推理时的真实条件。

采样概率调度

训练进度 ──────────────────────────────────────→ 采样概率 p(使用模型预测的概率): p = 0 ──→ p = 0.5 ──→ p = 1.0 (纯Teacher (混合:50%真实 (纯Free Running Forcing) 50%预测) 完全用自身输出) 训练初期 训练后期 保证稳定学习 逐步逼近推理条件

每一步的决策

在时间步 t,生成输入 x_t 时: 以概率 (1 - p) → 使用真实标签 y_{t-1} (Teacher Forcing) 以概率 p → 使用模型预测 y'_{t-1} (Free Running) p 随训练进度按某种调度策略递增

常见调度策略

策略公式特点
线性衰减p = min(1, k/t)简单直接,均匀过渡
指数衰减p = k^t前期慢、后期快
反向 sigmoidp = k / (k + exp(t/k))平滑过渡,最常用

其中t为训练步数/epoch,k为控制衰减速度的超参数。


四、完整对比

┌──────────────────────────────────────────────────────────┐ │ 训练阶段输入来源 │ ├──────────────┬────────────────┬───────────────────────────┤ │ Teacher │ Scheduled │ Free Running │ │ Forcing │ Sampling │ (推理时) │ ├──────────────┼────────────────┼───────────────────────────┤ │ 始终用真实值 │ 逐步从真实值 │ 始终用模型预测 │ │ │ 过渡到预测值 │ │ │ p = 0 │ 0 → 1 渐变 │ p = 1 │ ├──────────────┼────────────────┼───────────────────────────┤ │ 训练稳定 │ 训练稳定 + │ 训练不稳定 │ │ 但有暴露偏差 │ 缓解暴露偏差 │ 错误累积严重 │ │ │ │ 难以收敛 │ └──────────────┴────────────────┴───────────────────────────┘

五、Scheduled Sampling 的局限

局限说明
训练不一致同一输入在不同 step 采样的来源不同,引入训练噪声,理论上不是严格的无偏估计
超参数敏感调度策略和衰减速度k需要仔细调参,不同任务差异大
无法完全消除偏差只是缓解而非根除 Exposure Bias,推理时仍可能有错误累积
与并行训练冲突采样引入了时间步依赖(需要前一步预测结果),破坏了 Transformer 的并行训练能力

后续改进方向

Scheduled Sampling (2015) │ ├── Professor Forcing (2016) → 用 GAN 思想对齐训练/推理分布 ├── Beam Search + 覆盖机制 → 推理阶段改进解码策略 ├── Minimum Risk Training (MRT) → 直接优化任务级目标函数 └── Self-Critical Sequence → REINFORCE + 自身采样作为 baseline Training (SCST, 2017)

六、总结

问题:Teacher Forcing 导致 Exposure Bias (训练用真实输入,推理用预测输入 → 分布不匹配 → 错误累积) 方案:Scheduled Sampling (训练中逐步用模型预测替代真实标签 → 缩小训练/推理分布差距) 本质:从 p=0(纯 Teacher Forcing)到 p=1(纯 Free Running)的渐进过渡 让模型在训练阶段就学会"在自身输出上继续生成" 代价:引入训练噪声 + 超参数敏感 + 破坏并行性

一句话概括:Scheduled Sampling 通过在训练中逐步"放手",让模型从"永远在正确输入上练习"过渡到"学会在自身可能出错的输出上继续工作",从而缓解训练与推理的分布不匹配问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询