Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Active Learning

主动学习让模型选择接下来由人标注哪些未标注样本,以更少的标注达到目标准确率。本文介绍查询策略和代码。

主动学习是一种机器学习方法,由模型选择接下来应由人标注哪些未标注样本。团队不是随机标注一批数据,而是先用少量已标注数据训练模型,再用模型为大量未标注样本评分,将信息量最大的样本交给标注人员,使用扩充后的数据集重新训练,然后重复这一过程。提供标签的人称为预言机。其目标是尽可能减少标签数量,同时达到目标准确率;当标注需要专家(例如放射科医生阅片)或样本池过大而无法全部标注(例如自动驾驶汽车车队每天记录的视频)时,这一点尤为重要。

主动学习循环的工作原理#

计算机视觉项目通常采用基于样本池的主动学习,即将一批固定的未标注图像留待评分。每轮包含四个步骤:

  1. 训练:使用目前收集到的已标注样本拟合模型,例如目标检测模型。
  2. 评分:在未标注样本池上运行模型,并为每个样本赋予信息量分数。
  3. 查询:将得分最高的一批样本发送给标注人员进行数据标注。
  4. 更新:将新标签添加到训练数据中并重新训练。

标注预算用尽或固定验证集上的准确率不再提升时,循环就会结束。将每轮结果与使用相同数量随机选择的标签训练出的模型进行比较,可以判断样本选择是否有帮助。

查询策略#

查询策略决定哪些样本具有信息量:

  • 不确定性采样:挑选模型最不确定的样本,可通过最高类别置信度最低、前两类之间的间隔最小,或预测类别分布的熵最高来衡量。
  • 委员会查询:训练多个模型,并挑选它们意见分歧最大的样本。蒙特卡洛 dropout 可从单个网络中低成本构建一个委员会。
  • 多样性采样:挑选能够覆盖嵌入空间的样本,避免一个批次被连续视频帧等近似重复样本占满。核心集方法以这种方式构建批次选择问题;研究发现,许多不确定性启发式方法在批次设置下对 CNN 效果不佳。
  • 混合策略:结合两种信号。BADGE会在梯度嵌入空间中挑选既不确定又具有多样性的样本,无需手动调节权重。

检测器会为每张图像生成许多框,因此需要将框的分数合并为每张图像一个分数,例如对每个检测结果的置信度求平均。下面的脚本使用预训练的 YOLO26 模型,根据平均检测置信度对小型样本池排序,并优先查询置信度最低的图像:

from ultralytics import YOLO

# Model trained on the current labeled set
model = YOLO("yolo26n.pt")

# Unlabeled pool, usually thousands of images
pool = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
results = model(pool, conf=0.1)

# Least-confidence sampling: score each image by its mean detection confidence
scores = {}
for image, result in zip(pool, results):
    if len(result.boxes):
        scores[image] = result.boxes.conf.mean().item()

# Query the lowest-scoring images first, within a labeling budget of one image
query = sorted(scores, key=scores.get)[:1]
print(f"Label next: {query}")

较低的 conf=0.1 阈值会让低置信度检测结果计入评分,因为这些框正是模型不确定的对象。Ultralytics Platform的标注编辑器可以完成循环的其余部分:其 Smart 模式会加载你自己微调的 YOLO 模型,因此每次重新训练后,模型都会为下一批查询样本预标注,供标注人员修正。

实践中的常见问题#

  • 冷启动:使用几十个示例训练的模型,其不确定性分数并不可靠,因此最初几轮通常会随机选择样本,或根据多样性选择样本。视觉语言模型也可以仅凭类别名称为首批数据预先标注;VLM Leaderboard会比较它们标注真实世界检测数据集的准确率。
  • 批次冗余:独立挑选最不确定的 k 张图像,往往会得到一批彼此近似的图像;多样性策略和混合策略正是为了解决这个问题。
  • 采样偏差:已标注集合会因过度代表难例而偏离真实数据分布,因此应从完整样本池中随机抽取验证集和测试集,以确保评分不带偏差。
  • 离群样本:损坏、模糊或超出分布范围的图像会让所有模型都感到不确定;如果不先过滤掉它们,就可能浪费标注预算。
  • 半监督学习:同样会使用未标注数据,但模型会为自己有把握的预测分配伪标签,而不是针对自己不确定的预测向人提问。这两种方法经常结合使用。
  • 课程学习:在训练期间按从易到难的顺序安排已标注样本。主动学习则决定哪些样本会被标注。
  • 困难负样本挖掘:挑选模型判断最错误的已标注负样本,并增加这些样本的训练权重。它使用现有标签,不会添加新标签。
  • 数据飞轮:一种生产循环,部署的模型会发现新数据,从而改进下一版模型。主动学习通常是其中的一个样本选择步骤。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来