算法动画 · 聚类
对比学习动画
展示对比学习如何通过拉近正样本对、推远负样本对来学习有用的特征表示。
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
三种代表性自监督对比学习方法在架构设计和训练策略上的对比。
| 对比项 | SimCLR | MoCo | BYOL |
|---|---|---|---|
| 对比方式 | 同一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 归一化,与三元组损失形式和机制不同。