1 基本概念
1.1 定义与目标
半监督学习是机器学习的一种范式,其核心任务是在训练数据中包含少量带标签样本和大量未标签样本的情况下,学习一个能够准确预测未知数据的模型。其目标是在不显著增加标签获取成本的前提下,利用未标签数据蕴含的结构信息(如数据点之间的相似性、分布密度等)来提升模型的泛化能力。与监督学习依赖完整标签集合不同,半监督学习将标签视为一种“稀缺资源”,而将未标签数据视为免费的“辅助信息源”。
1.2 与监督学习、无监督学习的区别
- 监督学习:所有训练样本都配有标签,模型直接从标签-特征映射中学习。缺点在于标签获取成本高昂,且在某些领域(如医疗影像标注)需要极高专业知识。
- 无监督学习:训练样本完全无标签,模型旨在发现数据中的隐含结构(如聚类、降维)。缺点在于缺乏明确目标,无法直接用于分类或回归任务。
- 半监督学习:介于二者之间,使用少量标签样本和大量无标签样本。相比监督学习,它降低了标签成本;相比无监督学习,它利用标签信息提供了训练方向。具体区别可总结为:监督学习“有师傅带”,无监督学习“野路子探索”,半监督学习则像“有个启蒙老师,然后自己看书自学”。
1.3 核心假设
半监督学习之所以能利用未标签数据,依赖于以下三个关键假设,这些假设保证了未标签数据能提供有用的结构信息。
1.3.1 聚类假设
该假设认为,数据点自然形成若干聚类,且同一聚类内的样本应属于同一个类别。换言之,如果两个点在特征空间中距离很近,它们很可能具有相同的标签。未标签数据通过增强聚类结构的稳定性,帮助决策边界更精确地划分在类间空隙处。
1.3.2 流形假设
该假设认为,高维数据实际上分布在一个低维流形(Manifold)上。即数据的内在维度远低于其观测维度,且标签在流形上变化平滑。如果一个数据点可以通过流形上的短路径连接到另一个标签点,那么它们的标签应该相似。这解释了为什么在图像或文本等高维数据中,局部近邻的高相关性可以被用于标签传播。
1.3.3 低密度分离假设
该假设是流形假设的补充,认为分类决策边界应穿过数据分布的低密度区域。即两个类别之间的“间隙”应该尽可能宽,且数据稀少的区域是放置分界线的理想位置。半监督学习中,未标签数据可以帮助模型识别哪些区域数据密集、哪些区域稀疏,从而避免边界穿过密集区域导致分类混淆。
2 主要方法
2.1 自训练(Self-training)
自训练是最直观的半监督方法之一,其基本思想是让模型自己“教”自己。先利用少量标签数据训练一个初始模型,然后用这个模型对未标签数据进行预测,将置信度高的预测结果作为“伪标签”加入训练集,再重新训练模型。
2.1.1 伪标签生成
伪标签(Pseudo-labeling)是指模型对未标签数据给出的预测结果,且通常只选择那些预测概率高于某个阈值(如0.95)的样本。生成伪标签后,模型将其当作真实标签一起参与后续训练。这种方法简单易行,但存在“自我强化”风险:如果模型早期预测错误,错误会被不断放大。
2.1.2 迭代训练策略
迭代训练过程通常包括以下步骤: 1. 在小标签集上训练基模型。 2. 用模型预测所有未标签数据,提取高置信度伪标签。 3. 将伪标签加入训练集,重新训练模型。 4. 重复步骤2-3,直到收敛或达到预设轮次。 为避免过拟合,可采取逐步增加伪标签数量、或者使用不同的置信度阈值控制策略。
2.2 协同训练(Co-training)
协同训练假设数据可以被划分为多个“视图”,每个视图包含关于标签的独立信息。例如,网页分类任务中,既可以基于网页正文内容,也可以基于网页上的链接锚文本。协同训练通过两个(或多个)不同视图的学习器互相“辅导”来提升性能。
2.2.1 多视图假设
多视图假设要求每个视图在条件独立于标签的前提下,各自充分包含分类所需的信息。例如,对于一部电影,其海报图像和剧情简介是两个视图,它们都包含类型信息,但不同视图对噪声的鲁棒性可能不同。在条件独立假设下,一个视图的高置信度预测可以为另一个视图提供可靠的伪标签。
2.2.2 多学习器协作
协同训练的典型流程是: 1. 在每个视图上分别训练一个分类器。 2. 每个分类器从自己的未标签数据中选取高置信度样本,并为其打上预测标签。 3. 将这些伪标签交给其他视图的分类器作为新增的训练数据。 4. 重复上述过程,直到所有分类器收敛。 这种互相“喂数据”的策略,能有效利用不同视角的互补信息,但需要保证视图间确实满足条件独立假设。
2.3 生成式方法
生成式方法假设数据由某个概率分布生成,并试图通过建模联合概率分布 \( P(X, Y) \) 来利用未标签数据。这类方法通常使用混合模型,并通过EM算法等参数估计技术来同时拟合标签和未标签数据。
2.3.1 高斯混合模型(GMM)
GMM假设每个类别服从一个高斯分布,所有数据(包括未标签)是从K个高斯分布混合生成的。训练时,少量标签点可以固定某些分量的参数(如均值、协方差),而未标签点则通过无监督方式帮助估计混合系数和分量参数。最终,通过计算每个点属于每个分量的后验概率来预测标签。
2.3.2 期望最大化(EM)算法
EM算法是求解带隐变量模型(如GMM)的标准方法。其步骤为:
- E步:基于当前参数,计算每个未标签点属于各分量的后验概率(即“软标签”)。
- M步:利用所有数据(包括标签点的固定标签和未标签点的软标签)重新估计模型参数(均值、协方差、混合系数)。
反复迭代E步和M步直至收敛。EM算法能够有效融合标签信息和数据分布结构。
2.4 基于图的方法
基于图的方法将数据点视为图中的节点,并基于点之间的相似性(如欧氏距离、余弦相似度)构建边,边权重表示点之间的“亲疏”程度。然后通过标签在图上传播来完成分类。
2.4.1 标签传播(Label Propagation)
标签传播算法是一种迭代算法,其基本过程如下: 1. 构建相似度图,计算边权重(如使用径向基核函数)。 2. 给所有已标签节点分配真实标签,未标签节点初始化为零或随机值。 3. 迭代更新:每个节点吸收其邻居的标签信息,按边权重加权平均。 4. 重复直到收敛,然后根据最终的概率分布为未标签节点分配标签。 该算法简单高效,特别适合于数据点之间局部关系紧密的场景。
2.4.2 图拉普拉斯正则化
图拉普拉斯正则化是一种更平滑的图半监督方法。它在传统监督学习的目标函数中添加一个正则项,该正则项惩罚在图上相邻点之间预测标签的变化。数学上,该正则项通常表示为 \( \sum_{i,j} w_{ij} (f_i - f_j)^2 \),其中 \( f_i \) 是模型对节点 \( i \) 的预测,\( w_{ij} \) 是边权重。通过最小化该正则项,模型强制在图上传播标签时保持平滑性。
2.5 一致正则化方法
一致正则化(Consistency Regularization)的核心思想是:对输入数据施加微小的扰动(如随机噪声、数据增强),模型对扰动前后的输出应保持一致。这种约束天然适用于半监督学习,因为未标签数据的扰动版本应产生相同的预测。
2.5.1 一致性训练(Consistency Training)
一致性训练直接在损失函数中增加一个一致性损失项,例如: \[ \mathcal{L} = \mathcal{L}_{\text{supervised}} + \lambda \cdot \mathbb{E}_{x \in \mathcal{U}} [ \text{KL}(\hat{y}(x) \| \hat{y}(x + \epsilon)) ] \] 其中 \( \epsilon \) 是施加的随机噪声,\( \hat{y} \) 是模型输出概率分布。该损失项鼓励模型对噪声鲁棒,从而利用未标签数据提升泛化性能。
2.5.2 数据增强与对抗训练
数据增强是生成扰动的一种方式,例如在图像数据上使用翻转、旋转、裁剪等操作。对抗训练则进一步寻找最有利于破坏模型一致性的扰动方向(即“对抗样本”),要求模型在这一最坏情况下仍然保持输出一致性。典型方法如Virtual Adversarial Training(VAT),它计算使模型输出变化最大的扰动方向,然后强制模型在该方向上趋近原始输出。这类方法显著提升了半监督学习的鲁棒性。
3 常用模型与算法
3.1 半监督支持向量机(S3VM)
S3VM是SVM的半监督扩展。它的目标是找到一个分类超平面,使其不仅正确分离有标签点,还通过低密度区域穿过未标签点。S3VM的优化目标是最大化分类间隔的同时,最小化未标签点被分配到不同类别的惩罚。常用方法包括:
- 直推式SVM(TSVM):通过迭代分配未标签点的标签,并求解SVM问题。
- 基于标签切换的S3VM:使用剪枝或凸松弛求解。
S3VM对低密度分离假设特别敏感,但如果假设不成立(如类别重叠),性能可能急剧下降。
3.2 深度半监督学习
深度半监督学习借助深度神经网络强大的特征提取能力,将多种半监督策略整合到端到端训练中。它是当前半监督学习的主流方向。
3.2.1 伪标签与自训练结合
深度自训练:在深度神经网络上使用自训练框架。首先在小标签集上预训练网络,然后对未标签数据生成硬伪标签(如one-hot向量),并将伪标签以监督方式加入训练。关键挑战在于伪标签的噪声控制——深度网络容易过拟合错误伪标签,因此常采用高置信度阈值选择、逐渐增加伪标签数量、或者添加置信度加权等策略。
3.2.2 基于一致性的CNN模型
以下三个模型是深度半监督学习的里程碑方法,均在一致性正则化框架下设计。
3.2.2.1 π-Model
π-Model是最简单的一致性训练模型。每次迭代中,对每个输入(包括有标签和未标签)施加两次不同的随机增强(如随机噪声、dropout),得到两个输出。然后计算两个输出之间的一致性损失(如均方误差),再加上有标签数据的分类损失。该模型迫使模型对同一输入的不同扰动版本给出相似预测。
3.2.2.2 Temporal Ensembling
Temporal Ensembling在π-Model基础上做了改进。它不再使用单次预测的一致性,而是维护一个滑动平均的伪标签集成(ensemble)。具体来说,每次训练后,将当前epoch的预测结果以指数移动平均的方式更新到集成版本中(称为“目标”)。然后,对每个样本的一致性损失计算当前预测与集成目标的差异。该方法在提高稳定性、降低噪声方面优于π-Model。
3.2.2.3 Mean Teacher
Mean Teacher进一步改进了集成思路。它维护两个模型:一个“学生”模型(当前训练模型)和一个“教师”模型(学生模型的指数滑动平均)。一致性损失要求学生模型的输出与教师模型的输出一致,而教师模型不参与梯度更新。这样,教师模型为学生提供更稳定的预测目标,避免了Temporal Ensembling中需要对每个样本存储历史预测的内存开销。Mean Teacher在图像分类、语义分割等任务上表现优异。
3.3 半监督生成对抗网络(SGAN)
SGAN将GAN引入半监督学习框架。其基本架构包含一个生成器G和一个判别器D。判别器D被改造为K+1类分类器:K个真实类别加上一个“生成样本”类。训练时,D不仅要区分真实样本和生成样本,还要对真实样本预测其属于哪个类别。有标签样本提供直接的分类信号,未标签样本则通过D自动识别为真实类别中的某一类(既可以是监督学习中的类别,也可以是非真实类)。生成器G的目标是生成逼真的样本,以混淆D。这种博弈过程使得D学到高质量的特征表示,从而有效利用未标签数据。
4 应用领域
4.1 文本分类与情感分析
在文本领域,标签获取成本高(如手动标注情感标签、新闻主题),但未标签的文本数据丰富。半监督学习被广泛用于情感分类(如评论正面/负面)、新闻分类、垃圾邮件识别等。例如,使用“自训练+word2vec”构建大规模文本分类系统,或使用“标签传播+图卷积网络”在社交网络上的推文进行情感分析。
4.2 图像识别与目标检测
图像标注需要大量人工努力,这使得半监督学习成为计算机视觉的标准工具。经典的ImageNet分类任务中,半监督方法(如Mean Teacher、伪标签)可以将标签效率提升数倍。在目标检测领域,基于“弱监督+半监督”的方法利用少量精确标注的边界框和大量未标注图像,有效提升了检测性能。
4.3 语音识别与信号处理
语音识别中,标注音频-文本对需要专业听写员,成本极高。半监督方法利用大量无标注语音,通过自训练或一致性训练(如对音频添加噪声后保持声学特征一致)显著提升识别准确率。同样,在语音增强、说话人识别等领域,混合少量标注和大量未标注数据可降低模型对标注的依赖。
4.4 医疗诊断与生物信息学
医疗领域标签极为昂贵且稀缺(如病理图像的癌症标记、基因变异注释)。半监督学习在此大显身手:例如,利用少量标注的MRI图像和大量未标注图像训练肿瘤检测模型;在基因组学中,通过标签传播从少量已知功能基因推演未知基因的功能注释。这些应用极大降低了专家标注的时间和经济成本。
5 挑战与局限性
5.1 假设违背问题
半监督学习的效果严重依赖于核心假设的成立。如果数据分布违背聚类假设(如两个类别完全重叠)、或违背流形假设(如数据在高维空间中没有局部结构),则利用未标签数据不仅无益,反而可能损害性能。这种“负迁移”现象在半监督学习中尤为常见,需要研究人员验证假设在具体数据上的合理性。
5.2 标签噪声与分布偏移
真实场景中,少量标签并非完美:可能存在标注错误、或标签分布与未标签数据分布不同(即课程漂移)。例如,模型在旧数据上标注的伪标签可能不符合新数据的分布。标签噪声经自训练放大后,可能导致模型退化。分布偏移则使得聚类假设和流形假设失效,模型可能需要额外的域适应技术。
5.3 大规模未标记数据的计算成本
处理海量未标签数据会显著增加计算开销:在图方法中,构建全连接图的复杂度为O(n²);在深度学习中,每个epoch需同时处理大量无监督项。这要求GPU内存和训练时间成倍增加。一些方法(如分Batch训练、使用子图采样)虽能缓解,但在大数据场景下仍是一个现实瓶颈。
5.4 模型选择与超参数调优
半监督学习涉及大量超参数:自训练中的置信度阈值、一致性损失权重、图拉普拉斯正则化参数等。这些参数高度依赖数据集,且没有通用的调优规则。同时,由于缺少验证的完整标签集,选择合适的模型(如选择哪种一致性损失函数)和早停时机也变得困难。这导致半监督方法在实际工程部署中往往需要大量试错。
6 研究前沿与未来方向
6.1 主动学习与半监督学习的结合
主动学习旨在让模型主动选择最有价值的样本进行标注,与半监督学习的“利用廉价未标签数据”形成一个良好的互补。研究者正在探索如何协同这两种策略:例如,主动学习挑选高不确定性样本用于标注,而半监督学习则利用其余未标签数据。这种结合可以进一步降低总体标注成本并提升最终模型性能。
6.2 自监督预训练的融合
自监督预训练(如SimCLR、MAE)通过设计辅助任务(如对比学习、掩码重建)从无标签数据中学习通用特征表示。将这些特征作为半监督学习的初始化,可以显著提升小标签场景下的性能。当前,许多深度学习半监督方法(如SimCLR+伪标签)已取得接近全监督的效果。未来方向包括设计更紧密耦合的自监督预训练与半监督微调框架。
6.3 跨领域与多模态半监督学习
现实任务常涉及多个领域(如医疗图像来自不同医院设备)或多个模态(如文本+图像、语音+视频)。跨领域半监督学习致力于解决标签在不同领域之间迁移、且未标签数据跨领域分布的问题。多模态半监督学习则利用不同模态之间的一致性(如一个视频的音频和图像描述同一个事件)来相互提供伪标签。这些方向正逐步拓展半监督学习的应用边界。
6.4 可解释性与安全性
随着半监督学习在安全敏感领域(如自动驾驶、医疗诊断)的普及,对其决策可解释性和抵抗攻击风险的需求日益迫切。研究者正在探索如何让半监督模型的决策过程透明化,例如,通过可视化解码注意力权重来展示标签传播路径。同时,针对半监督学习中的对抗攻击(如在未标签数据中注入恶意样本干扰伪标签),设计鲁棒训练算法也是重要趋势。