课程学习(Curriculum Learning, CL)

news/2024/11/30 20:38:32/

原文链接:
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等。
    在这里插入图片描述

未来研究方向

  1. 评价数据集和指标
    虽然各种CL方法已经被提出并被证明是有效的,但很少有工作用通用基准来评估它们。在现有的文献中,数据集和指标在不同的应用中是多样化的

  2. 更完善的理论分析
    现有的理论分析为理解CL提供了不同的角度。尽管如此,我们还需要更多的理论来帮助我们揭示为什么典型的CL是有效的。

  3. 更多的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.


http://www.ppmy.cn/news/706221.html

相关文章

VS报错-- “CL.exe以退出,代码为5“ 解决办法

报错:CL.exe以退出,代码为5 解决办法: 项目属性–VC目录–可执行文件目录 把从父级或项目默认设置继承勾选上 然后在运行就没有问题了

CL-200A串口通信

一.进入串口模式 1.cl-200a关机,开关拨向“O”端 2.hold on键弹出 3.同时按下SET/CALL/CF,并且开关拨向“I”端,这时候会进入USB模式 二.CL-200A通信命令 模式 命令 PC connect02 30 30 35 34 31 20 20 20 03 31 33 0D 0ASet Hold02 39 39 35 35 31 20 20 30 03 30 32 0D…

STM32驱动FM24CL16

根据小苗开发板例程,修改得好用的读写FM24CL16的2K bytes代码,分享给大家。 小苗开发板的程序有点问题,I2C_Read()里最后产生stop条件时间不对;另外FM24CL16是11位地址的,在I2C_Write()里也应体现出来。 先贴代码&am…

bulk interface驱动_USB驱动程序(较详细)三

(本部分的一些示例源码来自drivers/usb/usb-skeleton.c,它是Linux内核为我们提供的最基础的USB驱动程序,USB骨架程序) 驱动程序把驱动对象注册到 USB 子系统中,之后使用供应商(idVendor)和设备(idProduct)标识来判断对应的硬件是否已经安装. 驱动的设备支持列表 struct usb_…

西铁城s621c打印机调试说明,西铁城CL-S621CII驱动

软件标签: 西铁城Citizen CL-S621CII打印机驱动是西铁城官方针对该型号打印机推出的驱动程序,主要是为了能够解决打印机与电脑连接异常或者无法打印等问题,安装驱动后,打印机就可以进行正常的打印工作了,小编提供了驱动…

WinDriver驱动程序开发入门教程

WinDriver驱动程序开发入门教程 Windriver是jungo公司的一款高效易用的驱动开发软件,方便用户基于此开发自己的驱动程序,而不需要对windows DDK作深入的研究。 Windriver相比driverstudio使用起来更为方便,同时,它支持windows、Li…

linux网络驱动rtl8211f,Realtek 8211BL Gigabit Nic 在CentOS 5下驱动的安装

最近攒了一台PC服务器,采用了GigaByte的GA-M68SM-S2的主板,该主板采用了Nvidia 630a芯 片,网卡芯片为Realtek 8211BL Gigabit Ethernet Card。 选用CentOS 5 x86_64作为服务器系统。 安装完成后系统找不到网卡。GigaByte和RealTek都未提供Li…

安装CCS5时仿真驱动出现问题的解决方法

更多文章点击:https://www.zhihu.com/people/san-hao-bai-du-ren-79/activities 出现的现象: 安装CCS5 时,如果已经安装了XDS560v2_20130218驱动,如下图: 但是插上仿真器后,在设备管器中XDS560却显示有问…