主动学习是机器学习中的一种专门方法,算法通过交互式查询数据源来获取新数据点的预期输出。在处理人工标注不切实际或成本高昂的大型无标注数据集时,这种方法尤其有用。与传统的监督学习方法相比,主动学习通过有策略地选择要标注的数据点,旨在以较少的标注示例实现较高的模型准确性。它有助于降低标注成本,并通过关注关键数据点来提高准确性。
核心概念和方法
在主动学习过程中,模型从一小部分标注数据集开始,反复选择信息量最大的数据点,由神谕(如人类标注者)进行标注。然后,模型在新标注的数据上进行再训练,每次迭代都会提高其性能。这一过程一直持续到达到所需的准确度水平或标注预算耗尽为止。
有效主动学习的关键在于选择标记数据点的策略。常见的策略包括
- 不确定性采样:模型会选择对其预测最没有信心的数据点。例如,在分类任务中,模型可能会选择概率接近决策边界的数据点。
- 委员会查询:由不同模型组成的委员会对标注数据进行训练,并选择委员会成员意见分歧最大的数据点进行标注。这种方法的目的是通过关注不确定性较高的领域来减少模型的方差。
- 预期模型变化:如果已知数据点的标签,模型会选择预计会对模型参数造成最大变化的数据点。这一策略的目的是从每个标注示例中获得最大的信息增益。
- 预期误差减少:模型选择预期能最大程度减少整体预测误差的数据点。这种方法的直接目标是提高模型在未见数据上的性能。
- 减少方差:这种方法主要是通过选择能代表基本数据分布的数据点来减少模型预测的方差。
主动学习与其他学习范式的比较
主动学习与其他机器学习方法(如监督学习、无监督学习和半监督学习)有很大不同。在监督学习中,模型是在固定的标签数据集上训练出来的,而在无监督学习中,模型是从无标签数据中学习出来的。半监督学习结合使用有标签和无标签数据,但与主动学习不同,它不会主动查询标签。
当标注数据稀缺或获取成本高昂时,主动学习就显得尤为有利,因为它能让模型用较少的标注示例达到较高的准确率。因此,在数据标注成为瓶颈的情况下,主动学习是一项非常有价值的技术。
实际应用
主动学习已在多个领域得到应用,包括
- 图像和视频分类:主动学习可用于高效地训练图像和视频分类任务的模型。例如,在医疗成像场景中,主动学习系统可以为放射科医生选择信息量最大的医疗图像进行标注,从而在提高诊断准确性的同时减轻标注负担。了解有关医疗保健领域视觉人工智能的更多信息,请访问Ultralytics 网站。
- 自然语言处理:主动学习可应用于文本分类、命名实体识别和情感分析等任务。通过选择性地标注信息量最大的文本样本,主动学习可以提高标注数据较少的 NLP 模型的性能。更多详情,请浏览自然语言处理(NLP)。
- 语音识别通过选择最具挑战性的音频样本进行转录,主动学习可用于训练语音识别模型。这种方法可以提高模型对口音、噪音和说话风格变化的稳健性。
使用实例
- 自动驾驶:在自动驾驶汽车的开发过程中,主动学习可用于训练物体检测模型,以识别实时视频流中的行人、车辆和其他物体。主动学习系统可以选择最模糊或最具挑战性的帧进行人工标注,确保模型在各种安全关键情况下表现良好。
- 制造质量控制:主动学习可用于训练检测制成品缺陷的模型。通过有选择性地标注存在潜在缺陷的产品图像,主动学习系统可以帮助建立一个高度准确的缺陷检测模型,只需最小的标注工作量,从而降低检测成本并提高产品质量。了解有关制造业人工智能的更多信息。
工具和框架
有几种实施主动学习的工具和框架,包括
- modAL:Python3 的主动学习框架,设计为模块化和可扩展。它支持各种主动学习策略,并可与 scikit-learn 模型轻松集成。
- libact:用于主动学习的Python 库,支持基于池的主动学习方案。它提供各种查询策略,并允许用户定义自定义策略。
- ALiPy: Python 主动学习工具箱,提供多种策略,支持基于池和基于流的主动学习。
结论
主动学习是一种强大的技术,可以利用有限的标注数据训练机器学习模型。通过有策略地选择信息量最大的数据点进行标注,主动学习可以达到很高的准确率,同时降低与数据标注相关的成本和工作量。这种方法已在计算机视觉(CV)、自然语言处理和语音识别等多个领域得到应用。随着未标记数据量的持续增长,主动学习将在实现高效和有效的机器学习方面发挥越来越重要的作用。访问Ultralytics 博客,了解更多前沿人工智能解决方案。您可以使用Ultralytics HUB 开始训练模型,这是一个用于训练自定义 Ultralytics YOLO 模型的无代码平台。