什么是半监督学习?
深入了解 IBM® watsonx.ai
不同颜色和大小的点网格

发布日期:2023 年 12 月 12 日
撰稿人:Dave Bergmann

什么是半监督学习?

半监督学习是机器学习的一个分支,结合了监督学习和无监督学习,使用标记和未标记数据来训练用于分类和回归任务的人工智能 (AI) 模型 。

尽管半监督学习通常用于与使用监督学习方法相同的用例,但它的区别在于除了传统监督学习所需的标记数据外,还采用了将未标记数据整合到模型训练中的各种技术。

半监督学习方法尤其适用于以下情况:获取足够数量的标记数据非常困难或昂贵,但获取大量非标记数据相对容易。 在这种情况下,完全监督或无监督的学习方法都无法提供足够的解决方案。

标记数据和机器学习

为分类或回归等预测任务训练 AI 模型通常需要标记数据:带注释的数据点,提供必要的上下文并演示每个样本输入的正确预测(输出)。 在训练期间,损失函数测量模型对给定输入的预测与该输入标记提供的“标准答案”之间的差异(损失)。 模型通过使用梯度下降等技术从这些标记的示例中学习,更新模型权重以尽量减少损失。由于这种机器学习过程主动涉及人类,因此被称为“监督”学习。

对于复杂的 AI 任务来说,正确标记数据变得越来越耗费人力。 例如,要训练图像分类模型以区分汽车和摩托车,必须将数百个(如果不是数千个)训练图像标记为“汽车”或“摩托车”;对于更详细的计算机视觉任务,例如物体检测,人类不仅必须注释每个图像包含的对象,还必须注释每个对象的位置;对于更详细的任务,例如图像分割,数据标记必须注释每张图像不同图像段特定的逐个像素边界

因此,对于某些用例来说,标记数据可能特别繁琐。 在药物发现、基因测序或蛋白质分类等更专业的机器学习用例中,数据注释不仅极其耗时,而且需要非常专业的领域知识。

半监督学习提供了一种从稀缺的标记数据中获取最大收益的方法,同时还利用相对丰富的未标记数据。

浏览 IBM® watsonx.ai

新一代企业级工作室,支持 AI 构建器训练、验证、调整和部署 AI 模型。

相关内容

订阅 IBM 时事通讯

半监督学习、监督学习与无监督学习

半监督学习可以被认为是监督学习和无监督学习的混合体或中间立场。

半监督学习与监督学习

半监督和完全监督机器学习的主要区别在于,后者只能使用完全标记的数据集进行训练,而前者在训练过程中同时使用标记和未标记的数据样本。 半监督学习技术修改或补充了监督算法(在这种情况下称为“基础学习器”),以合并未标记示例的信息。 标记数据点用于为基础学习器的预测奠定基础,并为学习问题添加结构(例如存在多少类以及每个类的基本特征)。

训练任何分类模型的目标是让其学习准确的决策边界一条线或者,对于二维以上的数据,“表面”或超平面)将一个分类类别的数据点与属于不同分类类别的数据点分开。 尽管完全监督的分类模型在技术上可以仅使用几个标记的数据点来学习决策边界,但它可能无法很好地推广到实际示例,从而使模型的预测不可靠。

经典的“半月”数据集将依赖于太少标记数据点的监督模型的缺点实现可视化。 尽管“正确”的决策边界会将两个半月分开,但监督学习模型可能会过度拟合少数可用的标记数据点。 未标记的数据点清楚地传达了有用的上下文,但传统的监督算法无法处理未标记的数据。

半监督学习与无监督学习

与半监督(和完全监督)学习不同,无监督学习算法既不使用标记数据,也不使用损失函数。 无监督学习避开了任何可以衡量和优化模型准确性的“标准答案”上下文。

一种越来越常见的半监督方法,特别是对于大型语言模型,是通过无监督任务“预训练”模型,这些任务要求模型学习未标记数据集的重要表示。 当此类任务涉及“标准答案”和损失函数(无需手动数据注释)时,它们被称为自监督学习。 经过对少量标记数据进行后续“监督微调”后,预训练模型通常可以达到与完全监督模型相当的性能。

虽然无监督学习方法在许多情况下都很有用,但缺乏上下文可能使它们不适合自行分类。 以典型的聚类算法(根据数据点彼此的接近程度将数据点分组为预定数量的簇)为例,如何处理半月数据集。

半监督学习与自监督学习

