什么是 课程学习(Curriculum Learning)?

课程学习(Curriculum Learning)是一种按照已声明的难度或学习进展,在训练过程中改变样本、任务或模型容量的分布、权重或可用性的策略。

快速了解

规范文档官方规范

工作原理

独立于期望结论定义难度

Difficulty 可以来自领域规则、序列长度、噪声、基线 Loss、Confidence、Disagreement、Success Rate 或 Task Parameter。Static Curriculum 固定顺序,Self-Paced 方法根据当前 Learner 更新样本权重,Teacher 或强化学习策略则自适应调度。不得使用最终测试标签,并应检查代理是否只是编码了类别频率、来源、语言或其他受保护与运营属性。

明确训练节奏与目标分布恢复

课程学习原始论文把逐步变化的训练分布与 Continuation Method 联系起来。起始阈值、Weight Function、阶段时长、Promotion Rule、旧样本 Replay,以及最终阶段是否覆盖完整 Target Distribution,都会改变干预。Curriculum Learning 不等于任意分阶段 Fine-tuning,也不等于只给一个 Prompt 的 Demonstration 排序。

在相同预算下比较调度策略

综合综述总结了预定义、Self-Paced、Teacher-driven 等变体,也指出排序与节奏难以选择。应在相同数据、Update、Token、Optimizer 与停止预算下,比较随机、课程、逆序和 Hard-mining 基线;报告 Learning Curve、最终任务与切片指标、跨 Seed 方差、计算成本、被遗忘的简单案例,以及恢复目标分布后的性能。

主要特点

  • 随训练进度改变样本、任务、Loss、环境或模型容量暴露
  • 需要明确 Difficulty Measurer 与 Training Scheduler
  • 可使用固定专家顺序、模型驱动 Self-Pacing 或学习型 Teacher
  • 除非协议另有说明,最终应覆盖声明的目标分布
  • 难度代理可能引入类别、人群、来源和时效偏差
  • 必须在相同预算下胜过随机、逆序或难例基线

常见用途

  1. 在模型训练中逐步增加序列长度或推理复杂度
  2. 随强化学习策略能力提升调度模拟任务
  3. 先引入可靠伪标签,再逐步加入不确定样本
  4. 在微调阶段调度干净数据与含噪数据比例
  5. 验证样本顺序是否改变收敛速度或最终泛化

示例

loading...
Loading code...

常见问题

课程学习一定是从易到难训练吗?

经典课程采用 Easy-to-hard,但更广义设计可以用固定或自适应策略调度样本、任务、环境、Loss 或模型容量。Hard Example Mining 与 Anti-curriculum 会刻意强调困难案例。应说明实际干预与最终目标分布,而不是只依赖名称。

课程学习与 Self-Paced Learning 有什么区别?

传统课程常由外部 Teacher 或固定规则提供难度;Self-Paced Learning 根据 Learner 当前状态估计样本纳入或权重,并在训练中更新。实际系统经常混合两者,因此需要报告由谁评分难度、何时变化以及如何控制 Pace。

课程学习应该怎样衡量样本难度?

选择与目标技能有关的代理,例如经过验证的任务复杂度、序列长度、噪声、基线 Loss、Disagreement 或环境成功率,并审计其与类别、语言、人群和来源的相关性。比较多种指标,因为低模型 Loss 也可能只表示冗余或记忆。

课程学习会损害模型质量吗?

会。错误排序可能延迟关键案例、强化捷径、扭曲类别基础率或造成遗忘,而且调度会改变优化更新的数量与时间。应在相同样本、Token、Update 和停止规则下比较随机与逆序策略,并检查最终目标分布和人群表现。

怎样评测课程学习?

冻结数据、难度计算、Optimizer、总样本或 Token、Update 数和最终测试集,在多个 Seed 上比较随机、课程、逆序和适用的 Hard-mining Policy。报告 Learning Curve、最终任务与切片指标、计算量、达到阈值的时间、稳定性,以及恢复完整分布后的表现。

相关术语

相关文章