Curriculum Learning

在谈论self-paced learning之前,我们需要先了解一下课程学习(curriculum learning)。

Bengio [1] 提出了课程学习的概念,其直觉来自于人类从易到难的学习过程:将数据看作模型所学习的内容的话,我们自然需要一个合理的课程(curriculum)来指导模型学习这些内容的方式。在课程学习中,数据被按照从易到难的顺序逐渐加入模型的训练集,在这个过程中训练集的熵也在不断提高(包含更多的信息)。
A model is learned by gradually including from easy to complex samples in training so as to increase the entropy of training samples.

课程学习的核心问题是得到一个ranking function,该函数能够对每一条数据样本给出其learning priority (学习该样本的优先程度)。一个确定的ranking function便能够确定一个“课程”:有更高rank的数据(i.e. small value)会被较早地学习。

通常情况下,一个特定问题的ranking function是由直觉的方式根据问题的先验知识确定的。(e.g. 在遥感图片中辨识地理地貌特征,那些地貌特征较为单一的图片被作为简单样本较早地学习)

直觉方式确定的、静态的curriculum与变化的问题、动态的训练过程之间有某种不连续性:不够elegant。课程的确定并没有用到模型训练过程中能够得到的反馈信息,self-paced learning用一种更加统一的形式包含了curriculum learning。

Self-paced Learning

自步学习(Self-paced Learning / SPL)由Kumar et al. 在2010年提出。为了解决CL存在的问题,SPL将curriculum设计为学习的目标函数中的一个正则化项。

这种将CL“embedding”到目标函数种的方式带来了:
1. 联合的优化形式使得模型能够同时优化original objective与curriculum design,这是一个统一的优化问题。
2. 该课程正则化项是独立的,不因task specific的目标函数/损失函数的改变而改变。

形式化来讲SPL的优化目标如下:其中L(…)代表计算模型预测值f(xi, w) 与 ground truth yi之间差别的Loss函数,w为模型的参数,v为一个长度为n的隐含的权重向量,其第i维的值vi为第i条数据样本的权重。

joint learning objective

SPL的优化目标即优化得到一组模型参数w与权重向量v,使得所有数据的加权Loss之和与负的权重向量v的L1范数最小(也存在同时使用L1L2范数的变体[3])。其中 λ 是一个控制参数,反映了当前学习所进行到的阶段(learning pace)。

直观来解释一下权重向量v,最常用的是binary (0/1)的形式:其实就是是否选择该数据进入训练/验证集。note that在Loss项前乘了因子vi,所以对于第i条数据,若vi=0则其产生的Loss对于该步的模型参数w更新没有影响。

对于Eq (1)具体的优化过程可以使用ACS(Alternative Convex Search)[4],这是一种迭代式的双凸(biconvex)优化方法。在该方法中所有优化目标变量被分为两个不相交的子集,每轮迭代中固定一个集合中的变量优化另一集合。在Eq (1)中,两个子集显然为{w}, {v}。

compute & update v in SPL

在模型参数w固定时,权重向量v (Binary) 的更新可以由右式的简单计算得到:考虑所有Loss小于某个阈值 λ 的样本 (i.e. small loss = easy sample),不考虑其他Loss大于该阈值 λ 的样本。随着训练过程的进行,阈值 λ 会逐渐从0接近1:在这个过程中那些更难的样本会被逐渐加入模型的训练过程中去。

上文所述的SPL实现策略都相当基础(但足够有效),并且作为CL的一种泛化,上述的SPL同样符合CL的直觉。但这种实现也存在一些小问题:由于训练过程完全由training loss决定,这种使用方法或多或少会面临overfitting的问题。又比如缺乏在具体问题中引入先验/专家知识的能力。

SPL已经有许多有趣的应用(如long-term tracking / event detection / domain adaptation 等等一切easy sample可以支持hard sample的问题)。此外SPL还有许多有趣的扩展工作,如具有CL引入领域先验知识的能力,又可以像SPL在训练过程中获取信息动态调整的Self-paced curriculum learning (SPCL) [5],以及在关注hardness(分类难易度)的同时关注diversity来降低overfitting风险的SPLD [3]。。有时间再写 = =

[1] Bengio, Yoshua, et al. “Curriculum learning.” Proceedings of the 26th annual international conference on machine learning. ACM, 2009.
[2] Kumar, M. Pawan, Benjamin Packer, and Daphne Koller. “Self-paced learning for latent variable models.” Advances in Neural Information Processing Systems. 2010.
[3] Jiang, Lu, et al. “Self-paced learning with diversity.” Advances in Neural Information Processing Systems. 2014.
[4] Gorski J, Pfeuffer F, Klamroth K. Biconvex sets and optimization with biconvex functions: a survey and extensions[J]. Mathematical methods of operations research, 2007, 66(3): 373-407.
[5] Jiang L, Meng D, Zhao Q, et al. Self-Paced Curriculum Learning[C]//AAAI. 2015, 2(5.4): 6.