半监督学习和自监督学习都旨在规避对大量标记数据的需求,但是尽管半监督学习涉及一些标记数据,而自编码器等自监督学习方法则是真正的无监督学习。

虽然监督(和半监督)学习需要标记数据形式的外部“标准答案”,但自监督学习任务从未标记样本的底层结构中得出标准答案。 许多自监督任务本身并无用处:它们的效用在于教授模型数据表示,可用于后续的“下游任务”的目的。因此,它们通常被称为“假托任务”。

当与监督下游任务结合时,自监督假托任务构成了半监督学习过程的一部分:一种使用标记和未标记数据进行模型训练的学习方法。

半监督学习如何运作?

半监督学习依赖于对用于训练模型的未标记数据以及来自不同类别的数据点相互关联的方式的某些假设。

半监督学习(SSL)的一个必要条件是,用于模型训练的未标记示例必须与模型所要执行的任务相关。 用更正式的术语来说,SSL 要求输入数据的分布 p(x) 必须包含有关后验分布 p(y|x) 的信息,即给定数据点 (x) 属于某个特定类 (y) 的条件概率。 因此,举例来说,如果使用未标记的数据来帮助训练图像分类器来区分猫和狗的图片,则训练数据集应包含猫和狗的图像,而马和摩托车的图像将没有帮助。

因此,尽管 2018 年对半监督学习算法的一项研究发现,“增加未标记的数据量往往会提高 SSL 技术的性能”,但它还发现,“与根本不使用任何未标记数据相比,从不匹配的类别组中添加未标记数据实际上会损害性能”。 1

p(x)p(x|y) 之间存在有意义的关系,这一基本条件引起了关于这种关系性质的多种假设。 这些假设是大多数(如果不是全部)SSL 方法背后的驱动力:一般来说,任何半监督学习算法都依赖于显式或隐式满足以下一个或多个假设。

聚类假设

聚类假设指出,属于同一聚类的数据点(一组比其他可用数据点更相似的数据点)也属于同一类。

尽管有时被认为是其独立的假设,但聚类假设也被 van Engelen 和 Hoos 描述为“其他假设的概括”2在此视图中,数据点聚类的确定取决于使用的是哪种相似度概念:平滑度假设、低密度假设和流形假设都只是利用了对构成“相似”数据点的不同定义。

平滑度假设

平滑度假设指出,如果两个数据点 xx’ 在输入空间( x的所有可能值的集合)中彼此接近,则它们的标记 yy’ 应该相同。

这种假设,也称为连续性假设,在大多数监督学习中都很常见:例如,分类器在训练期间学习每个相关类的有意义的近似(或“表示”);经过训练后,它们就会通过它们最相似的表示来确定新数据点的分类。

在 SSL 上下文中,平滑度假设还有一个额外的好处,那就是可以传递地应用于未标记的数据。 考虑涉及三个数据点的场景:

  • 标记数据点,x1
  • 未标记数据点,x 2 接近x 1
  • 另一个未标记数据点,x 3,接近 x2,但不接近 x 1

平滑度假设告诉我们,x2 的标记应该与 x1 相同。 它还告诉我们 x3 的标记应该与 x2 相同。 因此,我们可以假设所有三个数据点都有相同的标记,因为由于 x3 接近 x2,x1 的标记会传递到 x3

低密度假设

低密度假设指出,类之间的决策边界不应通过高密度区域。换句话说,决策边界应该位于包含很少数据点的区域。

因此,可以将低密度假设视为聚类假设(即高密度数据点聚类代表一个类别,而不是类别之间的边界)和平滑度假设(即如果多个数据点彼此靠近,它们应共享一个标记,因此位于决策边界的同一侧)的扩展。

该图说明了平滑度和低密度假设如何能够提供比仅考虑(很少)标记数据点的监督方法更直观的决策边界。

流形假设

流形假设指出,高维输入空间包含多个低维流形,所有数据点都位于其上,并且同一流形上的数据点共享相同的标记。

举个直观的例子,考虑一张皱成一团的纸。 球面上任意点的位置只能用三维 x、y、z 坐标来映射。 但是,如果现在将那个皱巴巴的球压平回一张纸中,那么现在可以使用二维 x、y 坐标来映射这些相同的点。 这称为降维,可以使用自编码器或卷积等方法以数学方式实现。

