Curriculum Learning课程学习

 


 


论文速览

课程式学习(Curriculum Learning)

主张让模型先从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。

意义:

  • 可以加速机器学习模型的训练。在达到相同的模型性能条件下,Curriculum Learning可以加速训练,减少训练迭代步数;
  • 使模型获得更好的泛化性能,即能让模型训练到更好的局部最优值状态。

课程Curriculum

Curriculum Learning会根据样本的难易程度,给不同难度的训练样本分配不同的权重。初始阶段,给简单样本的权重最高,随着训练过程的持续,较难样本的权重将会逐渐被调高。这样一个对样本进行权重动态分配的过程被论文称之为课程(Curriculum),课程初始阶段简易样本居多,课程末尾阶段样本难度增加。

实验

  • 一、SVM分类实验:基于两个二维的高斯分布产生二类数据,并算出贝叶斯分类器的决策面。将严格处于决策面两侧的视为简单样本,其它为噪声样本,即复杂样本

实验结论:仅用简单样本训练得到的SVM分类器所实现的分类错误率为16.3%,而用所有样本训练得到的SVM分类器错误率则有17.3%。

  • 二、 感知器实验:输入x向量有一部分元素是干扰量,干扰越少,即干扰位数为0的数目越多,样本越简单

实验结论:按照样本简单程度由简单到复杂依次进行训练,可以在有限的迭代步数下能达到更好的性能

  • 三、神经网络进行形状识别实验:两种数据集,由特例到一般
     BasicShapes包含等边三角形、正方形、圆形三种类别
     GeomShapes包含三角形、矩阵、椭圆三种类别

实验结论:先用简单的知识训练对模型的提高会有帮助,并且简单的知识学得越好(即switch epoch越大),则对模型最终的泛化性能越有利

  • 四、语言模型实验:给定一句话,除了最后一个单词没给定之外,需要模型能够填出最后一个词。实验利用维基百科的数据,训练集从631百万的句子中产生,词库大小为20000。Curriculum策略是:先从词库中选择5000个最常见的words,先只用含有这些word的训练样本进行模型的训练,即将这些样本作为简单样本。而后再扩展到10000,15000,20000,这样就实现了先简单后困难的学习过程。

实验结论:这种Curriculum Learning的策略在测试集上的错误率在学习过程的后阶段会超过不采用Curriculum策略的学习方法,说明Curriculum能让模型更快地达到更好的泛化能力。

数学解释

课程学习的主要思想:根据训练样本训练的难易程度,给不同难度的样本不同的权重,一开始给简单的样本最高权重,他们有着较高的概率,接着将较难训练的样本权重调高,最后样本权重统一化了,直接在目标训练集上训练。

背后的数学解释如下
【总结向】Curriculum Learning课程学习_Curriculum Learning
对于一个优化问题 C λ C_\lambda Cλ λ \lambda λ参数反映了优化问题难易程度( 0 ≤ λ ≤ 1 0 \le \lambda \le 1 0λ1

设z是一个随机变量,表示训练过程中的样本集(如有监督学习的一对(x, y)或多对)。设 P ( z ) P(z) P(z)为目标训练分布,模型最终应该学习出的一个映射函数。 W λ ( z ) W_\lambda(z) Wλ(z)代表在第 λ \lambda λ步时,分配给样本z的权重。
那么,在第 λ \lambda λ步时例子z的训练样本分布值
Q λ ( z ) = W λ ( z ) P ( z ) Q_\lambda(z) = W_\lambda(z) P(z) Qλ(z)=Wλ(z)P(z)
且在第 λ = 1 \lambda=1 λ=1步时,即最后一步, W λ = 1 ( z ) = 1 W_{\lambda=1}(z)=1 Wλ=1(z)=1代表了越往后训练时其权重越大, Q λ = 1 ( z ) = 1 Q_{\lambda=1}(z) =1 Qλ=1(z)=1代表了该样本z全部加入到训练过程中

若训练时的样本分布 Q λ Q_\lambda Qλ 的熵和用于重新分配分布的权重 W λ ( z ) W_\lambda(z) Wλ(z)是递增的,那么 Q λ Q_\lambda Qλ 就是一个课程,即满足以下两个条件:

  • 一、越往后训练样本分布的熵越大,样本越混乱
  • 二、越往后训练样本被分配的权重越大,选取的样本集越来越趋向于整体样本
    【总结向】Curriculum Learning课程学习_人工智能_02

一个简单的理解就是利用课程改变训练样本中的分布,一开始简单的样本数量很多,出现的概率大,随着λ增大,分布与原始数据集越来越接近,最终和原始数据一致。

最后给出很多人提出的原理解释:(课程学习有效的解释)

  • 在训练初期能够花更少的时间在有噪声的和很难去训练的数据上
  • 可以引导训练走向更好的局部最优和更好的泛化效果:课程学习可以被看作是一种特殊的continuation method

参考:

Curriculum learning

论文导读:机器学习之课程式学习(Curriculum Learning)