课程学习与自步学习Curriculum learning and self-paced learning:极简入门相关推荐

  1. 【2022·深度强化学习课程】深度强化学习极简入门与Pytorch实战

    课程名称:深度强化学习极简入门与Pytorch实战 课程内容:强化学习基础理论,Python和深度学习编程基础.深度强化学习理论与编程实战 课程地址:https://edu.csdn.net/cour ...

  2. RL极简入门:从MDP、DP MC TC到Q函数、策略学习、PPO

    前言 22年底/23年初ChatGPT大火,在写ChatGPT通俗笔记的过程中,发现ChatGPT背后技术涉及到了RL/RLHF,于是又深入研究RL,研究RL的过程中又发现里面的数学公式相比ML/DL ...

  3. 机器学习极简入门课程

    开篇词 | 入门机器学习,已迫在眉睫 大家好,我是李烨.现就职于微软(Microsoft),曾在易安信(EMC)和太阳微系统(Sun Microsystems)任软件工程师.先后参与过聊天机器人.大数 ...

  4. 深度学习第一课:极简入门

    本场 Chat 主要目标是立足于前人肩膀上,从整体上来总览深度学习,图文并茂的解释深度学习概念.适合想转战深度学习的小伙伴,以及刚刚入门深度学习,却为深度学习开发流程而困惑的小伙伴们. 本场 Chat ...

  5. 今日推荐课程:机器学习极简入门

    课程介绍 本达人课针对机器学习初学者,从机器学习.深度学习最基本的原理及学习意义入手,以模型为驱动,带领大家吃透几个最经典的机器学习模型--学习这些模型的原理.数学推导.训练过程和优化方法. 本课为每 ...

  6. Three.js学习二——Three.js极简入门

    目录 准备开发环境 掌握一些概念性知识 编码测试 创建一个场景(Creating a scene) 创建一个场景 渲染场景 使立方体动起来 结果 准备开发环境 1.一台可用浏览器的带文件系统的电脑: ...

  7. 谷歌『云开发者速查表』;清华3D人体数据集;商汤『通用视觉框架』公开课;Web3极简入门指南;高效深度学习免费书;前沿论文 | ShowMeAI资讯日报

    ShowMeAI日报系列全新升级!覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向.点击查看 历史文章列表, ...

  8. 文献学习(part10)--元自步学习

    学习笔记,仅供参考,有错必究 从文献中按照本人的学习情况不完全摘录: 文章目录 元自步学习 摘要 课程学习与自步学习 自步学习的基本执行模式 自步学习简介 典型的自步学习算法 超参数优化 元自步学习算 ...

  9. 机器学习-55-RL-07-Sparse Reward(强化学习-稀疏奖励:Reward Shaping,Curriculum Learning,Hierarchical RL)

    文章目录 Sparse Reward Reward Shaping(奖励塑造) Reward Shaping Curiosity(ICM) Curriculum Learning Curriculum ...

  10. 资源 | UC Berkeley CS 294深度强化学习课程(附视频、学习资料)

    来源:机器之心 本文共4000字,建议阅读10分钟. 本文主要介绍了课程中的强化学习主题,涉及深度强化学习的基本理论与前沿挑战. CS294 深度强化学习 2017 年秋季课程的所有资源已经放出.该课 ...

最新文章

  1. Unity与C#创建一个3D平台游戏 Learn to Create a 3D Platformer Game with Unity C#
  2. 10.07-Idea的使用
  3. aspose-cells 表合并
  4. it转正述职报告_普通员工转正述职报告范文
  5. BZOJ 3144 [HNOI2013]切糕 (最大流+巧妙的建图)
  6. IntelliJ IDEA 中,英官网 - 下载地址
  7. mysql 批量增加字段命令_sql使用命令批量给一个表添加字段
  8. android app复制,手机屏幕文字复制App(Text on sreen)
  9. java 并发 面试题_阿里面试官总结10个经典技术题:Java多线程与并发面试题
  10. Chrome不显示OPTIONS请求的解决方法2021版chrome90
  11. freetextbox java_FreeTextBox-Java架构师必看
  12. gdt描述_GDT全局描述符表
  13. cordova与android通信_使用Cordova插件实现两个app之间的相互调用和通讯
  14. wps云文档+到计算机,读书笔记:WPS云文档计算机版本
  15. Idea全部快捷键+自行修改快捷键
  16. 消防物联网,为逆行英雄守住第一道生命线
  17. windows7系统损坏修复_火绒安全警报:微软发布高危漏洞补丁 火绒“漏洞修复”模块已完成升级...
  18. W10 无法启动你的相机
  19. 很不错的html学习资料
  20. 基于投影学习的负采样改进型上位词关系提取 (翻译学习使用)

热门文章

  1. 大 学 十 年 励志
  2. 《谷物大脑》书中的精髓:如何通过四星期行动计划打造健康身体?
  3. 2、如何搭建百度离线地图服务
  4. 传统语音识别介绍【二】—— 特征提取
  5. 排序算法——梳排序 Comb sort
  6. setcpu_cpuset子系统
  7. 操作系统之Auditing Subsystem—Linux OS
  8. 解决Shiro+SpringBoot异步任务长时间运行导致的UnknownSessionException错误问题
  9. 东北财经有计算机系吗,东北财经大学计算机科学与技术专业要学哪些课程,好学吗?...
  10. matlab里pascal是什么意思_台球里的自然角是什么意思