自监督学习是无监督学习的一种,也被称作pretext task(预文本任务)。利用无标签数据通过设计辅助任务来挖掘数据自身的表征特征作为监督信号,从而提升模型的特征提取能力。
自监督学习的原理:
核心:如何自动为数据产生标记,并利用这些自动生成的标记来引导模型进行学习。通过设计一些自动生成标记的任务来实现的。这些任务可以是对数据进行旋转、遮挡、像素预测等。通过构建正样本(positive)和负样本(negative),然后度量正负样本的距离来实现学习,学会区分哪些样本是相似的。
通过生成伪标签(proxy labels),将无标注数据转化为可用于监督学习的形式。
通常包括两个阶段:预训练和微调。在预训练阶段,模型通过解决预定义的任务(如预测图像中的旋转角度)来学习有效的表示。在微调阶段,这些学到的表示被用作下游任务(如图像分类)的初始特征。
常见的自监督学习方法
- 对比学习(Contrastive Learning)
对比学习是自监督学习中最具代表性的一类方法。其核心思想是通过比较样本之间的相似性和差异性来学习表示。典型的方法包括SimCLR和MoCo。SimCLR通过数据增强生成不同视角的样本,并分别进行编码,最大化同一对象不同视角之间的相似性,同时最小化不同对象之间的相似性。MoCo则引入了动态字典机制,使用动量编码器维护一个较大的对比池。
- 生成对抗网络(Generative Ad