Semi-Supervised Learning
探索半监督学习如何结合标注和未标注数据来提高模型准确性。学习使用 Ultralytics YOLO26 实现 SSL 工作流。
半监督学习 (SSL) 是机器学习 (ML) 中的一种策略性范式,在两种传统的训练方法之间架起了桥梁。虽然监督学习完全依赖于完整标注的数据集,而无监督学习试图在没有任何标签的情况下从数据中寻找规律,但 SSL 的运作方式是将少量标注数据与海量的未标注数据相结合。这种方法在现实世界的计算机视觉 (CV) 场景中特别有价值,因为收集原始图像(例如来自监控摄像头或卫星的视频片段)相对廉价,但人工专家进行数据标注的过程却成本高昂、缓慢且耗费人力。通过有效地利用隐藏在未标注样本中的结构,SSL 可以在不需要大量标注预算的情况下,显著提高模型准确率和泛化能力。
Link to this section半监督学习的核心机制#
SSL 的主要目标是将少量已标注示例中发现的信息传播到更大的未标注集合中。这使得神经网络能够学习通过数据低密度区域的决策边界,从而实现更稳健的分类或检测。
两种流行的技术推动了大多数半监督工作流程:
- 伪标签 (Pseudo-Labeling): 在此方法中,模型首先在有限的已标注数据上进行训练。然后,它被用于对未标注数据进行推理。超过特定置信度阈值的预测结果会被视为“伪标签”或真值 (ground truth)。这些高置信度的预测结果会被添加到训练数据中,模型会进行重训,从而迭代式地提升其性能。
- 一致性正则化 (Consistency Regularization): 此技术依赖于数据增强。其核心理念是:对于一张图像及其稍作修改(增强)后的版本,模型应该输出相似的预测结果。通过最小化原始版本和增强版本之间预测结果的差异,模型学会专注于对象的关键特征而非噪声,从而提高其应对过拟合的能力。
Link to this section使用 YOLO 进行实际实现#
以下 Python 示例演示了使用 ultralytics 包进行简单伪标签工作流程的方法。在这里,我们在一个小数据集上训练一个 YOLO26 模型,然后利用它为一个未标注图像目录生成标签。
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train initially on a small available labeled dataset
model.train(data="coco8.yaml", epochs=10)
# Run inference on unlabeled data to generate pseudo-labels
# Setting save_txt=True saves the detections as text files for future training
results = model.predict(source="./unlabeled_images", save_txt=True, conf=0.85)Link to this section实际应用#
半监督学习正在改变那些数据充足但专业知识匮乏的行业。
- 医学影像: 在医疗 AI 领域,获取扫描件(X 射线、MRI)是标准流程,但让具有资质的放射科医生为每个像素进行肿瘤检测标注的成本高得惊人。SSL 允许研究人员仅使用一小部分专家标注的病例来训练高性能模型,并利用数以千计的存档扫描件来完善模型对生物结构的理解。
- 自动驾驶: 自动驾驶汽车公司每天从车队车辆中收集数 PB 的视频数据。为每一帧进行对象检测和语义分割标注是不可能的。通过 SSL,系统可以从绝大多数未标注的驾驶时间中学习,从而更好地理解复杂的道路环境、天气条件和罕见的极端情况。
Link to this section区分相关概念#
为了有效地部署 AI 解决方案,理解 SSL 与类似策略的区别至关重要:
- 与主动学习 (Active Learning) 相比: 虽然两者都处理未标注数据,但它们处理标注的方式不同。SSL 根据模型预测自动分配标签。相比之下,主动学习会识别出最“困惑”或不确定的数据点,并明确请求人机协作 (human-in-the-loop) 进行标注,从而优化人类的时间,而不是完全取代人类。
- 与迁移学习 (Transfer Learning) 相比: 迁移学习涉及采用一个在海量外部数据集(如 ImageNet)上预训练过的模型,并在你的特定任务上进行微调。然而,SSL 的重点在于在训练过程中利用你特定数据集分布中的未标注部分。
- 与自监督学习 (Self-Supervised Learning) 相比: 尽管名称相似,自监督学习通常指“代理任务”(例如解决图像块的拼图游戏),数据在没有外部标签的情况下生成自身的监督信号。SSL 特指使用较小的一组已验证标签来指导整个过程。
Link to this section工具与未来展望#
随着深度学习 (DL) 模型规模的不断扩大,数据使用的效率变得至关重要。像 PyTorch 和 TensorFlow 这样的现代框架为这些高级训练循环提供了计算后端。此外,像 Ultralytics Platform 这样的工具正在简化数据集管理的生命周期。通过利用自动标注等功能,团队可以更轻松地实现半监督工作流程,迅速将原始数据转化为可投入生产的模型权重。这种 MLOps 的演进确保了构建高精度视觉系统的准入门槛持续降低。






