0

0

清华大学发布首个课程学习开源库CurML

PHPz

PHPz

发布时间:2023-04-09 08:41:02

|

1459人浏览过

|

来源于51CTO.COM

转载

在机器学习的发展过程中,人类的学习方式常常会对各种算法的设计产生启发。而作为人类学习的一个重要范式,通过课程进行学习,已经被借鉴到机器学习中形成了名为课程学习(Curriculum Learning)的研究方向。

普遍而言,人类的教育是通过高度组织化的课程来完成的。每一门课或是每一个学科,都会从简单的内容开始,逐步向学生呈现更复杂的概念。例如,在大学接受微积分的概念之前,一名学生应当先在小学学习算术,在初中学习函数,在高中学习导数。然而与人类教育不同的是,传统机器学习模型的训练都是将数据样本随机输入模型,忽略了数据样本之间不同的复杂性以及模型当前的学习状态。因此,课程学习在机器学习领域的提出,正是为了模仿人类由易到难的学习方式,为模型提供更好的训练策略,从而提升模型的表现。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

课程学习概念图

目前课程学习已经广泛应用在机器学习的各个任务中,包括图片分类、目标检测、语义分割、机器翻译、音频识别、音频增强、视频问答等等,同时也在有监督、无监督和半监督学习以及强化学习等场景下受到大量关注和研究。

随着课程学习的应用和场景日益丰富,特别需要对这一领域进行细致的梳理和归纳,从而推动研究者的深入探索、提升使用者的应用体验。

因此,清华大学朱文武教授所带领的媒体与网络大数据实验室在发表了多篇课程学习学术论文的积累和基础上,实验室成员王鑫在 IEEE TPAMI 发表了关于课程学习的综述论文,实验室进一步发布了全球首个课程学习开源库 CurML (Curriculum Machine Leanring)。

朱文武教授与王鑫助理研究员的课程学习研究工作包括应用于城市兴趣地点推荐的课程元学习方法、基于带噪多反馈信息的课程解耦商品推荐、基于课程学习的共享参数神经架构搜索、以及基于课程难度自适应的组合优化问题求解等等。研究成果发表于 SIGKDD、NeurIPS、ACM MM 等高水平国际机器学习会议上。

图片

部分研究成果框架图

课程学习综述论文则全面回顾了课程学习的产生、定义、理论和应用等各个方面,设计了统一的课程学习框架,并根据框架内的核心组成将课程学习算法分为两个大类和多个小类,区分了课程学习与其他机器学习概念之间的不同和关联,指出了这一领域所面临的挑战和未来可能的研究方向。

图片

课程学习方法分类

课程学习开源库 CurML 是课程学习算法的支持平台,已经集成十多种课程学习算法,同时支持带噪和非带噪两种应用场景,便于研究者和使用者复现、评估、比较以及选择课程学习算法。

CurML 的主体模块是 CL Trainer,它由两个子模块 Model Trainer 和 CL Algorithm 组成,两者间通过五个接口函数进行交互,从而实现课程学习指导的机器学习过程。

图片

CurML 框架图

主体模块:CL Trainer

这一模块是整个开源库的主体部分。通过调用这一模块,使用者仅需几行代码即可实现课程学习算法。在给定数据集、模型和超参数后,模块将进行一定时间的训练,并输出训练后的模型参数和任务的测试结果。这一模块的设计主要是为了满足易用性的要求,因此进行了高度的封装,提供给想要使用课程学习算法但并不在意具体实现细节的使用者。

子模块 1:Model Trainer

这一模块用于完成一般的机器学习过程,例如训练一个图片分类器或是一个语言模型。同时,它预留了五个接口函数的位置,用于和第二个子模块 CL Algorithm 进行交互,也支持自定义的输入函数。

子模块 2:CL Algorithm

这一模块封装了 CurML 所支持的全部课程学习算法,如下表所示:

图片

模块的实现是通过五个接口函数,分别用于从机器学习过程中获取数据和模型信息,以及指导模型的学习策略,如下图所示。

图片

CurML 流程图

接口函数:data_prepare

这一函数用于从 Model Trainer 模块向 CL Algorithm 模块提供数据集信息。很多课程学习算法需要对数据集有一个整体的了解,才能更好地判断数据样本难度,因此这一接口函数是很有必要的。

接口函数:model_prepare

这一函数与 data_prepare 很类似,区别在于传递的不是数据集信息而是模型训练的相关信息,例如模型架构、参数优化器、学习率调整器等等,很多课程学习算法通过调节这些要素指导机器学习。

接口函数:data_curriculum

这一函数用于计算数据样本难度,并根据数据难度和当前模型状态为模型提供合适的数据,大部分的课程学习都具有类似的思想。

接口函数:model_curriculum

这一函数用于更新模型,调节模型从数据样本中获取的信息量,间接指导模型的学习,目前这类算法的数量还较少,但 CurML 也同样支持这类算法的实现。

接口函数:loss_curriculum

这一函数用于对损失函数值进行重加权,间接调整不同数据对于模型的影响,这类算法在课程学习中较为常见,因为损失值的加权在本质上是一种对数据的软采样。

通过对于十多种近年来课程学习方法的总结,采用上述的模块和接口参数可以统一化实现不同类型的课程学习算法,从而能在公平的场景和任务下对课程学习算法进行评估、比较和选择。

未来展望

CurML 的研发团队表示,在未来他们将不断更新这一开源库,为课程学习的发展和应用提供进一步的支持。

相关链接:

  • CurML 开源代码库链接:https://github.com/THUMNLab/CurML
  • CurML 开源软件论文链接:  https://dl.acm.org/doi/pdf/10.1145/3503161.3548549
  • 课程学习综述论文链接:https://ieeexplore.ieee.org/abstract/document/9392296/
  • 课程元学习论文链接:https://dl.acm.org/doi/abs/10.1145/3447548.3467132
  • 课程解耦学习论文链接:https://proceedings.neurips.cc/paper/2021/file/e242660df1b69b74dcc7fde711f924ff-Paper.pdf
  • 课程神经架构搜索论文链接:https://dl.acm.org/doi/abs/10.1145/3503161.3548271
  • 课程难度自适应论文链接:https://ojs.aaai.org/index.php/AAAI/article/download/20899/version/19196/20658

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1100

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

189

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1519

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

18

2026.01.19

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

800

2026.01.21

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

407

2023.08.14

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2074

2024.08.16

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

109

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.5万人学习

Rust 教程
Rust 教程

共28课时 | 5万人学习

Vue 教程
Vue 教程

共42课时 | 7.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号