Semi-Supervised Learning
探索半监督学习如何结合标注和未标注数据来提高模型准确性。学习使用 Ultralytics YOLO26 实现 SSL 工作流。
半监督学习(SSL)是machine learning (ML)中的一个战略范式,它在两种传统训练方法之间架起了一座桥梁。虽然supervised learning完全依赖于完全标注的数据集,而unsupervised learning试图在没有任何标签的数据中寻找模式,但SSL通过将少量labeled data与大量unlabeled data结合来运作。这种方法在现实世界的computer vision (CV)场景中特别有价值,在这些场景中,收集原始图像(例如来自安全摄像头或卫星的视频素材)相对便宜,但由人类专家进行data labeling的过程成本高、速度慢且劳动强度大。通过有效利用隐藏在未标记样本中的结构,SSL可以在不需要详尽标注预算的情况下,显著提高model accuracy和泛化能力。
半监督学习的核心机制#
SSL的主要目标是将小规模标记样本中发现的信息传播到更大的未标记集合中。这使得neural network能够学习穿过数据低密度区域的决策边界,从而实现更强大的分类或检测。
两种流行的技术推动了大多数半监督工作流程:
- 伪标签: 在此方法中,首先在有限的标记数据上训练一个模型。然后用它对未标记数据进行推理。超出特定confidence阈值的预测被视为“伪标签”或ground truth。这些高置信度的预测被添加到training data中,并重新训练模型,以迭代方式提升其性能。
- 一致性正则化: 该技术依赖于data augmentation。其核心思想是,模型对于图像以及该图像稍微修改(增强)的版本应该输出相似的预测。通过最小化原始版本和增强版本之间的预测差异,模型学会专注于对象的关键特征而不是噪声,从而提高其处理overfitting的能力。
使用 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)实际应用#
半监督学习正在改变那些数据充足但专业知识匮乏的行业。
- 医学影像: 在healthcare AI中,获取扫描图(X光片、MRI)是标准程序,但让委员会认证的放射科医生为tumor detection标注每个像素的成本高得令人望而却步。SSL允许研究人员仅使用一小部分专家标注的案例来训练高性能模型,利用数千个归档扫描图来完善模型对生物结构的理解。
- 自动驾驶: 自动驾驶汽车公司每天从车队车辆中收集拍字节的视频数据。为object detection和semantic segmentation标注每一帧是不可能的。通过SSL,系统可以从绝大多数未标记的驾驶小时中学习,以更好地理解复杂的道路环境、天气条件和罕见的边缘情况。
区分相关概念#
为了有效地部署 AI 解决方案,理解 SSL 与类似策略的区别至关重要:
- 与Active Learning的对比: 虽然两者都处理未标记的数据,但它们的方法有所不同。SSL根据模型预测自动分配标签。相比之下,主动学习识别最具“困惑性”或不确定性的数据点,并明确请求human-in-the-loop对其进行标注,从而优化人类的时间,而不是完全取代人类。
- 与Transfer Learning的对比: 迁移学习涉及采用在海量外部数据集(如ImageNet)上预训练的模型,并针对特定任务进行微调。然而,SSL专注于在训练过程中利用您特定的数据集分布中未标记的部分。
- 与Self-Supervised Learning的对比: 尽管名称相似,但自监督学习通常指“前置任务”(例如拼图游戏图像块),其中数据在没有任何外部标签的情况下生成自己的监督信号。SSL专门暗示使用较小的一组经验证的标签来指导该过程。
工具与未来展望#
随着deep learning (DL)模型规模的增长,数据使用效率变得至关重要。像PyTorch和TensorFlow这样的现代框架为这些高级训练循环提供了计算后端。此外,像Ultralytics Platform这样的工具正在简化数据集管理的生命周期。通过利用auto-annotation等功能,团队可以更轻松地实施半监督工作流,迅速将原始数据转化为生产就绪的model weights。MLOps的这种演进确保了创建高精度视觉系统的准入门槛不断降低。






