Siamese网络最大化了一个图像的两个增强之间的相似性,服从于避免崩溃解的某些条件。在本文中,SimSiam即使
不使用以下任何一项也可以学习有意义的表示:(i)负样本对,(ii)大批量,(iii)动量编码器。我们的实验表明,停止梯度stop-gradient 运算在防止崩塌中起着重要作用。
Siamese 网络是应用于两个或多个输入的
权重共享 神经网络。它们是
比较(包括但不限于“对比”)实体的自然工具。最近的方法将输入定义为一幅图像的两个增强,并根据不同的条件
最大化相似性。我们的模型直接最大化了一张图像的两个增强视图的相似性,
既不使用负对,也不使用动量编码器。 它适用于典型的批量大小,不依赖于大批量训练。停止梯度操作(图 1)对于防止崩溃解决方案至关重要。我们假设隐含着两组变量,而 SimSiam 的行为就像在优化每组变量之间交替进行。权重共享的Siamese网络可以对关于更复杂的转换(例如,增强)的
不变性
进行建模。
在实践中,
对比学习方法受益于大量的负样本[34,33,17,8]。这些样本可以保存在记忆库memory bank中[34]。在 Siamese 网络中,
·
MoCo
[17] 维护一个
负样本队列
,并将一个分支变成动量编码器,以提高队列的一致性。
·在
SimCLR
[8]中实例化的,排斥不同的图像(负对),同时吸引同一图像的两个视图(正对)。
负对
排除了来自解空间的恒定输出。SimCLR 直接使用当前批次中共存的负样本,并且
需要较大的批次大小才能正常工作
。
·除了对比学习和聚类之外,
BYOL [15] 仅依赖于正对,但在使用
动量编码器的情况下它不会崩溃。BYOL直接从另一个视图预测一个视图的输出。它是一个Siamese网络,其中一个分支是动量编码器。
我们发现停止梯度操作至关重要。虽然移动平均行为可以通过适当的动量系数提高准确性,但
我们的实验表明它与防止塌陷没有直接关系。
MoCo和 BYOL 不直接共享两个分支之间的权重,我们将这些模型视为具有
“间接”权重共享的连体网络。
SimSiam、SimCLR [8] 和 SwA V [7]都是
直接共享权重的Siamese网络,但 SimCLR 和 SwAV都需要大批量(例如 4096)才能正常工作。
对比学习[16]的核心思想是吸引正样本对并排斥负样本对。
·无监督表示学习的另一类方法是
基于聚类[5,6,1,7]。他们在对表示进行聚类和学习预测聚类分配之间交替进行。
SwAV [7] 通过从一个视图计算分配并从另一个视图预测它,将聚类合并到一个Siamese网络中。与对比学习一样,基于聚类的方法需要内存库 [5, 6, 1]、大批量 [7] 或队列 [7] 来为聚类提供足够的样本。
当批次太大时(即使在监督学习中),标准 SGD 优化器效果不佳。我们期望一个专门的优化器(例如,LARS [36])在这种情况下会有所帮助。但是,我们的结果表明,
不需要专门的优化器来防止崩溃。
总之,我们观察到 BN 在适当使用时有助于优化,这类似于 BN 在其他监督学习场景中的行为。但是我们没有
看到任何证据表明 BN 有助于防止崩溃。
这表明崩溃预防行为不仅仅与余弦相似度有关,也不依赖于对称。对称化有助于提高准确性,但与防止塌陷无关。
在所有情况下,SimSiam都比 SimCLR 有更好的结果。
表5中的这些方法的共同结构是Siamese网络。这种比较表明,Siamese结构是他们普遍成功的核心因素。
与其他无监督方法的关系:
1.SimCLR 依靠负样本(“差异性”)来防止崩溃。 SimSiam 可以被认为是“没有负样本的 SimCLR”。
2.SimSiam 在概念上类似于“没有在线集群online clustering的SwAV”。
3.SimSiam 可以被认为是“没有动量编码器的 BYOL”,但存在许多实现差异。
最近方法的Siamese形状可能是其有效性的核心原因。Siamese网络是用于建模不变性的自然而有效的工具,这是表示学习的重点。我们希望我们的研究能够引起对Siamese网络在表征学习中的基本作用的关注。