一篇综述带你全面了解课程学习(Curriculum Learning)
本文转自知乎,已获作者授权转载,请勿二次转载。
原文:https://zhuanlan.zhihu.com/p/362351969
导读:课程学习 (Curriculum learning, CL) 是近几年逐渐热门的一个前沿方向。Bengio [1] 首先提出了课程学习(Curriculum learning,CL)的概念,它是一种训练策略,模仿人类的学习过程,主张让模型先从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。CL策略在计算机视觉和自然语言处理等多种场景下,在提高各种模型的泛化能力和收敛率方面表现出了强大的能力。本文一共调研了147篇文献,从问题定义、有效性分析、方法总结、未来研究方向等几大方面进行了详细的概括和总结。
论文链接:https://arxiv.org/abs/2010.13166
作者单位:清华大学 计算机学院
01
问题定义
课程式学习
课程式学习是在 个训练步骤上的训练标准序列 , 每个准则 是目标训练分布 的权重。该准则包括数据/任务、模型容量、学习目标等。
02
有效性分析
2.1模型优化角度
CL可以看成是一种特殊的 continuation 方法。这种方法首先优化比较smooth的问题,然后逐渐优化到不够smooth的问题。如下图所示,continuation 方法提供了一个优化目标序列,从一个比较平滑的目标开始,很容易找到全局最小值,并在整个训练过程中跟踪局部最小值。另外,从更容易的目标中学习到的局部最小值具有更好的泛化能力,更有可能近似于全局最小值。
continuation 方法
2. 2数据分析角度
训练分布和测试分布之间存在着由噪声/错误标注的训练数据引起的偏差。直观地讲,训练分布和目标(测试)分布有一个共同的大密度高置信度标注区域,这对应于CL中比较容易的样本。
如下图所示,波峰附近的数据代表高置信度的数据即干净的数据,两边(尾部)代表的是低置信度的数据即噪声数据。左图看出,训练数据 比目标数据 噪声更多(其分布尾巴更翘);右图看出,CL通过加权,一开始分配给噪声数据较小的权重,后面慢慢才给这些数据增加权重。通过这种方式,CL就可以减少来自负样本的影响。
另外,CL本质上是将目标分布下的预期风险上界最小化,这个上界表明,我们可以通过CL的核心思想来处理将 上的预期风险最小化的任务:根据课程设置逐步抽取相对容易的样本,并将这些样本的经验风险最小化。
左图为数据分布图;右图为加权后的数据分布图
03
方法总结
课程学习的核心问题是得到一个ranking function,该函数能够对每条数据/每个任务给出其learning priority (学习优先程度)。这个则由难度测量器(Difficulty Measurer)实现。
另外,我们什么时候把 Hard data 输入训练 以及 每次放多少呢?这个则由训练调度器 (Training Scheduler)决定。因此,目前大多数CL都是基于"难度测量器+训练调度器 "的框架设计。根据这两个是否自动设计可以将CL分成两个大类即 Predefined CL 和 Automatic CL。
Predifined CL 的难度测量器和训练调度器都是利用人类先验先验知识由人类专家去设计;而Automatic CL 的至少其中一个是以数据驱动的方式自动设计。
3.1Predefined CL
3.1.1 预定义的难度测量器
预定义的难度测量器
3.1.2 预定义的训练调度器
训练调度器可以分为离散调度器和连续调度器。两者的区别在于:离散型调度器是在每一个固定的次数(>1)后调整训练数据子集,或者在当前数据子集上收敛,而连续型调度器则是在每一个epoch调整训练数据子集。
3.1.3 存在的问题
很难预定义CL的方法找到测量器和调度器两者最优的组合。
不够灵活,没有考虑模型自身的反馈在训练过程中。
需要专家知识,代价较高。
人类认为容易的样本对模型来说就不一定容易。(人和机器模型的决策边界不一定一致)
3.2 Automatic CL
如下图所示,自动CL的方法论分为四类,即Self-paced Learning、Transfer Teacher、RL Teacher 和 其他自动CL。
Automatic CL的分类
3.2.1 Self-paced Learning
Self-paced Learning 让学生自己充当老师,根据其对实例的损失来衡量训练实例的难度。这种策略类似于学生自学:根据自己的现状决定自己的学习进度。
3.2.2 Transfer Teacher
Transfer Teacher 则通过1个强势的教师模型来充当教师,根据教师对实例的表现来衡量训练实例的难度。教师模型经过预训练,并将其知识转移到测量学生模型训练的例子难度上。
3.2.3 RL Teacher
RL Teacher 采用强化学习(RL)模式,教师根据学生的反馈,实现数据动态选择。这种策略是人类教育中最理想的场景,教师和学生通过良性互动共同提高:学生根据教师选择的量身定做的学习材料取得最大的进步,而教师也有效地调整自己的教学策略,更好地进行教学。
3.2.4 其他自动 CL
除上述方法外,其他自动CL方法包括各种自动CL策略。如采取不同的优化技术来自动寻找模型训练的最佳课程,包括贝叶斯优化、元学习、hypernetworks等。
04
未来研究方向
4.1评价数据集和指标
虽然各种CL方法已经被提出并被证明是有效的,但很少有工作用通用基准来评估它们。在现有的文献中,数据集和指标在不同的应用中是多样化的。
4.2. 更完善的理论分析
现有的理论分析为理解CL提供了不同的角度。尽管如此,我们还需要更多的理论来帮助我们揭示为什么典型的CL是有效的。
3. 更多的CL算法以及应用
自动CL为CL在更广泛的研究领域提供了潜在的应用价值,已经成为一个前沿方向。因此,一个很有前途的方向是设计更多的自动CL方法,这些方法可具有不同的优化方式(如:bandit 算法、元学习、超参数优化等)和不同的目标(如:数据选择/加权、寻找最佳损失函数或假设空间等)。除了方法之外,还应该探索CL在更多领域中的应用。
05
总结
本文主要做了以下三项工作:
总结了现有的基于 "难度测量器+训练调度器 "总体框架的CL设计,并进一步将自动CL的方法论分为四类,即Self-paced Learning、Transfer Teacher、RL Teacher 和 其他自动CL。
分析了选择不同CL设计的原则,以利于实际应用。
对连接CL和其他机器学习概念(包括转移学习、元学习、持续学习和主动学习等)的关系的见解,然后指出CL的挑战以及未来潜在的研究方向,值得进一步研究。
精选参考文献:
[1] Bengio, Yoshua, et al. “Curriculum learning.”Proceedings of the 26th annual international conference on machine learning. ACM, 2009.
备注:CV
计算机视觉交流群
2D、3D目标检测、跟踪算法等最新资讯,若已为CV君其他账号好友请直接私信。
在看,让更多人看到
一篇综述带你全面了解课程学习(Curriculum Learning)相关推荐
- 一篇综述带你全面了解迁移学习的领域泛化(Domain Generalization)
领域泛化 (Domain Generalization, DG) 是近几年非常热门的一个研究方向.它研究的问题是从若干个具有不同数据分布的数据集(领域)中学习一个泛化能力强的模型,以便在 未知 (Un ...
- 课程学习(Curriculum Learning, CL)
原文链接: https://zhuanlan.zhihu.com/p/362351969 A Survey on Curriculum Learning TPAMI 2021 文章目录 问题定义 有效 ...
- 还在为不知道怎么学习网络安全而烦恼吗?这篇文带你从入门级开始学习网络安全—认识网络安全
随着网络安全被列为国家安全战略的一部分,这个曾经细分的领域发展提速了不少,除了一些传统安全厂商以外,一些互联网大厂也都纷纷加码了在这一块的投入,随之而来的吸引了越来越多的新鲜血液不断涌入. 不同于Ja ...
- TPAMI 2021 | 清华大学朱文武团队:首篇课程学习综述
©作者 | 机器之心编辑部 来源 | 机器之心 来自清华大学的研究者王鑫.陈禹东.朱文武撰写了一篇名为<A Survey on Curriculum Learning>的课程学习综述论文, ...
- 何恺明MAE大火之后,想梳理下视觉Transformer?这篇综述帮你梳理了100多个
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨机器之心 编辑丨极市平台 这段时间,计算机视觉圈有点热闹.先是何恺明等人用简单的掩蔽自编码器(M ...
- 华南农业大学在Annual Review of Microbiology发表三篇综述文章
华南农业大学群体微生物研究中心科研人员应国际权威微生物综述期刊Annual Review of Microbiology的邀请,分别于2019年6月21日和7月5日在线发表了三篇综述文章,分别总结了细 ...
- 什么是小样本学习?这篇综述文章用166篇参考文献告诉你答案
一只小狐狸带你解锁 炼丹术&NLP 秘籍 来源:机器之心 什么是小样本学习?它与弱监督学习等问题有何差异?其核心问题是什么?来自港科大和第四范式的这篇综述论文提供了解答. 数据是机器学习领域的 ...
- 计算机课程学习小结,计算机课程学习心得5篇___.docx
计算机课程学习心得5篇___ 计算机技术的进展,促进了教学媒体的开发和利用,训练资源和资料能得到共享.在教学上应用计算机,能向同学供应更多的.更现代化的科学学问和技能训练,让同学对学习有更多的选择,使 ...
- Kotlin从小白到大牛第1篇 【Kotlin】基础视频课程-关东升-专题视频课程
Kotlin从小白到大牛第1篇 [Kotlin]基础视频课程-7239人已学习 课程介绍 本视频是智捷课堂推出的一套"Kotlin语言学习立体教程"的视频第一部分, ...
最新文章
- Go进阶:反射3定律
- DirectX 90 3D 外接体
- 百度AI实战营第二季:AI技术商业落地指南
- msm8953+android8.1接听电话时声音由默认听筒输出改为外放输出
- css a标签去掉下划线_这30个CSS选择器,你必须熟记(上)
- 三维动画制作的基本流程
- Windows 10 Threshold 2 升级记录
- 《OpenGL ES 2.0游戏开发(上卷):基础技术和典型案例》——6.5节光照的每顶点计算与每片元计算...
- 管理系统 c++图形界面_锁螺母ERP系统,一站式各国语言管理系统
- Jquery动态进行图片缩略
- Actor-Critic:强化学习中的参与者-评价者算法简介
- 在Win10下 用 Powershell 或 CMD 完成文件的 MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512 等哈希校验
- 傅里叶变换的通俗理解
- 拼多多校招内推编程题2 大整数乘法
- php 多个curl 很慢,PHP下CURL异常慢
- 国庆节去哪浪?让 Python 帮你分析分析
- 【医学图像处理】CT成像技术之CT剂量
- (三)拜占庭将军问题
- [总结]读取应用程序/类库配置文件(比如***.dll.config)的方法小结
- CentOS的DNS服务器配置文件/etc/resolv.conf重置问题
热门文章
- “源文件与模块生成时的文件不同,是否希望调试器使用它?”解决方案
- java 关闭 tomcat,每次关闭TOMCAT就报错 不知道什么?该如何处理
- XML编程-DOM4J
- div自动滚动_从手机滚动丢帧问题,学习浏览器合成与渲染层优化
- ad17 pcb扇孔_PCB设计中为什么需要先进行扇孔
- PHP抽象函数的依赖注入,laravel 抽象类实现接口,具体类继承抽象类,使用依赖注入,如何知道接口选择的是哪个具体实现类啊?...
- typedef有什么用_我是怎么用C++恰饭吃的
- python是开源的它可以被移植到许多平台上对吗_Python程序设计答案
- js最小化浏览器_「译」解析、抽象语法树(ast) +如何最小化解析时间的5个技巧...
- linux修改语言环境