在机器学习中,维度不对应于熟悉的物理维度,而是对应于数据的每个属性或特征。 例如,在机器学习中,尺寸为 32x32 像素的小型 RGB 图像具有 3,072 个维度:1,024 个像素,每个维度都有三个值(红色、绿色和蓝色)。 将数据点与如此多的维度进行比较具有挑战性,这既是因为其复杂性和所需的计算资源,也是因为大多数高维空间不包含对当前任务有意义的信息。

流形假设认为,当模型学习适当的降维函数以丢弃不相关信息时,不同的数据点会收敛到更有意义的表示,而其他 SSL 假设对此更可靠。

转导学习

转导学习方法使用可用的标记来辨别给定的一组未标记数据点的标记预测,以便监督式基础学习器使用。

归纳法旨在训练可以对整个(标记和未标记)输入空间进行建模的分类器,而转导方法仅旨在对未标记的数据进行标记预测。 用于转导学习的算法很大程度上与使用新标记的数据进行训练的监督分类器模型所使用的算法无关。

标记传播

标记传播是一种基于图形的算法,它使用平滑度假设和聚类假设,根据未标记数据点与标记数据点的相对接近度来计算未标记数据点的标记分配。

该算法背后的直觉是,人们可以映射一个完全连接的图,其中节点都是可用的数据点,既有标记,也有未标记。 基于某些选定的距离度量(例如欧几里得距离(链接位于 ibm.com 外部))的两个节点越近,它们之间的边缘在算法中的权重就越大。 从标记数据点开始,然后使用平滑度和聚类假设,标记通过相邻的未标记数据点进行迭代传播

主动学习

主动学习算法不会自动标记数据点:相反,它们在 SSL 中用于确定哪些未标记的样本在手动标记时将提供最有用的信息。 3 在半监督环境中使用主动学习取得了可喜的成果:例如,最近的一项研究发现,它使有效训练语义分割模型所需的标记数据量减少了一半以上。4

归纳学习

半监督学习的归纳方法旨在使用标记和未标记数据直接训练分类(或回归)模型。

归纳 SSL 方法通常可以通过它们合并未标记数据的方式来区分:通过伪标记步骤、无监督预处理步骤或直接合并到模型的目标函数中。

包装方法

将现有监督算法扩展到半监督设置的一种相对简单的方法是,首先在可用的标记数据上训练模型,或者简单地使用合适的预先存在的分类器,然后为未标记的数据点生成伪标记预测。 然后,可以使用原始标记数据和伪标记数据重新训练模型,而不区分两者。

除了简单性之外,包装方法的主要好处是它们与几乎任何类型的监督基础学习器兼容。 大多数包装方法都引入了一些正则化技术,以降低强化可能不准确的伪标记预测的风险。

自我训练
自我训练是一种基本的包装方法。
它需要概率性而非确定性的伪标记预测:例如,模型输出“85% 的狗,15% 的猫”,而不是简单地输出“狗”。

概率伪标记预测允许自训练算法仅接受超过一定置信度阈值的预测,其过程类似于熵最小化。 5这个过程可以迭代地完成,以优化伪分类过程或达到一定数量的伪标记样本。

联合培训
协同训练方法通过训练多个监督基础学习器来分配伪标记来扩展自训练概念。

多样化旨在减少强化不良初步预测的趋势。 因此,重要的是每个基础学习器的预测彼此之间不要有很强的相关性。 典型的方法是对每个分类器使用不同的算法。 另一种方法是让每个分类器专注于数据的不同子集:例如,在视频数据中,根据视觉数据训练一个基础学习器,并根据音频数据训练另一个基础学习器。

无监督预处理

与同时使用标记和未标记数据的包装方法(以及本质上的半监督算法)不同,一些 SSL 方法在不同阶段使用未标记和标记数据:无监督预处理阶段,然后是监督阶段。

像包装方法一样,此类技术基本上可以用于任何有监督的基础学习器。 但与包装方法相比,“主”监督模型最终仅在原始(人工注释的)标记数据点上进行训练。

此类预处理技术包括从未标记的数据中提取有用的特征到对未标记的数据点进行预聚类,再到使用“预训练”来确定监督模型的初始参数(该过程类似于在自监督学习中执行的假托任务)。

先聚类后标记
一种简单的半监督技术涉及使用无监督算法对所有数据点(标记的和未标记的)进行聚类。 利用聚类假设,这些聚类可用于帮助训练独立的分类器模型,或者,如果给定聚类中的标记数据点都属于同一类,则对未标记的数据点进行伪标记,然后以类似于包装方法的方式进行操作。

