原文链接:
https://zhuanlan.zhihu.com/p/362351969
A Survey on Curriculum Learning TPAMI 2021
文章目录
- 问题定义
- 有效性分析
- 1. 模型优化角度
- 数据分布角度
- 方法总结
- Predefined CL
- Automatic CL
- 未来研究方向
全文内容导图汇总:
导图: https://note.youdao.com/s/HLNvypPq
Bengio [1] 首先提出了课程学习(Curriculum learning,CL)的概念,它是一种训练策略,模仿人类的学习过程,主张让模型先从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。
问题定义
有效性分析
1. 模型优化角度
CL可以看成是一种特殊的 continuation 方法。这种方法首先优化比较smooth的问题,然后逐渐优化到不够smooth的问题。
continuation 方法提供了一个优化目标序列,从一个比较平滑的目标开始,很容易找到全局最小值,并在整个训练过程中跟踪局部最小值。另外,从更容易的目标中学习到的局部最小值具有更好的泛化能力,更有可能近似于全局最小值。
数据分布角度
没有理解。
方法总结
课程学习的核心问题是得到一个ranking function,该函数能够对每条数据/每个任务给出其learning priority (学习优先程度)。 这个则由**难度测量器(Difficulty Measurer)**实现。
基于"难度测量器+训练调度器 "的框架设计:
- 难度测量器(Difficulty Measurer):给出其**learning priority (学习优先程度)。
- 训练调度器 (Training Scheduler):什么时候把 Hard data 输入训练 以及 每次放多少
根据这两个是否自动设计可以将CL分成两个大类即 Predefined CL 和 Automatic CL。
Predefined CL
- 难度测量器和训练调度器都是利用人类先验先验知识由人类专家去设计
训练调度器可以分为离散调度器和连续调度器。
两者的区别在于:离散型调度器是在每一个固定的次数(>1)后调整训练数据子集,或者在当前数据子集上收敛,而连续型调度器则是在每一个epoch调整训练数据子集。
存在的问题
(1) 很难预定义CL的方法找到测量器和调度器两者最优的组合。
(2) 不够灵活,没有考虑模型自身的反馈在训练过程中。
(3) 需要专家知识,代价较高。
(4) 人类认为容易的样本对模型来说就不一定容易。(人和机器模型的决策边界不一定一致)
Automatic CL
至少其中一个是以数据驱动的方式自动设计
自动CL的方法论分为四类,即
- Self-paced Learning: Self-paced Learning 让学生自己充当老师,根据其对实例的损失来衡量训练实例的难度。这种策略类似于学生自学:根据自己的现状决定自己的学习进度。
- Transfer Teacher: Transfer Teacher 则通过1个强势的教师模型来充当教师,根据教师对实例的表现来衡量训练实例的难度。教师模型经过预训练,并将其知识转移到测量学生模型训练的例子难度上。
- RL Teacher : RL Teacher 采用强化学习(RL)模式,教师根据学生的反馈,实现数据动态选择。学生根据教师选择的量身定做的学习材料取得最大的进步,而教师也有效地调整自己的教学策略,更好地进行教学。
- 其他自动CL。如采取不同的优化技术来自动寻找模型训练的最佳课程,包括贝叶斯优化、元学习、hypernetworks等。
未来研究方向
-
评价数据集和指标
虽然各种CL方法已经被提出并被证明是有效的,但很少有工作用通用基准来评估它们。在现有的文献中,数据集和指标在不同的应用中是多样化的。 -
更完善的理论分析
现有的理论分析为理解CL提供了不同的角度。尽管如此,我们还需要更多的理论来帮助我们揭示为什么典型的CL是有效的。 -
更多的CL算法以及应用
自动CL为CL在更广泛的研究领域提供了潜在的应用价值,已经成为一个前沿方向。因此,一个很有前途的方向是设计更多的自动CL方法,这些方法可具有不同的优化方式(如:bandit 算法、元学习、超参数优化等)和不同的目标(如:数据选择/加权、寻找最佳损失函数或假设空间等)。除了方法之外,还应该探索CL在更多领域中的应用。
精选参考文献:
[1] Bengio, Yoshua, et al. “Curriculum learning.”Proceedings of the 26th annual international conference on machine learning. ACM, 2009.