鹤啸九天 自律更自由,平凡不平庸 Less is More

课程学习专题

2025-10-15
阅读量

Notes(温馨提示):

  1. ★ 首次阅读建议浏览:导航指南, 或划到本页末尾, 或直接点击跳转, 查看全站导航图
  2. 右上角工具条搜索文章,右下角二维码关注微信公众号(鹤啸九天),底栏分享、赞赏、评论
  3. ★ 转载请注明文章来源,知识点积累起来不容易,水滴石穿,绳锯木断,谢谢理解
  4. ★ 如有疑问,邮件讨论,欢迎贡献优质资料


课程学习

【2021-4-9】一篇综述带你全面了解课程学习(Curriculum Learning)

概要

问题:

  • (1)课程学习如何定义?
  • (2)为何课程学习有效,以及为何要用课程学习?
  • (3)如何设计一个课程?
  • (4)课程学习与其他机器学习概念的关系?
  • (5)课程学习可能的未来发展方向?

课程学习介绍

2009年,Bengio 首先提出课程学习(Curriculum learning,CL)概念,一种训练策略,模仿人类的学习过程,主张让模型先从容易样本开始学习,并逐渐进阶到复杂样本和知识。

  • Curriculum learning . ACM, 2009

训练分布和测试分布之间存在着由噪声/错误标注的训练数据引起的偏差。训练分布和目标(测试)分布有一个共同的大密度高置信度标注区域,这对应于CL中比较容易的样本。

传统机器学习算法往往采用随机训练数据,忽略了样本难度与模型当前状态。

课程学习希望从 “设计一个更好的训练课程” 的角度,改进机器学习的训练策略。

CL策略在计算机视觉和自然语言处理等多种场景下,在提高各种模型的泛化能力和收敛率方面表现出了强大的能力。

以图像分类为例

  • 训练初始阶段,课程学习算法在简单(清晰、典型、易识别)数据子集上训练模型;
  • 随着训练的进行,算法逐渐加入了更多更困难(较复杂、难识别)的图像样本到当前训练集中,这就好比人类课程里学习材料难度的增加;
  • 最后,算法在完整的原始训练集上进行训练。

image

好的课程学习算法可以带来更佳的模型表现,以及更快的收敛速度。

一个课程指在 T 步机器学习训练过程中的系列训练标准:C=,其中每个标准 Q_t 是训练分布 P(z)的一个重新加权,即 Q_t(z)∝W_t(z)P(z),z=(x,y)是训练集 D 中的任一样本,且 Qt 满足以下三个条件:

  • (1)当前训练集的熵会不断增加,即 H(Q_t)<H(Q_(t+1));
  • (2)任意一个样本的权重会不断增加,即:W_t(z)≤W_(t+1)(z);
  • (3)Q_T(z)=P(z)。

分析

  • 条件(1)意味着当前训练集的多样性信息量在增加,也即训练后期的时候Q_t会增大采样更困难样本的权重;
  • 条件(2)说明训练集中的样本数在不断增加;
  • 条件(3)说明最终算法将在完整训练集里均匀采样用于训练。

三个约束条件(1)(2)(3)有时会被舍弃,得到数据级别广义课程学习的定义:训练分布 P(z)的一个重新加权序列。事实上涵盖了样本选择与重新加权,即在每轮训练中动态调整训练样本的采样策略或样本权重。

课程学习即使用这样的课程训练机器学习模型的一种训练策略。

课程学习理论分析

  • 从优化角度,课程学习是连续法(continuation method)的一个特例,它在初始阶段松弛了优化目标并逐渐收紧,这有利于模型逃离较差的局部最优点。
  • 从数据分布角度,课程学习是一种去噪的策略,这是由于在大数据场景中,困难样本往往包含更多噪声,因此由易到难的策略可以缓解模型在初始学习阶段受到的噪声干扰。

CL 是一种特殊的 continuation 方法,首先优化比较平滑的问题,然后逐渐优化到不够平滑的问题。

如下图所示,continuation 方法提供了一个优化目标序列,从一个比较平滑的目标开始,很容易找到全局最小值,并在整个训练过程中跟踪局部最小值。

另外,从更容易的目标中学习到的局部最小值具有更好的泛化能力,更有可能近似于全局最小值。

