主动学习

主动学习属于“半监督学习”。 用更少的数据做更多的事情。 学者们通过一些技术手段或者数学方法来降低人们标注的成本,学者们把这个方向称之为主动学习(Active Learning)。 主动学习是机器学习的一个子领域,在统计学领域也叫查询学习或最优实验设计。 主动学习方法尝试解决样本的标注瓶颈,通过主动优先选择最有价值的未标注样本进行标注,以尽可能少的标注样本达到模型的预期性能。

基础

原理和思路

思路:通过机器学习的方法获取到那些比较“难”分类的样本数据,让人工再次确认和审核,然后将人工标注得到的数据再次使用有监督学习模型或者半监督学习模型进行训练,逐步提升模型的效果,将人工经验融入机器学习的模型中。

在主动学习中,有三种典型场景。知名度最高的一种场景称为基于池的采样(Pool-based Sampling),它遵循以下五个步骤:

  1. 人员(在此过程中称为Oracle)标注数据集的一小部分,并将标注数据提供给模型。

  2. 模型(称为主动学习者)处理这些数据,并以一定的置信度预测未标注数据点的类别。

  3. 假设初始预测低于所需精度和置信度,则会使用采样技术确定下一个需要标注的数据子集。

  4. 人员标注选定的数据子集并将标注的数据子集发送回模型进行处理。

  5. 该过程将继续,直至模型的预测达到所需的置信度和精度水平。

![al](https://cdn.jsdelivr.net/gh/xxzhai123/img/img776dab0021964e148edbb2a6c4b8dbee~tplv-k3u1fbpfcp-zoom-in-crop-mark 1304 0 0 0.awebp.webp)

另一个主动学习场景即基于流的选择采样(Stream-based Selective Sampling)。

主动学习的分类

根据输入数据的方式,主动学习可以分为:

基于流的主动学习,它将未标记的数据一次性全部呈现给一个预测模型,该模型将预测结果(实例的概率值), 根据某些评价指标(比如margin)计算评估实例的价值,随后应用主动学习决定是否应该花费一些预算来收集此数据的类标签,以进行后续的训练;

基于池的主动学习,这个通常是离线、反复的过程。 这里向主动学习系统提供了大量未标记的数据,在此过程的每个迭代周期,主动学习系统都会选择一个或者多个未标记数据进行标记并用于随后的模型训练, 直到预算用尽或者满足某些停止条件为止。 此时,如果预测性能足够,就可以将模型合并到最终系统中,该最终系统为模型提供未标记的数据并进行预测。

根据数据选择的角度,又可以分为具有渐进关系的两类:

一是仅基于独立同分布(IID)数据的不确定性进行主动学习,其中选择标准仅取决于针对每个数据自身信息计算的不确定性值;

二是通过进一步考虑实例相关性来进行主动学习,基于数据相关性的不确定性度量标准,利用一些相似性度量来区分数据之间的差异。

基于不确定性的方法 基于信息量的策略由于实用性强,因此被广泛使用。 不确定性越大,蕴含的信息量越大,越有训练价值。 用已打标的数据子集训练模型,用该模型预测剩余未打标样本,根据预测结果使用不确定性衡量标准找出最不确定的样本,交给打标人员标注,加入训练集训练模型,再用该模型进行数据挑选,反复迭代。 代表方法

  1. least confident(LC): 关注模型预测时置信度值很大,“可信度”依旧很低的样本。缺点是没关注易混淆的样本。

  2. smallest margin(SM):关注置信度最大的两个值的差(margin)最小的样本,即易混淆的样本,该方案是针对LC的缺点进行的改进。

  3. entropy(ENT): 关注综合信息量最大的样本。

基于委员会查询的方法(Query-By-Committee,QBC) 将优化 ML 模型看成是版本空间搜索,QBC 通过压缩版本空间的搜索范围,找到最优秀ML模型。 相同训练集训练多个同结构的模型,模型投票选出争议样本,将争议样本打标后训练模型,反复迭代。

主动学习 vs. 被动学习

被动学习(passive learning)被认为是从数据集中随机选择(randomly select)数据进行标注。 而主动学习选择要标注的样本时,有一些 criteria 进行指导,这就是主动学习和被动学习的区别。 不过被动学习似乎叫的不多,一般用 random selection 与主动学习的 criteria 比较就好。

主动学习与监督学习、弱监督学习、半监督学习、无监督学习之间的关系

监督学习(Supervised learning)任务中,数据集的标签都是完整而精确的。 无监督学习(Unsupervised learning)任务中,数据集是不含标签的。 弱监督学习(Weakly-supervised learning)任务中,数据集的标签分为三种情况:(这三种情况可能同时出现)

  • 部分数据有标签,部分数据没有标签。一般有标签的数据占少数,大部分数据没有标签。(Incompelet supervison)

  • 数据都有标签,但是标签的粒度不够。例如,在图像语义分割中,细粒度的标签应该是 pixel-level 的,但给出的标签仅仅是 image-level 的,这就是标签的粒度不够。(Inexact supervison)

  • 数据都有标签,但是标签有很多错误。(Inaccurate supervison)

问题与解决

类不平衡问题

主动学习无疑是有效的,但最近的一些研究表明,主动学习在应用于存在类不平衡问题时往往会失败: 大类中的数据所占比例较大,可能会导致模型的训练和预测偏向一个类。之前的一些研究,试图通过使用不同的技术来解决这一问题。

模型

主动学习的模型分类包括两种

工具