本次查询:Contrastive Learning
中文解释:对比学习
常见场景:主要用于无标签数据的预训练 / 常见于计算机视觉(如图像分类 / 目标检测) / 自然语言处理(如句子嵌入)和推荐系统的item嵌入学习。
一句话解释
对比学习是一种自监督学习方法,核心思想是让模型学会把相似的数据拉近,把不相似的数据推远,从而在没有标签的情况下提取高层次的语义特征。
为什么会被关注
传统深度学习依赖大量人工标注数据,成本高且难以扩展到新场景。对比学习利用数据本身的变换(如裁剪、旋转、加噪声)自动构造正负样本,在ImageNet等基准上取得了接近甚至超过有监督学习的效果。
它还推动了多模态理解(如CLIP)、少样本学习和迁移学习的发展,降低了AI应用的落地门槛,因此成为近年顶会论文的热点方向。
核心逻辑
对比学习的基本流程是:对每个输入样本,生成两个不同的增强版本作为正样本对,并从全局批次或存储队列中抽取其他样本作为负样本。模型通过一个对比损失函数(如NT-Xent损失)使正样本对的表征尽可能接近,负样本对的表征相互远离。
关键设计包括数据增强策略(决定什么变换不改变语义)、负样本的数量和质量(影响区分难度),以及避免模型坍塌的机制(如预测头、动量编码器)。代表性方法有SimCLR、MoCo和BYOL。
常见场景
在计算机视觉中,对比学习常用于预训练ResNet、ViT等骨干网络,后续再用少量标签微调,显著降低标注成本。例如医学影像分析中,利用对比学习从大量未标注CT图像学习通用解剖结构特征。
自然语言处理领域,对比学习被用于学习句子级的语义嵌入,通过同义句和无关句的对比提升检索和问答性能。推荐系统中,它可用于学习用户和物品的ID嵌入,通过用户点击序列构造正负样本。
容易混淆的点
对比学习不等于全部自监督学习。自监督学习还包括生成式(如掩码重建、图像补全)和预测式(如旋转预测)等方法,而对比学习仅依赖于样本之间的判别关系,并非生成内容。
对比学习与三元组损失(Triplet Loss)原理相似,但三元组损失通常在度量学习中使用固定锚点+一个正例+一个负例,而对比学习采用更灵活的批内负采样策略,并通常结合数据增强生成正例。
