SimCLR:数据增强定义了“相似”
跟踪两个视图经过共享编码器与投影头,并审查这种不变性是否合理。
A Simple Framework for Contrastive Learning of Visual Representations · Chen et al. · arXiv:2002.05709
Token Lab 原创学习解读 · 来源核对 2026-10-25 · 区分论文主张与合成教学例子。
01 · 论文提出了什么
SimCLR 研究增强组合、非线性投影头及大规模对比训练。论文通过包括线性评估在内的下游评价报告表示质量,而不是只把训练损失当作成功标准。
一手来源:论文摘要 ↗学习指南与本课目录
LEARNING CONTRACT理解 → 实现 → 研究
目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。
- 理解层:写明假设、形状/单位和一个反例。
- 实现层:复算数值例子并检查边界。
- 研究层:在匹配预算下比较一个替代方法。
02 · 核心机制
Text / 原始公式
x → augmentation₁ → f → h₁ → g → z₁ x → augmentation₂ → f → h₂ → g → z₂ Lᵢⱼ = −log[exp(sim(zᵢ,zⱼ)/τ) / Σₖ≠ᵢ exp(sim(zᵢ,zₖ)/τ)] N original examples → 2N views → 2N−2 negatives/anchor
正样本对规则告诉表示哪些变化应被忽略。两个裁剪可能保留物体身份,但在其他领域可能裁掉唯一有关信号。投影头将对比目标使用的表示与下游编码器特征分开;这种分离是否有用应被验证,不能假定适用于所有数据。
符号与直觉为教学解释,完整假设及实现细节请对照原论文方法。
机制图与逐步推导
| 符号 | 含义 |
|---|---|
| f, g | 共享编码器与投影头 |
| h, z | 编码表示与投影表示 |
| 2N−2 | 标准配对 batch 中每个 anchor 的负例数 |
- 每个源样本生成两个独立增强视图,用来源身份构造正例索引,不依赖偶然的 batch 邻接。
时有六个视图,每个 anchor 排除自身,有一个正例、四个负例。检查每个 anchor 恰有一个预期正例。- 分别评价编码器 h 与投影 z。对比目标可能在 z 中移除某些干扰信息,而 h 保留的信息可能仍对另一项下游任务有用。
写领域增强有效性表,至少包含一个看似合理却改变标签的变换。
改变一个变量,解释结果为什么变。
原创教学计算,并非论文 benchmark 复现。条形在面板内相对缩放,具体数值与单位以标注为准。
04 · 手算一个例子
原创计数算例:
05 · 设计实验
先为你的领域制作增强有效性表,再做实验。在相同计算预算下比较无投影头和非线性头。用冻结特征上的独立训练线性分类器,并匹配数据划分和调参预算,分别评价 h 与 z。加入保留标签的增强和故意破坏信息的增强,记录检索失败与逐类准确率。
写出一个假设,保存配置与原始结果,提出替代解释,只报告证据支持的结论。关联实验是本地起点,不是完整论文复现。
打开关联课程/实验 →06 · 局限与审稿式追问
分析提醒:batch size 同时改变负例数、梯度噪声,通常也影响优化器行为。一次改变三者不能隔离单一原因。即使文件名不同,重复或语义相关样本也可能成为假负例。
医学图像增强可以直接照搬自然图像配方吗?
不可以。先判断变换是否保留下游标签与有关信号。视觉上合理的变换也可能抹去任务所需证据。
07 · 阅读原文
框架、增强和投影头消融,再读线性评估协议。
年份采用首次 arXiv 投稿年份。未锁定版本的链接随修订变化,复现报告请记录准确版本。此处 DeepSeek-R1 明确固定为 v1。
继续学习本主题
CPC:通过辨认正确未来学习表示
把对比预测看作分类问题,并检查负样本采样隐含的假设。
van den Oord, Li & Vinyals · arXiv:1807.03748