自监督学习

自监督学习（self-supervised learning，缩写：SSL）是机器学习中的一种学习范式，指模型在没有人工标注标签的情况下，从输入数据本身构造监督信号，并通过这种自动生成的任务学习可迁移的表示。自监督学习通常被视为无监督学习的一类，但训练过程又具有监督学习的形式。及模型会根据数据内部结构生成目标标签，例如预测被遮蔽的词、还原被遮挡的图像块、判断两个增强视图是否来自同一图像，或预测音频片段中被遮蔽的潜在表示。

自监督学习的目标通常不是直接完成预训练时设置的任务，而是借助这些任务学习通用特征，再迁移到图像分类、目标检测、语音识别、机器翻译、问答、推荐系统、医学影像分析和图表示学习等下游任务。随着大规模预训练模型、Transformer、大语言模型和视觉基础模型的发展，自监督学习成为深度学习中利用大规模未标注数据的重要方法之一。

## 概念

自监督学习的典型流程包括两个阶段。第一阶段是预训练，模型在没有人工标签的数据上完成“预设任务”（pretext task），并在这一过程中学习数据的结构特征。第二阶段是迁移或微调，预训练得到的模型或表示被用于“下游任务”（downstream task），下游任务可以使用少量标注数据，也可以通过线性分类器、提示词或其他方式评估表示质量。

自监督学习和监督学习的区别在于监督信号来源不同。监督学习依赖人工标注或外部标签，而自监督学习的标签由数据自身导出。例如，在文本中遮蔽一个词后要求模型预测原词，在图像中遮住若干图块后要求模型重建缺失部分，或把同一张图像的两个随机增强版本视为正样本对。自监督学习和半监督学习也不同，半监督学习通常同时使用标注数据和未标注数据；自监督学习的预训练阶段可以完全不依赖人工标注，但在下游任务中仍可与监督微调结合。

## 方法

自监督学习方法常按训练目标分为生成式、对比式以及二者结合的方法。生成式方法要求模型根据部分输入生成或重建目标内容，常见形式包括自动编码器、去噪自动编码器、语言模型和遮蔽建模。BERT使用遮蔽语言模型和下一句预测进行预训练，其中遮蔽语言模型要求模型根据左右文预测被遮蔽的词元。Google Research在开源BERT时将其描述为一种自然语言处理预训练技术，可在大型文本语料上训练通用语言理解模型，再迁移到问答等下游任务。

在计算机视觉中，生成式方法还包括遮蔽图像建模。遮蔽自动编码器（Masked Autoencoders，MAE）随机遮蔽输入图像的大量图块，只把可见图块送入编码器，再通过解码器重建缺失像素。该方法把自然语言处理中遮蔽建模的思想迁移到视觉领域，并显示出随模型和数据规模扩大而提升的能力。

对比式方法通过拉近相关样本表示、拉远不相关样本表示来学习特征。常见做法是对同一数据样本生成两个或多个增强视图，把同源视图作为正样本，把其他样本或视图作为负样本。对比预测编码（Contrastive Predictive Coding，CPC）通过在潜在空间中预测未来表示来学习跨模态特征。SimCLR通过组合数据增强、投影头、对比损失、大批量训练和更长训练时间，显著提升了视觉自监督表示学习效果。MoCo则把对比学习视为字典查询问题，通过队列和动量编码器维持大而一致的负样本字典。

部分方法不依赖显式负样本，而通过聚类、自蒸馏、冗余约束或停止梯度等机制避免所有样本坍缩到同一表示。这类方法试图保留对比学习的表示能力，同时减少大批量负样本或复杂记忆库带来的成本。图数据中的自监督学习还会利用节点属性、边结构、子图、随机游走或图增强构造预设任务，可分为对比式、生成式和预测式等路线。

## 发展

自监督学习与早期的无监督表示学习、自动编码器、语言模型和迁移学习有共同渊源。2010年代中期以后，深度学习研究者在计算机视觉中设计了多种无需人工标注的预设任务。空间上下文预测方法从未标注图像中抽取图像块，要求卷积神经网络预测一个图块相对于另一个图块的位置，从而迫使模型学习物体及其部件关系。拼图任务把图像切分并打乱，要求模型恢复图块顺序，从而学习物体局部和空间结构。旋转预测任务则通过判断图像被旋转的角度来学习视觉特征。

在自然语言处理领域，自监督学习随大规模预训练语言模型而广泛应用。BERT通过遮蔽词预测等任务学习双向文本表示，GPT系列则主要通过给定前文预测下一个词元来训练自回归语言模型。GPT-3论文把大规模语言模型的训练和推理能力联系起来，显示预训练模型可在无梯度更新的条件下，通过提示和少量示例完成多类任务。这类语言模型的预训练目标通常不需要人工标注，但其下游使用方式可以是零样本、少样本、监督微调或强化学习微调。