正如本文前面的“半月”示例所示,简单的方法(如k 最近邻)可能会产生不充分的预测。 更精细的聚类算法,例如 DBSCAN(实现低密度假设),6取得了更高的可靠性。

预训练和特征提取
无监督(或自监督)预训练允许模型学习输入空间的有用表示,从而减少通过监督学习微调模型所需的标记数据量。

一种常见的方法是采用神经网络(通常是自编码器)来学习输入数据的嵌入或特征表示,然后使用这些学习到的特征来训练有监督的基础学习器。 这通常需要降维,有助于利用流形假设。

本质上是半监督的方法

一些 SSL 方法直接将未标记数据放入基础学习器的目标函数中,而不是在单独的伪标记或预处理步骤中处理未标记数据。

半监督支持向量机
当不同类别的数据点不可线性分离时——当没有直线可以整齐、准确地定义类别之间的边界时——支持向量机 (SVM)算法将数据映射到更高维的特征空间,在该空间中,类别可以通过超平面分隔。在确定该决策边界时,SVM 算法最大限度地提高了决策边界与最接近该边界的数据点之间的边界。这实际上应用了低密度假设。

在监督设置中,当标记的数据点落在决策边界的错误一侧时,正则化项会对算法进行惩罚。 在半监督 SVM (S3VM) 中,这对于未标记的数据点(其分类未知)是不可能的,因此,S3VM 也会惩罚位于规定范围内的数据点。

本质上半监督的深度学习模型
多种神经网络架构已适用于半监督学习。 这可以通过添加或修改这些架构中通常使用的损失项来实现,从而在训练中纳入未标记的数据点。

提议的半监督深度学习架构包括梯形网络、7伪系综、8时间集成、9以及对生成对抗网络 (GANS) 的修改。10

相关解决方案
IBM watsonx.ai

轻松训练、验证、调整和部署生成式 AI、基础模型和机器学习功能,并迅速使用少量数据构建 AI 应用程序。

深入了解 watsonx.ai

IBM watsonx.data

IBM® watsonx.data湖仓一体方案让企业能够运用适合特定用途的数据存储来调整分析和 AI 的规模,基于开放式湖仓一体架构而构建,并通过查询、治理和开放数据格式来存取和共享数据。可以在几分钟内连接数据,快速获得可信的洞察,并降低数据仓库成本。

深入了解 watsonx.data
半监督学习资源

课程和资源,可帮助您更多地了解半监督学习及其在机器学习的大背景下的地位。

机器学习:回归和分类

深入了解监督机器学习的两个重要子集:回归和分类。 了解如何训练回归模型来预测连续结果,以及如何训练预测模型来对分类结果进行分类。

什么是数据标注?

添加一个或多个标记提供了上下文,使机器学习模型能够做出准确的预测。 深入了解数据标签的用途和优点,包括不同的技术和最佳实践。

非标记数据如何提高自我训练的泛化效果

自训练是一种半监督学习算法,在标记数据有限的情况下,利用大量未标记数据来改进学习。 这项工作为已知的迭代自训练范式建立了理论分析,并证明了未标记数据在训练中的优点。

采取后续步骤

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

深入了解 watsonx.ai 预约实时演示
脚注

1 “深度半监督学习算法的现实评估” (链接位于 ibm.com 外部),arXiv,2019 年 6 月 17 日
2 “半监督学习调查” (链接位于 ibm.com 外部), Springer,2019 年 11 月 15 日
3转导主动学习 – 一种新的半监督学习方法,基于迭代细化的生成模型来捕获数据结构”(链接位于 ibm.com 外部), 《信息科学》(第 293 卷),2014 年 9 月 18 日
4 “主动半监督学习的语义分割” (链接位于 ibm.com 外部),arXiv,2022 年 10 月 16 日
5 “通过熵最小化进行半监督学习” (链接位于 ibm.com 外部), 神经信息处理系统的进展 17,2004 年
6 “基于密度的半监督聚类” (链接位于 ibm.com 外部), 《数据挖掘与知识发现》,2010 年 11 月
7 “利用梯形网络进行半监督学习”(链接位于 ibm.com 外部),arXiv,2015 年 11 月 24 日
8 “通过伪系综学习”(链接位于 ibm.com 外部),arXiv,2014 年 12 月 16 日
9 “半监督学习的时间系综”(链接位于 ibm.com 外部),arXiv,2017 年 3 月 15 日
10 “改进的 GAN 训练技术”(链接位于 ibm.com 外部),arXiv,2016 年 6 月 10 日