探索主动学习,这是一种经济高效的机器学习方法,可以通过更少的标签提高准确性。了解它如何改变 AI 训练!
主动学习是机器学习(ML)中的一种策略方法,算法会主动选择最具信息量的数据点进行标注,而非被动接受预先标注的数据集。在传统的监督学习中,模型通常需要海量标注数据,而创建这些数据既耗时又耗资。 主动学习通过识别"不确定"或"困难"样本——即接近决策边界或模型信心不足的案例——优化了这一过程,仅要求人工标注者为这些特定实例添加标签。这种迭代循环使模型能够在显著减少标注样本量的同时实现高精度,对于预算有限或时间受限的项目而言极具效率优势。
主动学习的核心在于一个反馈循环,常被称为 人机协同循环。模型不再 仅基于静态数据集进行一次性训练,而是通过查询与更新的循环迭代实现进化。
在数据丰富但标注需要专业知识或高成本的行业中,主动学习不可或缺。
以下示例演示了Ultralytics 简单"不确定性采样"逻辑。我们加载模型,对图像进行推理,并将置信度评分低于特定阈值的图像标记出来以供人工审核。
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference
results = model(unlabeled_images)
# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
# Check if any detection confidence is below the threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
print(f"Active Learning Query: {result.path} needs human labeling.")
区分主动学习与类似的培训范式至关重要:
要有效实施主动学习,需要一个强大的 机器学习运维(MLOps) 管道。 您需要基础设施来管理数据版本控制、触发重新训练任务,并为人类用户提供标注界面。Ultralytics 集成的工具,能让用户在推理、数据整理和训练之间无缝切换。例如,通过自定义训练脚本,开发者可快速将新批次的自监督学习数据整合到YOLO 。
关于采样策略的进一步阅读,研究人员常参考主动学习文献中的综合性研究。此外,理解模型评估指标对于验证主动学习循环是否真正提升性能至关重要。