2020年前后，对比学习成为视觉自监督学习的重要方向。SimCLR和MoCo等方法缩小了自监督预训练与监督预训练在多个视觉任务上的差距。2021年，Meta AI发布SEER，称其为十亿参数规模的自监督计算机视觉模型，可从互联网上随机图像集合中学习，而不需要传统计算机视觉训练中大量人工清洗和标注。《Wired》同年报道，SEER使用超过十亿张Instagram图像进行训练，并以较少标签完成图像识别任务，反映出自监督视觉学习在大规模未标注数据上的应用潜力。

## 应用

在自然语言处理中，自监督学习是大规模语言模型和文本编码器的基础训练方式之一。遮蔽语言模型、下一词预测、句子关系预测和去噪自编码等任务使模型能够从大规模文本中学习语法、语义和上下文表示，再迁移到问答、文本分类、信息检索、机器翻译、摘要和对话系统等任务。

在计算机视觉中，自监督学习用于图像分类、目标检测、语义分割、视频理解和多模态表示学习。视觉自监督预训练可减少对人工标注的依赖，尤其适用于长尾类别、稀有缺陷、医学影像和遥感图像等标注成本较高的场景。视觉模型常通过遮蔽图像建模、对比学习、聚类、自蒸馏或预测时空关系学习特征，再在有标注任务上微调。

在语音处理领域，自监督学习可以直接利用未转写音频。wav2vec 2.0在潜在空间中遮蔽语音表示，并通过对比任务预测被遮蔽片段，使模型在较少转写数据下完成语音识别。HuBERT则使用聚类得到的隐藏单元作为预测目标，并只在遮蔽区域计算预测损失，从而学习声学和语言层面的表示。

图神经网络、推荐系统、生物信息学和异常检测也使用自监督学习。图自监督学习可以通过节点属性预测、边预测、子图对比、图结构重建和图增强一致性学习节点、边或整图表示。

## 评估

自监督学习模型常用线性评估、微调评估、迁移评估和少标签评估来衡量表示质量。线性评估通常固定预训练模型参数，只在其输出特征上训练一个线性分类器，用于测试表示本身是否具有可分性。微调评估则把预训练模型作为初始化，在下游标注数据上更新全部或部分参数。迁移评估关注模型在不同数据集、不同任务或不同领域中的泛化能力。

在视觉领域，ImageNet线性分类、PASCAL VOC目标检测、COCO检测与分割等任务常被用于比较自监督方法。SimCLR报告的线性评估结果显示，自监督表示在ImageNet上可接近监督式ResNet-50；MoCo还强调预训练表示向检测和分割任务迁移时的表现。在语音领域，语音识别的词错误率、低资源标注条件下的性能和跨语料迁移能力常被用作评估指标。

## 局限

自监督学习降低了人工标注需求，但并不等同于完全无成本学习。大规模预训练通常需要大量数据、算力和工程资源；预设任务、数据增强、批量大小、优化器、温度系数、遮蔽比例和模型结构等设计选择都会显著影响结果。对比学习还可能受到假负样本、表示坍缩和数据增强偏差影响；生成式方法可能过度关注低层像素或局部重建，而未必学习到最适合下游任务的语义特征。

数据质量也是重要限制。自监督学习虽然不需要人工标签，但会继承训练数据的偏差、噪声、重复样本、版权风险和隐私问题。大规模网络文本、图像或音频数据中的社会偏见和错误信息可能进入模型表示，并在下游任务中表现出来。模型在预训练数据和下游数据差异较大时还可能出现领域迁移不足，因此仍需要谨慎的数据治理、评估和校准。

## 与相关学习范式的关系

自监督学习与无监督学习关系密切，二者都可不依赖人工标签；区别在于自监督学习通常显式构造一个可优化的监督式预设任务。自监督学习也不同于自训练（self-training）：自训练通常先由已有模型给未标注数据生成伪标签，再把伪标签用于训练；自监督学习的目标标签则通常直接从输入数据结构中产生。

自监督学习还与迁移学习和基础模型密切相关。迁移学习强调把一个任务或数据集上学到的知识转移到另一个任务；自监督学习则提供了一种不依赖人工标注的大规模预训练方式。实际应用中，二者常结合使用：模型先通过自监督目标在大规模未标注数据上预训练，再迁移到具体任务中进行监督微调、少样本学习或零样本提示。