主动学习
探索主动学习,这是一种经济高效的机器学习方法,可以通过更少的标签提高准确性。了解它如何改变 AI 训练!
主动学习是机器学习(ML)中一种专门的训练方法,其中学习算法可以交互式地查询用户或其他信息源(“预言机”)来标记新的数据点。其核心思想是,如果模型可以选择它所学习的数据,则可以用明显更少的训练数据来实现更高的准确率。这在数据标注成本高昂、耗时或需要专家知识的领域尤其有价值。主动学习不是一次性标记整个数据集,而是优先标记最具“信息量”的样本,从而使模型训练过程更加高效。
主动学习如何运作
主动学习过程是循环的,通常被描述为人机循环工作流程。它通常遵循以下步骤:
- 初始模型训练: 首先在小的、最初标记的数据集上训练模型,例如 Ultralytics YOLO11 检测器。
- 查询未标记数据:然后,使用部分训练的模型对大量未标记数据进行预测。基于这些预测,模型选择它最“不确定”的样本子集。
- 人工标注: 这些不确定的样本会呈现给人类专家(即“预言机”),由他们提供正确的标签。
- 数据集增强:新标记的样本将添加到训练集中。
- 重新训练:该模型在更新的、更大的数据集上进行重新训练。此循环重复进行,直到模型的性能达到所需的阈值或标注预算耗尽。
此过程的关键在于查询策略。常见的策略包括不确定性抽样(选择模型最不确定的实例)、委员会查询(使用多个模型并选择它们不同意的实例)或估计预期模型更改。可以在此主动学习调查中找到这些策略的良好概述。
实际应用
主动学习在专家标注是瓶颈的专业领域非常有效。
- 医学图像分析: 在训练 AI 从医学扫描图像中检测癌症等疾病时,可能会有数百万张图像可用,但放射科医生可用的时间却有限。主动学习系统可以找出最模糊或罕见的病例供其审查,而不是让他们标记随机图像。这可以将专家的精力集中在最需要的地方,从而加速开发用于脑肿瘤检测等任务的高精度模型。该领域的研究表明,标记工作量显著减少,如关于生物医学图像分割的研究中所详述。
- 自动驾驶:自动驾驶汽车中的感知系统必须在涵盖无数驾驶场景的庞大而多样的数据集上进行训练。主动学习可以从收集的驾驶数据中识别“边缘情况”——例如部分隐藏在障碍物后面的行人或异常的天气条件——当前的目标检测模型难以应对。通过优先考虑这些具有挑战性的场景进行注释,开发人员可以更有效地提高模型的稳健性和安全性。
主动学习与相关概念
务必区分主动学习与其他也利用未标记数据的学习范式:
- 半监督学习: 在训练期间同时使用标记和未标记的数据。与主动学习不同,它通常被动地使用所有可用的未标记数据,而不是有选择地查询特定实例的标签。
- 自监督学习: 通过创建pretext任务(例如,预测图像中被遮盖的部分)从未标记的数据中学习表示。在预训练阶段,它不需要人工注释,而主动学习则依赖于预言机来获取标签。DeepMind 已经广泛探索了这一领域。
- 强化学习: 通过与环境交互,接收动作的奖励或惩罚,通过试错进行学习。它不涉及像主动学习那样查询显式标签。
- 联邦学习: 侧重于在去中心化设备上训练模型,同时保持数据的本地性,主要解决 数据隐私 问题。主动学习侧重于高效的标签获取。这些技术有时可以结合使用。
工具与实现
实施主动学习通常涉及将 ML 模型与标注工具集成,并管理数据工作流程。scikit-learn 等框架提供了一些功能,而专用库则存在于特定任务中。诸如 Label Studio 之类的标注软件可以集成到主动学习管道中,从而允许标注者为查询的样本提供标签。有效管理不断发展的数据集和训练的模型至关重要,而像Ultralytics HUB这样的平台为在整个开发生命周期中组织这些资产提供了基础架构。浏览Ultralytics GitHub存储库,以获取有关实施高级 ML 技术的更多信息。