术语表

半监督学习

了解半监督学习如何结合已标记和未标记数据来增强人工智能模型、降低标记成本并提高准确性。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

半监督学习(SSL)是机器学习(ML)中一个强大的中间环节,它在训练过程中将少量标记数据与大量非标记数据相结合。在获取标记数据昂贵、耗时或不切实际,而未标记数据却非常丰富的情况下,这种方法尤其有价值。SSL 的目的是利用未标记数据中的潜在结构来提高模型性能,使其超越仅使用有限的标记数据所能达到的效果,从而使其成为许多现实世界人工智能(AI)问题的实用技术。

半监督学习的工作原理

SSL 算法的工作原理是对已标记数据和未标记数据之间的关系做出某些假设。常见的假设包括 "平滑假设"(相互接近的点很可能共享一个标签)或 "聚类假设"(数据倾向于形成不同的聚类,同一聚类中的点很可能共享一个标签)。这种技术通常是在已标注数据上训练初始模型,然后根据置信度预测结果为未标注数据生成伪标签。然后在原始标签数据和新的伪标签数据上重新训练模型。另一种方法是一致性正则化,即即使模型的输入受到轻微扰动,也会鼓励模型对未标记的示例产生相同的输出,这通常是通过数据增强来实现的。这些方法允许模型从大量未标注样本中固有的模式和分布中学习。Google 人工智能博客关于 SSL 的文章等资源中探讨了更先进的技术。

与其他学习范式的比较

半监督学习(Semi-Supervised Learning)在其他主要学习类型之间占据了一个独特的空间:

  • 监督学习完全依赖于标注的训练数据。SSL 的不同之处在于,它结合了非标记数据,在标记数据稀缺的情况下有可能提高性能。
  • 无监督学习只使用无标记数据来寻找模式或结构,如聚类降维。无监督学习(SSL)使用未标记的数据,但会用一小部分已标记的示例来指导学习过程,以完成分类或回归等任务。
  • 自我监督学习(SSL)无监督学习的一种,标签由输入数据本身自动生成(例如,预测图像的遮蔽部分)。虽然它使用的是无标签数据,但其生成监督的机制与典型的半监督方法不同,后者明确地将预标签数据和无标签数据结合在一起。

实际应用

SSL 在标签成为瓶颈的领域非常有效:

  1. 网页分类:人工标注少量网站(如 "体育"、"新闻"、"技术")是可行的,但标注数十亿个网站则不切实际。SSL 可以利用大量未标注的网站来提高分类器的准确性和鲁棒性,从文本内容和链接结构中学习(网页内容挖掘概述)。
  2. 语音识别转录音频需要大量人力。SSL 允许系统在大量未转录音频数据的基础上对少量转录音频进行训练,从而提高对不同口音和说话风格的识别能力(语音处理研究)。
  3. 医学图像分析医学扫描(如用于肿瘤检测的核磁共振成像或 CT 扫描)的专家标注成本高昂,而且需要专业知识。SSL 可以利用大量未标注的扫描图像来提高在有限的标注图像集上训练的诊断模型的性能,从而为医疗保健领域提供更好的人工智能解决方案
  4. 计算机视觉(CV)中的物体检测在成千上万的图像中为物体创建精确的边界框是一项劳动密集型工作(数据收集和标注指南)。SSL 技术可利用大量未标注的图像或视频帧以及较小的标注数据集来提高检测器性能,例如 Ultralytics YOLO.

优势与挑战

SSL 的主要优点是能够减少对大型标注数据集的依赖,节省与数据标注相关的时间和资源。与在有限数据上训练的纯监督模型相比,通过利用未标记样本中的信息,SSL 通常能带来更好的模型泛化效果。然而,SSL 的成功在很大程度上取决于对数据的基本假设是否正确。如果这些假设不成立(例如,未标注数据的分布与标注数据有很大差异),SSL 方法甚至会降低性能。谨慎选择和实施 SSL 技术至关重要,通常需要MLOps 实践方面的专业知识。

工具和培训

许多现代深度学习(DL)框架,包括 PyTorch(PyTorch 官方网站)和 TensorFlow(TensorFlow 官方网站)都提供了实现 SSL 算法的功能或可对其进行调整。Scikit-learn 等库提供了一些 SSL 方法Ultralytics HUB等平台通过促进数据集的管理Ultralytics HUB Datasets 文档)简化了这一过程,这些数据集可能包含标记和非标记数据的混合物,并简化了旨在利用此类数据结构的模型的训练Ultralytics HUB 云训练)和部署(模型部署选项指南)。SSL 的研究在不断发展,其成果经常在NeurIPSICML 等大型人工智能会议上发表。

阅读全部