在本文中,通过在MoCo框架中实现SimCLR的两个设计改进来验证其有效性。通过对MoCo的简单修改——即 使用MLP投影头和更多的数据增强——我们建立了比SimCLR性能更好的更强的基线,并且不需要大规模的批量训练。
引言:
我们报告了SimCLR中使用的两个设计改进,即 MLP投影头 和 更强的数据增强,与MoCo和SimCLR框架正交,当与MoCo一起使用时,它们会带来更好的图像分类和目标检测迁移学习结果。此外,MoCo框架可以处理大量的负样本,而不需要大量的训练批次(图1)。与SimCLR的大量4k ~ 8k批次(需要TPU支持)相比,我们的“MoCo v2”基线可以在典型的8-GPU机器上运行,并获得比SimCLR更好的结果。
背景:
在端到端机制中(图1a)[13, 8, 17, 1, 9, 2],负key来自同一批,通过反向传播端到端更新。SimCLR[2]基于这种机制,需要大量批处理来提供大量负样本集。在MoCo机制(图1b)[6]中,负key保持在一个队列中,在每个训练批中只编码 查询 和 正键。采用动量编码器来提高当前key与早期key表示的一致性。MoCo将批大小与负样本的数量解耦。