对比学习和自监督学习 (SSL) 是互补的技术,能够使模型从无标签数据中学习有意义的表示。对比学习是一种特定的训练策略,它教导模型区分相似和不相似的数据点,而 SSL 是一种更广泛的范例,它直接从数据本身创建监督信号。 它们共同构成了一个强大的框架,可以在不依赖手动标签的情况下训练模型。
在实践中,SSL 定义了生成这些信号的任务,通常通过数据转换或结构假设。 例如,在计算机视觉中,一种常见的 SSL 方法是将随机裁剪、旋转或颜色失真应用于图像,并训练模型以识别这些更改后的版本来自同一来源。 然后,对比学习通过比较成对的数据点来操作这一点:相似的对(同一图像的增强视图)在模型的表示空间中被拉得更近,而不相似的对(不同的图像)则被推开。 这通常使用对比损失函数(如 NT-Xent)来实现,该函数使用余弦距离来衡量相似性,并应用温度缩放参数来控制区分的清晰度。 通过将 SSL 的任务设计与对比学习的优化机制相结合,模型学习捕获对下游任务(如分类或对象检测)有用的高级特征。
一个具体的例子是 SimCLR,它是计算机视觉中广泛使用的框架。 它使用 SSL 通过对同一图像应用两次随机增强来生成正样本对,并将批处理中的所有其他图像视为负样本。 然后,该模型使用对比损失来最大化正样本对之间的一致性,同时最小化与负样本的相似性。 同样,在 NLP 中,像 SimCSE 这样的模型利用 dropout 噪声——将不同的 dropout 掩码应用于同一句子——来为对比学习创建正样本对。 这些例子突出了 SSL 如何定义创建有意义的数据关系的“规则”,而对比学习提供了在训练期间强制执行这些关系的机制。 结果是一个即使在标记数据稀缺时也能很好地泛化的模型。