文章目录

文章地址: https://arxiv.org/abs/2011.10566
代码地址: https://github.com/facebookresearch/simsiam
摘要
孪生网络已经成为最近各种无监督视觉表示学习模型中的常见结构。这些模型最大化了一幅图像的两个增强之间的相似性,在一定的条件下避免坍塌。在本文中,我们报告了令人惊讶的经验结果,即简单的孪生网络即使不使用以下任何一种也可以学习有意义的表示:(i)负样本对,(ii)大批量,(iii)动量编码器。我们的实验表明,对于损失和结构确实存在坍塌解,但停止梯度操作在防止坍塌方面起着至关重要的作用。我们提供了一个关于停止梯度含义的假设,并进一步展示了验证它的概念验证实验。我们的“SimSiam”方法在ImageNet和下游任务上实现了竞争性结果。我们希望这个简单的基线能够激励人们重新思考孪生网络架构在无监督表示学习中的角色。
相关背景
对比学习
无监督表示学习的一类方法是基于对比学习。对比学习的核心思想是吸引正样本对,排斥负样本对。
在实践中,对比学习方法得益于大量的负样本。这些样本可以保存在内存库中。在孪生网络中,MoCo维持一个负样本队列,并将一个分支变为动量编码器,以提高队列的一致性。SimCLR直接使用当前批中共存的负样本,并且需要较大的批大小才能正常工作
聚类
无监督表示学习的另一类方法是基于聚类。它们在聚类表示和学习预测聚类分配之间交替进行。
SwAV通过从一个视图计算分配并从另一个视图预测分配,将聚类集成到Siamese网络中,SwAV在平衡分区约束下对每个批进行在线聚类,该问题由Sinkhorn-Knopp变换解决。
动量编码器
BYOL直接从另一个视图预测一个视图的输出。它是一个连体网络,其中一个分支是动量编码器,假设动量编码器对于BYOL避免坍塌很重要,并且报告了移除动量编码器的失败结果,我们的实证研究挑战了动量编码器防止坍塌的必要性。
文章思路
SimSiam 在 MoCo 、 SimCLR 、 SwAV 以及 BYOL 的基础上提出了一个新的对比学习方法,解决了对比学习中模型坍塌、负样本难以构造的问题,且结构简单。同时探讨了不会出现模型坍塌的原因,结论为 stop gradient 的操作对于避免模型坍塌有很大作用。
SimSiam 可以看作,没有负样本的SimCLR、没有在线聚类的SwAV、没有动量编码器的BYOL。
SimSiam 的主要思路是:将一幅图像的两个增强视图由相同的编码器网络 f (主干加投影MLP)处理,然后在一侧应用预测MLP h,在另一侧应用 stop gradient 操作。该模型最大限度地提高了双方的相似性。它既不使用负对,也不使用动量编码器。
创新点
本文提出了一个简单的框架,在不需要负样本、不需要动量编码器、不需要大batch size 的情况下,实现了不会出现模型坍塌的对比学习;并探究了该方法不会出现模型坍塌的原因。
文章框架
该模型框架十分简单:两个视图由编码器网络 f 处理,该网络由骨干(例如ResNet)和投影MLP头部组成。编码器 f 在两个视图之间共享权重。
预测MLP头部,表示为h,转换一个视图的输出并将其与另一个视图进行匹配。