课程学习的核心问题:得到一个ranking function

  • 对每条数据/每个任务,给出 learning priority (学习优先程度),由难度测量器(Difficulty Measurer)实现。
  • 什么时候把 Hard data 输入训练 以及 每次放多少呢? 这个则由训练调度器 (Training Scheduler)决定。

因此,目前大多数CL都是基于”难度测量器+训练调度器 “的框架设计。

“课程” 的两个关键模块:

  • (1)难度评分器,用于决定什么样本更简单(或者什么样本更适合当前的采样);
  • (2)训练调度器,用于决定何时增加多少更困难的样本到当前训练集。

课程学习分类

主流的课程学习方法四类:

  • 预定义的课程学习
  • 自步学习
  • 基于迁移教师的课程学习
  • 基于强化教师的课程学习(以及一些其他的自动课程学习方法)

image

根据这两个是否自动设计可以将CL分成两个大类即 Predefined CL 和 Automatic CL。

  • (1)Predifined CL (预定义的难度测量器): 难度测量器和训练调度器都用人类先验先验知识,人类专家去设计;
    • 完全由人类专家的先验设计得到,而不采用任何数据驱动的算法和模型来决定课程的两个模块,也不动态调整
    • 训练调度器可以分为离散调度器和连续调度器。两者的区别在于:离散型调度器是在每一个固定的次数(>1)后调整训练数据子集,或者在当前数据子集上收敛,而连续型调度器则是在每一个epoch调整训练数据子集。
  • (2)Automatic CL: 至少其中一个是以数据驱动的方式自动设计。
    • 自动课程学习,即采用了数据驱动的算法和模型来决定难度评分器、训练调度器中的任何一个的设计
    • 自动CL方法论分为四类,即Self-paced Learning、Transfer Teacher、RL Teacher 和 其他自动CL。

Predifined CL 难度如何定义?

预定义难度评分器主要从复杂度、多样性、噪声估计等角度,利用特定领域的知识来评判样本的难度。

  • 从单个样本的复杂度角度,机器翻译中更长的句子对常被认为是更困难的训练样本,而图像语义分割任务中物体数目更多的图片会更困难;
  • 从一组数据的分布多样性角度,机器翻译中含有更多更生僻的单词的句子会被认为更困难;
  • 从样本的噪声估计角度,语音识别中的信噪比越低的样本会被认为更困难。
  • 也有文献利用其它领域知识(如医学等)来预定义难度评分器

预定义的课程学习存在许多局限性,最主要的局限性包括:

  • (1)忽略了模型的状态和反馈,导致算法不够灵活,无法根据数据和模型动态调整以达到更好的效果;
  • (2)需要人为决定样本难度,不仅耗时、不在更广的领域普适,且人工认定的难度并不一定有利于模型的学习。

为弥补这些局限性,学者们提出了多种自动课程学习方法。

Automatic CL 详情

  • 1 Self-paced Learning
    • Self-paced Learning 让学生自己充当老师,根据其对实例的损失来衡量训练实例的难度。这种策略类似于学生自学:根据自己的现状决定自己的学习进度。
  • 2 Transfer Teacher
    • Transfer Teacher 则通过1个强势的教师模型来充当教师,根据教师对实例的表现来衡量训练实例的难度。教师模型经过预训练,并将其知识转移到测量学生模型训练的例子难度上。
  • 3 RL Teacher
    • RL Teacher 采用强化学习(RL)模式,教师根据学生的反馈,实现数据动态选择。这种策略是人类教育中最理想的场景,教师和学生通过良性互动共同提高:学生根据教师选择的量身定做的学习材料取得最大的进步,而教师也有效地调整自己的教学策略,更好地进行教学。
  • 4 其他自动 CL
    • 除上述方法外,其他自动CL方法包括各种自动CL策略。如采取不同的优化技术来自动寻找模型训练的最佳课程,包括贝叶斯优化、元学习、hypernetworks等。

结束


支付宝打赏 微信打赏

~ 海内存知已,天涯若比邻 ~

Share

Related Posts

标题:大模型意图识别-Intent Detection on LLM

摘要:大模型/Agent 如何助理意图识别?

站内可视化导航

文章可视化导读:鼠标划过图形块时,如果出现蓝色光环, 点击即可跳转到对应主题

Comments

--disqus--

    Content
    My Moment ( 微信公众号 )
    欢迎关注鹤啸九天