Curriculum Learning/zh

    From Marovi AI
    This page is a translated version of the page Curriculum Learning and the translation is 100% complete.
    Other languages:
    Article
    Topic area Machine Learning
    Prerequisites Stochastic Gradient Descent, Backpropagation, Transfer Learning


    概述

    课程学习是一种机器学习模型的训练策略,其中样本按照结构化的顺序呈现,通常从易到难,而不是均匀随机地呈现。该技术的灵感来自人类和动物学习复杂技能的方式:儿童在学习长除法之前先学习小整数加法,棋手在学习开局理论之前先研究残局。在机器学习的语境下,类似的主张是,先在简单数据上训练的模型,其优化景观更平滑,并提供条件更好的路径,通向能在完整分布上良好泛化的解。

    该策略由 Bengio 等人于 2009 年正式提出,作为浅层和深度模型通用的训练原则。[1] 此后,它被应用于语言建模、机器翻译、计算机视觉、机器人学和强化学习,并衍生出一大批变体,它们在如何度量难度以及如何随时间更新训练分布上各有不同。

    直觉与动机

    两种互补的直觉支撑着课程学习。第一种是优化层面的:从任务的更简单版本开始,等价于从损失景观的更平滑替代物上开始,这可以引导Stochastic Gradient Descent进入原本难以到达的吸引盆。这一观点将课程学习与数值优化中的延拓方法联系起来:延拓方法求解一系列问题,其目标逐步收敛到原始目标。

    第二种直觉是统计层面的:在数据和训练时间均有限的情况下,先呈现简单样本可以在让模型记忆稀有或带噪样本之前,将容量分配给稳健的模式。在高噪声情形下,早期强调干净样本的课程可以充当隐式的正则化项,降低对离群值的敏感性

    两种直觉都不保证带来改进。当模型表达能力足够强且预算较大时,均匀随机采样往往与手工设计的课程不相上下。因此,实证文献的结论参差不齐,现代实践倾向于使用自动化或学习得到的课程,而非固定的排序。

    形式化

    $ D = \{(x_i, y_i)\}_{i=1}^{N} $ 为训练集,$ \ell(\theta; x, y) $ 为参数 $ \theta $ 下每个样本的损失。一个课程是 $ D $ 上的一列概率分布 $ p_1, p_2, \dots, p_T $,使得 $ p_t $ 的支撑集和$ t $ 增大,且 $ p_T $ 趋近于均匀分布。在第 $ t $ 步,优化器最小化加权风险

    $ {\displaystyle L_t(\theta) = \sum_{i=1}^{N} p_t(i) \, \ell(\theta; x_i, y_i).} $

    两个设计选择就完全确定了一个课程:一个对样本进行排序的难度度量 $ d : D \to \mathbb{R} $,以及一个控制更难样本被纳入速度的步进函数 $ g : \{1, \dots, T\} \to [0, 1] $。一种常见的参数化方式将最简单的 $ g(t) \cdot N $ 个样本保留在 $ p_t $ 的支撑集内,在支撑集内取均匀权重,支撑集外权重为零。线性、指数和阶梯式步进函数都被广泛使用。

    难度度量

    难度可以从外部定义,也可以学习得到。外部度量使用训练前即可获取的信号,例如机器翻译中的句子长度、视觉中的图像分辨率,或任务相关的启发式规则。学习得到的度量利用模型本身:若当前损失较高,或教师模型对样本的置信度较低,则视为难样本。基于损失的度量将难度与训练轨迹耦合在一起,是自步学习的基础。基于置信度的度量通常由辅助教师计算,可支撑知识蒸馏风格的课程,即由更强的模型为较弱的模型把控节奏。

    一个微妙的陷阱在于,基于损失的难度会与模型共同演化。在初始化时看起来难的样本,经过若干轮次后可能变得微不足道,因此固定阈值很快就失去意义。为此,实际实现会定期重新计算难度,或将固定阈值替换为当前损失分布的分位数。

    变体

    围绕最初的形式化已经发展出几个不同的家族。

    自步学习让模型自行决定纳入哪些样本,具体做法是联合优化模型参数和每个样本的二元纳入变量,并配以一个随时间将纳入质量推高的正则化项[2] 这种方法用一种由损失驱动的自动规则取代了手工调节的步进。

    反课程与困难样本挖掘颠倒了顺序。困难样本挖掘将训练集中在高损失样本上,以期加速收敛,在目标检测和对比表示学习中尤为成功。

    自动化课程学习$ p_t $ 的选择形式化为一个序贯决策问题,并用赌博机、强化学习或元学习的方法求解。教师策略因学生验证损失或学习进度的改善而获得奖励,能够发现纯粹凭直觉会错过的非单调课程。[3]

    课程强化学习将同样的思想应用于环境而非数据:由生成器提出难度递增的任务,使智能体能够从简单情形开始自举,逐步走向从零开始无法学习的稀疏奖励问题。

    比较与联系

    课程学习Transfer Learning相关但有所不同:迁移学习在不同任务间复用参数,而课程学习是在同一任务上,沿着一系列训练分布复用同一组参数。两者经常结合使用,即在目标分布上以课程方式对预训练模型进行微调。

    Boosting 可被视为一种反课程:每一轮都强调当前集成模型分类错误的样本。重要性采样优先经验回放和 focal loss 重加权都属于课程学习所归属的更广义的非均匀采样策略家族。

    实证结果与局限

    已报告的课程学习收益是真实存在的,但幅度有限且不稳定。课程往往在以下情形下帮助最大:训练数据有噪声、任务由难度明显不同的子任务组成、训练预算较小,或初始化时损失曲面条件较差。随着模型规模和训练预算的增大,收益常常缩小甚至消失;在标准图像分类基准上,精调过的均匀采样配合Batch Normalization是一条很强的基线,自动化课程很难持续地超越它。

    常见的失败模式包括:课程收敛到退化的简单子集;步进过慢,使模型缺乏多样化的梯度;以及随着模型改进,难度度量逐渐失去校准。对这些超参数敏感性是越来越多从业者倾向于使用学习得到的课程而非手工设计课程的主要原因。

    参考文献

    1. Bengio, Y., Louradour, J., Collobert, R., and Weston, J., "Curriculum Learning," ICML 2009.
    2. Kumar, M. P., Packer, B., and Koller, D., "Self-Paced Learning for Latent Variable Models," NeurIPS 2010.
    3. Graves, A., Bellemare, M. G., Menick, J., Munos, R., and Kavukcuoglu, K., "Automated Curriculum Learning for Neural Networks," ICML 2017.