知了AI学习平台Logo知了
算法动画 · 聚类

对比学习动画

展示对比学习如何通过拉近正样本对、推远负样本对来学习有用的特征表示。

Contrastive Learning (SimCLR)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
未激活·当前高亮(3 个元素)
1

自监督对比学习无需标签,核心思想:同一图像的不同增强视图应具有相似的表示。

第 1 步 / 共 714%
对比实验室

对比学习方法对比:SimCLR vs MoCo vs BYOL

三种代表性自监督对比学习方法在架构设计和训练策略上的对比。

对比项SimCLRMoCoBYOL
对比方式同一batch正负样本队列存储负样本无需负样本⭐
负样本来源batch内其他样本动量更新队列不需要
是否需要负样本是(大量)是(队列)否⭐
对batch size敏感是(需大batch)否否⭐
额外模块投影头动量编码器+队列预测器+动量编码器
训练稳定性中等稳定需小心(可能坍塌)
计算资源需求高(大batch)中等中等
ImageNet线性评估约69.3%约71.1%约74.3%⭐
🧠AI 冷知识

你知道吗?

这些有趣的 AI 小知识可能让你大吃一惊

💡
概念

对比学习的核心是"拉近正样本、推远负样本",但负样本的数量是性能的关键瓶颈。InfoNCE 损失在数学上等价于一个 K+1 类的 softmax 分类——K 是负样本数。研究表明,负样本数从 256 增加到 65536,线性探测准确率可以提升 10 个百分点以上。这就是为什么 SimCLR 需要超大 batch size,而 MoCo 用队列绕开了这个限制。但负样本也不是越多越好——当负样本太多时,"假负样本"(语义其实是正样本但被当成负样本)的比例上升,反而损害学习效果。

来源:Oord et al., "Representation Learning with Contrastive Predictive Coding", 2018

一句话总结
💡

对比学习通过拉近正样本对、推远负样本对学习表示,核心是构造正负样本和设计损失(如 InfoNCE)。

常见误区

这些坑别踩

✗

误区 1

对比学习需要类别标签。

✓

正确理解

正负样本由数据增强构造,不依赖人工类别标签。

✗

误区 2

负样本越多越好。

✓

正确理解

过多难负样本会增加计算且可能损害表征,需控制数量和难度。

✗

误区 3

对比损失等价于三元组损失。

✓

正确理解

InfoNCE 等基于 softmax 归一化,与三元组损失形式和机制不同。