什么是主动学习(Active Learning)

主动学习Active Learning, AL)‍是机器学习Machine Learning)中的一个子领域,也被称为查询学习Query Learning‍或最优实验设计(Optimal Experimental Design)‍。

核心概念

主动学习的核心思想是让机器主动选择最有价值的数据进行学习,而不是被动地接受所有给定的数据。这种方法的目的是在标注成本高昂(如需要人工标注图像或文本)的情况下,通过挑选出最有信息量的样本来标注,以更少的标注数据(更少的人工成本)训练出更高性能的模型。

为什么需要主动学习?

在传统的监督学习中,模型需要大量已经标注好的训练数据来学习。但在很多实际场景中,获取这些标注数据非常困难、耗时或昂贵(例如医学图像标注需要专家经验,文本标注需要大量人工审核)。
主动学习通过让模型充当“主动询问者”(类似学生提问老师),有针对性地询问专家(或“oracle”)最需要标注的样本,从而大幅降低数据标注成本。

主动学习的基本流程

  1. 构建初始模型:先用少量随机标注的数据训练一个初始模型。
  2. 查询策略(Query Strategy)‍:模型根据当前状态,使用某种策略(如不确定性最高)从未标注的数据池中挑选出一小部分样本。
  3. 人工标注:将挑选出的样本交给人工标注者进行标记。
  4. 模型更新:将新标注的样本加入训练集,重新训练模型。
  5. 迭代:重复步骤2-4,直到模型性能满意或标注预算用完。

常见的查询策略

主动学习的关键在于如何挑选样本。常见的策略包括:

  • 不确定性采样(Uncertainty Sampling)‍:选择模型最不确定的样本进行标注。例如,对于分类任务,选择模型预测概率最接近0.5的样本(即最难分辨的样本)。
  • 查询委员会(Query By Committee, QBC)‍:构建多个模型(委员会),选择它们预测结果分歧最大的样本进行标注。
  • 基于密度的方法(Density-based)‍:选择既不确定又能代表数据分布密集区域的样本,避免只挑选“离群点”。
  • 期望模型变化(Expected Model Change)‍:选择标注后能对模型参数产生最大影响的样本。

主动学习的三种主要场景

根据未标注数据的获取方式,主动学习可以分为三种不同的设置:

  1. 池式主动学习(Pool-based Sampling)‍:
    • 定义:假设在训练开始前就有一个包含大量未标注数据的大池子(Pool)。
    • 流程:模型每次从这个池子里挑选最有价值的样本进行标注。
    • 适用场景:大多数应用(如图像库、文本库)。
  2. 流式主动学习(Stream-based Selective Sampling)‍:
    • 定义:数据以流的形式不断到来(如实时传感器数据)。
    • 流程:模型每接收到一个新数据点,就即时判断是否需要标注它(通常根据置信度阈值决定)。
    • 适用场景:实时数据监控、在线学习。
  3. 成员资格查询合成(Membership Query Synthesis, MQS)‍:
    • 定义:模型可以自己“合成”出新的数据实例。
    • 流程:模型生成一个可能存在于真实世界的样本(但未必真实存在),然后询问专家标注。
    • 适用场景:理论研究或特定需要合成数据的场景。

应用领域

主动学习广泛应用于需要大量人工标注的数据密集型领域,如图像识别(挑选最难辨认的图像标注)、自然语言处理(挑选最模糊的文本进行标注)、医学诊断(挑选最疑难的病例进行专家诊断)等。

总结

主动学习的核心在于‍“有选择地学习”‍。通过让模型主动挑选数据,它能够在标注数据极少的情况下(比如仅有几百或几千个标注样本),依然训练出性能接近于使用数万甚至数十万标注样本的模型,极大地节约了时间和金钱成本。

来源:www.aiug.cn
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!