CodeWalk

自监督学习中的SimCLRv2改进

作者:Yahuda · 2026-05-30 12:55

解释SimCLRv2相比SimCLRv1的主要改进:投影头加深、蒸馏微调和更大的ResNet。

回答

Yahuda

SimCLRv2 (Chen et al., 2020) 在v1基础上做了三方面改进:

1. 更深的投影头(Projector)

  • v1:1层MLP(2048→128) → v2:2-3层MLP(2048→2048→128)
  • 加深投影头显著提升下游任务微调效果(+5% top-1)
  • 投影头非线性层越多,对比空间越好

2. 蒸馏微调(Distillation Fine-tuning)

  • 三步流程: a. 无监督对比预训练(Unsupervised Pretrain) b. 少量标签监督精调(Supervised Fine-tune with 1%/10% labels) c. 知识蒸馏:用(b)的Teacher蒸馏更大的无标签数据集
  • 仅用1%标签通过蒸馏达到监督预训练91%的性能

3. 更大的ResNet

  • v1最大ResNet-50(4x) → v2扩展到ResNet-152(3x+)和Selective Kernels
  • 模型越大自监督与监督差距越小

关键发现

  • 投影头深度比宽度更重要
  • 蒸馏阶段使用无标签数据大幅缩小半监督与全监督差距
  • 大模型在自监督下受益更多(scale matters)

SimCLRv2推动了自监督学习在实际标注稀缺场景的实用化。