课程学习 目录
论文速览
课程式学习(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能让模型更快地达到更好的泛化能力。
数学解释课程学习的主要思想:根据训练样本训练的难易程度,给不同难度的样本不同的权重,一开始给简单的样本最高权重,他们有着较高的概率,接着将较难训练的样本权重调高,最后样本权重统一化了,直接在目标训练集上训练。
背后的数学解释如下
对于一个优化问题
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λ 就是一个课程,即满足以下两个条件:
- 一、越往后训练样本分布的熵越大,样本越混乱
- 二、越往后训练样本被分配的权重越大,选取的样本集越来越趋向于整体样本
一个简单的理解就是利用课程改变训练样本中的分布,一开始简单的样本数量很多,出现的概率大,随着λ增大,分布与原始数据集越来越接近,最终和原始数据一致。
最后给出很多人提出的原理解释:(课程学习有效的解释)
- 在训练初期能够花更少的时间在有噪声的和很难去训练的数据上
- 可以引导训练走向更好的局部最优和更好的泛化效果:课程学习可以被看作是一种特殊的continuation method
参考:
论文导读:机器学习之课程式学习(Curriculum Learning)