自监督学习 (SSL) 和无监督学习都使用未标记的数据,但它们提取有用模式的方式不同。无监督学习旨在发现数据中的内在结构,无需任何预定义的指导,例如对相似数据点进行分组或降低维度。相比之下,自监督学习通过定义一个需要模型学习有意义表示的预训练任务,从数据本身创建人工“标签”。例如,模型可以使用周围的上下文来预测输入的缺失部分(例如句子中的屏蔽词)。这无需手动标记即可创建类似监督的训练信号,从而使 SSL 能够学习对下游任务有用的特征。
一个关键的区别在于是否存在明确的学习目标。诸如聚类(例如,K-means)或降维(例如,PCA)之类的无监督方法缺乏特定的目标;它们根据内在的相似性来组织数据。但是,SSL 定义了一个要解决的具体任务。例如,在计算机视觉中,模型可能会旋转图像并预测旋转角度,或者在 NLP 中,预测句子中缺失的单词(如在 BERT 中)。这些任务迫使模型学习数据中的关系,这些关系可以很好地推广到其他问题,例如分类。虽然无监督学习侧重于广泛的结构发现,但 SSL 更具针对性,使用合成标签来指导特征学习。
实际意义非常重大。无监督方法通常用于探索性分析,例如识别营销数据中的客户群。但是,SSL 通常是迁移学习的预训练步骤。例如,在 SSL 任务(例如,预测图像补丁)上预训练的视觉模型以后可以使用少量标记数据集针对特定任务(例如,对象检测)进行微调。当标记数据稀缺但未标记数据丰富时,这使得 SSL 特别有价值。虽然这两种方法都避免了手动标记,但与纯粹的无监督输出相比,SSL 的结构化预训练任务通常产生对于现实世界应用程序更有用的表示。