论文原文:Curriculum Learning
课程学习(Curriculum Learning)由Montreal大学的Bengio教授团队在2009年的ICML上提出,主要思想是模仿人类学习的特点,由简单到困难来学习课程(在机器学习里就是容易学习的样本和不容易学习的样本),这样容易使模型找到更好的局部最优,同时加快训练的速度。
人类和动物在学习时学习材料按照由易到难的顺序呈现是学习效果会更好,在机器学习中课程学习的概念借鉴了这种思想。在非凸问题中,课程学习展现出了巨大的性能提升和很强的泛化能力。作者认为课程学习的策略能够加速收敛速率以及在非凸优化中找到更好的局部最优点(可以看成是continuation method)。
介绍了课程学习的思想,并通过动物训练shaping的模式和循环网络学习语法的例子说明,学习要由易到难循序渐进。
Contributions:
在这一部分作者在深度神经网络中讨论课程学习策略对局部最优问题的处理。深度神经网络就具有层次的结构,使用多层级的抽象特征能够让系统根据数据自动推断出输入输出之间的映射关系,从而排除人工特征的设计。然而,训练深度结构的神经网络却很困难,一些学者的研究证明使用一些无监督预训练策略来确定监督训练的初始化参数可以帮助深度网络的训练得到更好的测试误差(泛化能力增强)。作者使用课程学习的策略来进行预训练,以便找到更好的局部最优以及提高收敛的速度。
介绍了Allgower和Georg的continuation method的思想,对于一个优化问题 C λ C_\lambda Cλ( λ \lambda λ参数反映了优化问题难易程度),先优化一个较为平滑的目标 C 0 C_0 C0,这个目标反映了问题整体的景象,然后逐渐增加 λ \lambda λ并且保持 θ \theta θ是 C λ C_\lambda Cλ的局部最优,最终 C 1 C_1 C1就是实际想要优化的问题。
课程学习就是这种思想,根据训练样本训练的难易程度,给不同难度的样本不同的权重,一开始给简单的样本最高权重,他们有着较高的概率,接着将较难训练的样本权重调高,最后样本权重统一化了,直接在目标训练集上训练。
下面介绍公式化这种思想的一种方法:
首先重新分配了在第 λ \lambda λ步( 0 ≤ λ ≤ 1 0\leq\lambda\leq1 0≤λ≤1)训练时的样本分布 Q λ ( z ) Q_\lambda(z) Qλ(z),
其中,
根据上面的描述有当 λ = 1 \lambda=1 λ=1时,有
定义:若训练时的样本分布 Q λ Q_\lambda Qλ的熵和用于重新分配分布的权重 W λ ( z ) W_\lambda(z) Wλ(z)是递增的,那么 Q λ Q_\lambda Qλ就是一个课程,即满足以下两个条件:
一个简单的理解就是利用课程改变训练样本中的分布,一开始简单的样本数量很多,出现的概率大,随着 λ \lambda λ增大,分布与原始数据集越来越接近,最终和原始数据一致。
到目前为止,还没有介绍如何确定课程,即如何确定训练样本的难易程度,下面的实验将介绍几种定义课程的简单方式。
这里作者通过一个小实验说明了首先在简单样本上训练的好处。作者在一个拥有50个训练样本点的数据集上训练一个SVM进行二分类任务,实验结果表明,在简单的数据上训练的泛化误差要优于在随机选取数据上的泛化误差(16.3% vs 17.1%)。简单样本是根据 y w ′ x > 0 yw'x>0 yw′x>0来选取的,因为对于SVM来说,满足 y w ′ x > 0 yw'x>0 yw′x>0条件的样本点都是正确分类的,可以看作是没有噪声比较容易区分的。
有些人可能会质疑困难的样本含有更多的信息,然而困难的样本往往是无用的,因为他们可能含有噪声,会干扰训练效果。
这里作者使用两种方式来说明从简单到困难的课程学习策略的有效性。
实验结果如下:
这个实验关于三角形、长方形和椭圆形的形状的识别。作者用了两组数据集来区分样本的难易。一组数据集包含了等边三角形、正方形和圆形(BasicShapes),另一组中的形状并不那么规则(GeomShapes)。为了说明课程学习的效果,作者采取了以下策略:
但是这样的结果可能是因为相比没有课程学习的训练,课程学习的方式看到了更多的样本。因此作者又进行了两个实验,一个是使用BasicShapes和GeomShapes两个数据集的数据在没有课程学习策略的情况下进行训练(这样看到的数据就一样多了);另一个是只使用BasicShapes数据集中的数据进行非课程学习的训练(这样就验证了并非BasicShapes中的数据比较好),两个对比实验的结果都不好,从而说明的课程学习的效果。
这个实验是根据句子上下文来预测下一个单词是什么。作者使用了Collobert和Weston的策略。
这里对于一个可能的文本 s s s我们想让 f ( s ) f(s) f(s)尽量大(最大为1),这样其他文本对应的 f ( s w ) f(s^w) f(sw)就会尽量小,那么 C s C_s Cs就会接近于零。课程学习的策略是根据是不是常见的词汇,词典中每次增加5000个常见的词语,只要每组词汇中有词不在考虑的范围内,就丢掉这组词汇。没有课程学习策略的就直接从20000个单词中学习。下面是训练的效果:
作者认为课程学习之所以有效可以从以下两个方面解释:
另外,如何寻找更好的课程将是未来的研究方向。