在传统的有监督学习中,要求用于训练学习模型的数据均是已标记的。一般认为,已标记的数据越多,标记越精准,基于这些数据训练得到的模型也越高效。在许多实际任务中,我们可以轻松获取大量数据,但这些数据大部分是未标注的。比如在图像分类任务中,绝大部分用户上传照片缺乏准确的语义标签。因此如何从仅有少量标记的大数据中学习出有效模型是一个极具挑战的重要问题。一个最直接的解决方案是先人工标注好所有数据再进行模型训练。面对海量数据时这种方案将耗费大量人力物力,显然是不现实的。实际上,在某些现实任务中,即使标注少量数据也需要昂贵的代价。比如在语音识别任务中,一个熟练的语言学家对一段1分钟的语音数据进行语素级标注将耗费近7小时。
一个更合理的方案是挑选一部分数据进行标注。实际上,不同数据样本对于学习模型的贡献度是不一样的,如果我们能够选取一部分最有价值的数据进行标注,有可能仅基于少量数据就能获得同样高效的模型。为了实现这一目标,关键在于如何选择出最有价值的数据样本并去获取它们的标记信息。主动学习就是研究这一问题的一种机器学习框架。其核心任务是制定选择样本的标准,从而选择尽可能少的样本进行标注来训练出一个好的学习模型。
目前主要有三种主动学习场景:基于数据池的主动学习、基于数据流的主动学习以及基于合成样本查询的主动学习。下面将分别对这三种主动学习场景进行介绍。基于数据池的主动学习是最常见的一种场景,其假设所有未标记数据已经给定,形成一个数据池。主动学习算法迭代进行,每一次从未标记数据池中选择样本向专家查询标记,并将这些新标注的样本加入训练集,模型基于新的训练集进行更新,进而进入下一次迭代。基于数据流的主动学习假设样本以流的形式一个一个到达,因此在某时刻当一个样本到达的时候,算法必须决定是否查询该样本的标记。这种场景在一些实际应用中也比较常见,比如数据流源源不断产生,而又无法保存下来所有数据时,基于数据流的主动学习就更为适用。基于合成样本查询的主动学习并不是从已有样本中选择来查询标记信息,而是直接从特征空间里合成出新的样本进行查询。由于新合成的样本可能是特征空间里任意取值组合产生的,因此在某些应用问题中可能导致人类专家也无法标注这些合成样本。比如在图像分类任务中,任意像素取值合成的一幅图片可能并不能呈现出清晰的语义。
主动学习的关键任务在于设计出合理的查询策略,即按照一定的准则来选择被查询的样本。目前的方法可以大致的分为三种策略:基于信息量的查询策略、基于代表性的查询策略以及综合多种准则的查询策略。基于信息量的查询策略是最为常见的,其基本思想是选择那些能最大限度减少当前模型不确定性的样本进行查询。具体而言,信息量又可以通过模型预测的置信度、模型错误率下降期望、委员会投票等多种形式进行度量。这类方法选择样本时只基于现有的已标记样本,忽略了大量的未标记样本中蕴含的数据分布信息,可能导致采样偏差问题。基于代表性的查询策略倾向于选择那些更能刻画数据整体分布的未标记数据进行标记查询。这些方法往往通过聚类或密度估计等无监督技术来评估样本的代表性,由于忽略了已标记样本因此整体性能也可能会依赖于聚类结果的好坏。综合多种准则的查询策略能够同时考虑选择样本的信息量和代表性,能够有效避免采样偏差和依赖聚类结果的问题。近年来已有研究者从不同角度提出综合多种查询准则的主动学习方法,并展示出较好的实验性能。
随着主动学习的广泛应用,一些实际任务中的新设置和新条件促进了主动学习技术的进一步延伸和发展。比如,在多标记学习任务中,一个样本可以同时具有多个标记,这时查询方式(即以何种方式查询所选样本的监督信息)对主动学习性能非常关键。此外在一些任务中,提供标记信息的不再是一个专家,而是一群可能提供错误信息的用户,这时如何从带有噪音的数据中获取正确的标记信息变得非常重要。还有一些任务中,可能标注每个样本的代价不一样,这使得主动学习算法在选择样本的时候不仅要考虑样本可能带来的价值,还要考虑标注它可能花费的代价。这些新的主动学习设置和形式正引起越来越多的关注,使得其应用前景更为广阔。