目前,对比学习已经不再局限于通过拉近正样本、推开负样本来学习表示的方法。
最新(2020后)的Group Contrastive Learning对比学习方法,对经典对比学习的局限进行了改进。
1 经典对比学习
经典对比学习看作是所有基于辨别正负对来学习表示的方法的统称。
它不仅限于图像,也广泛应用于自然语言处理、音频、图学习等领域。
1.1 样本&目标
从通过比较来学习为核心目标出发,定义的一类自监督学习方法。
一般情况下,会包括
锚点样本:一个数据点(如图像、句子)。
正样本:与锚点样本相似或相关的数据。在自监督学习中,通常通过对锚点样本进行数据增强(如裁剪、颜色抖动、旋转等)来生成。
负样本:与锚点样本不相似或不相关的数据。通常是批次中的其他随机样本。
这类对比学习的目标,是学习一个编码器,使得在表示空间,锚点与正样本的距离很近,而与负样本的距离很远。
1.2 代表方法
以下是一些经典对比学习方式的典型实现。
1)SimCLR
SimCLR是一个简洁而强大的对比学习框架,使用一个对称InfoNCE损失函数。它明确地定义了正样本对(同一图像的两个增强视图)和负样本对(与其他所有图像的增强视图)。

2)MoCo
MoCo引入了动量编码器和动态字典队列,需要维持一个巨大的负样本队列,提升对比学习质量。

3)CLIP
CLIP将对比学习应用于多模态,即图像-文本对。
正样本是匹配的图像和文本描述,负样本是批次中不匹配的图像和文本。
CLIP学习了一个跨模态的联合表示空间。

2 分组对比学习
近年来GCL是针对经典对比学习局限性提出的具体改进方法,是GCL更常见和具体的技术指代。
通过利用样本间的隐含结构,减少了对单一增强视图的过拟合,解决了语义相似样本被误作负样本的问题。
在图像分类、目标检测、语义分割等下游任务上,相比传统实例对比学习有稳定提升。
2.1 经典CL局限
在SimCLR、MoCo中,每个图像都是一个独立的类。
这带来一个问题,两个语义相似但不同的样本,如两只不同的狗,会被视为负样本而强行推开。
这可能会损害学到的表示质量,造成语义信息的损失。
2.2 实例级到分组级
GCL不再将每个样本视为独立类,而是将语义相似样本隐式/显式地分组,以组为单位进行对比。
其核心假设是在一个批次或记忆库中,存在多个样本属于同一语义类别。
GCL的目标是拉近整个正样本组的距离,同时推开不同组的距离。
这使得模型能够学习到更高级、更具语义的共性特征,而不仅仅是实例本身的判别特征。
2.3 GCL实现方式
GCL通常采用如下关键实现方式
1)构建软正样本/软分组
不依赖真实标签,而是通过模型本身的预测或特征相似度来动态发现潜在的相似样本。
常见做法是对于一个锚点样本,除了自身增强视图(最强正样本),还将特征空间最邻近的K个样本也视为软正样本或属于同一个软组。
2)定制损失函数
在训练时,通常需要修改InfoNCE。
具体为使其分母中的负样本不包含这些软正样本,或者为它们分配较小的权重。
或者设计一种组吸引损失,将组内样本聚拢。
2.4 代表方法
以下是一些分组对比学习方式的典型实现
1)PCL
Prototypical Contrastive Learning引入一组样本的特征中心作为对比单位。

参考链接如下
https://github.com/salesforce/PCL
2)NNCLR
NNCLR使用最近邻样本作为额外的正样本。

参考链接如下所示
https://keras.io/examples/vision/nnclr/
3)DINO
DINO网络通过无标签数据集上的对比学习,革新了视觉特征表示方法。

https://arxiv.org/pdf/2104.14294
reference
A Simple Framework for Contrastive Learning of Visual Representations
https://arxiv.org/pdf/2002.05709
simclr
https://github.com/google-research/simclr
MoCo
https://github.com/AlexZaikin94/MoCo-v2
Momentum Contrast for Unsupervised Visual Representation Learning
https://arxiv.org/pdf/1911.05722
CLIP
https://github.com/openai/CLIP
Generalized Contrastive Learning for Universal Multimodal Retrieval
https://arxiv.org/pdf/2509.25638
Prototypical Contrastive Learning of Unsupervised Representations
https://arxiv.org/abs/2005.04966
PCL
https://github.com/salesforce/PCL
Self-supervised contrastive learning with NNCLR
https://keras.io/examples/vision/nnclr/
Emerging Properties in Self-Supervised Vision Transformers
https://arxiv.org/pdf/2104.14294
GroupContrast: Semantic-aware Self-supervised Representation Learning
for 3D Understanding