SwAV:Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

       无监督对比方法通常在线工作,并且依赖于大量显式的成对特征比较,这在计算上具有挑战性。

       在本文中,我们提出了一种在线算法 SwAV,它利用对比方法而无需计算成对比较。SwAV在对数据进行聚类的同时强制为同一图像的不同增强(或“视图”)生成的聚类分配之间保持一致性,而不是像对比学习中那样直接比较特征。使用“交换”预测机制,从另一个视图的表示中预测一个视图的代码。可以用大批量和小批量进行训练,并且可以扩展到无限量的数据。与以前的对比方法相比,SwAV内存效率更高,因为它不需要大型内存库或特殊的动量网络。此外,我们还提出了一种新的数据增强策略 multi-crop,它使用具有不同分辨率的视图混合来代替两个全分辨率视图,而不会增加内存或计算需求。

       最近使用实例辨别的自我监督方法依赖于两个元素的组合:(i)对比损失 [23] 和(ii)一组图像转换。

       近似损失的两种方法:1.通过减少训练期间与随机图像子集的比较次数来近似损失

                               2.近似任务——即放松实例辨别问题。例如,基于聚类的方法区分具有相似特征的图像组而不是单个图像[7]。聚类的目标是易于处理的,但它不能很好地适应数据集,因为需要遍历。

       我们通过在同一图像的多个视图之间交换分配 (SwAV) 来学习特征。特征和代码是在线学习的,允许我们的方法扩展到潜在的无限数据量。此外,SwAV适用于小批量和大批量,不需要大型记忆库 [58] 或动量编码器 [24]。

       在这项工作中,我们提出了 multi-crop:使用较小尺寸的图像来增加视图数量而不增加训练期间的内存或计算要求。我们还观察到 将场景的一小部分映射到更全局的视图 可以显著提高性能。直接处理缩小尺寸的图像会在特征[53]中引入偏差,这可以通过 混合使用不同尺寸 来避免。

       这是第一种无需微调特征的方法,即仅在冻结特征之上使用线性分类器。

       实例级分类将数据集中的每个图像视为其自己的类别 [5, 16, 58]。

       ·MoCo:通过存储来自 动量编码器 而不是经过训练的网络的表示来改进对比方法的训练。

       ·SimCLR:表明如果 批次足够大,可以 用 同一批次中的元素 完全 替换内存库。

       与这一系列工作相比,SwAV 通过 将图像特征 映射到一组可训练的原型向量来 避免比较每对图像

       ·DeepCluster:表明 k-means 分配可以用作伪标签来学习视觉表示。该方法可扩展到大型未经管理的数据集,并可用于监督网络的预训练 [8]。

       与这两个聚类方法相比,SwAV 获得的是 在线分配,这使得我们的方法可以优雅地扩展到任何数据集大小。

       相比之下,我们的multi-crop策略包括简单地对具有两种不同尺寸的多个随机crops进行抽样:标准尺寸和较小尺寸。

       典型的基于聚类的方法 [2, 7] 是离线的,因为它们在 整个数据集的图像特征被聚类的 聚类分配步骤 和预测不同图片视图的聚类分配(即codes)的 训练步骤 之间交替。这些方法不适合在线学习,因为它们需要多次遍历数据集来计算聚类所需的图像特征。在本节中,我们描述了一种替代方案,强制来自同一图像的不同增强的代码之间的一致性

       我们的方法可以解释为通过比较它们的集群分配而不是它们的特征来在多个图像视图之间进行对比的一种方式。更准确地说,我们从 图像的增强版本 计算代码,并从同一图像的其他增强版本预测该代码。

       直观地说,我们的方法使用中间编码 qt 和 qs 来比较特征 zt 和 zs。如果这两个特征捕获相同的信息,则应该可以从另一个特征预测代码。

       图1:在应用于实例分类的对比学习方法中,来自相同图像的不同变换的特征直接相互比较。在 SwAV中,我们首先通过将特征分配给原型向量来获得“代码”。然后,我们解决了一个“交换”预测问题,其中从一个数据增强视图获得的代码是使用另一个视图预测的。因此,SwAV不直接比较图像特征。原型向量通过反向传播与 ConvNet 参数一起学习。

       然而,在我们只使用小批量的在线设置中,使用离散代码的性能比使用连续代码差,因为获得离散代码所需的rounding是比梯度更新 更积极的 more agressive 优化步骤。虽然它使模型快速收敛,但它会导致更糟糕的结果。

       小批量工作:在实践中,我们存储了大约 3K 个特征,即与代码向量的数量在同一范围内。这意味着我们只保留最后 15 个批次的特征,批次大小为 256,而对比方法通常需要存储从最后 250 个批次中获得的最后 65K 实例 [24]。

       multi-crop:使用较小的图像增强视图。比较图像的随机裁剪 通过捕获 场景或目标部分之间的关​​系 方面的信息起着核心作用。而且,增加crops 或“视图” 的数量会二次增加内存和计算需求。我们提出了一种multi-crop 策略,使用两个标准分辨率crops 并采样 V 个 额外的 仅覆盖图像的一小部分的 低分辨率裁剪。使用低分辨率图像可确保计算成本仅略有增加。仅使用全分辨率的crops计算codes,计算所有的crops会增加计算时间。

       ·下游任务的迁移学习:在线性分类任务上,SwAV 是第一个在这些数据集上 超越 ImageNet 监督 特征的自监督方法。

                               在目标检测任务上,与之前的工作一致,这些工作表明 自我监督在目标检测方面的表现优于监督预训练

       在表 3 中,我们看到即使在小批量设置中进行训练,SwAV也保持了最先进的性能。

       小批量、少量存储特征和无动量编码器

       

       这些改进包括使用更强的数据增强 [10]、MLP 投影头 [10]、余弦学习率计划 [44]、温度参数 [58]、记忆库 [58]、多聚类 [2] 等。

       DeepCluster 的一个主要问题是两个连续的集群分配之间没有对应关系,为分配学习的最终分类层与下一个分类层无关,因此需要在每个时期从头开始重新初始化。这极大地扰乱了卷积网络的训练。在 DeepCluster-v2 中,我们不是学习预测集群分配的分类层,而是在特征和质心之间进行显式比较。与 SwAV不同,DeepCluster-v2 不在线,这使得它对于超大型数据集不切实际。DeepCluster-v2 可以解释为我们提出的交换机制的一个特例:交换是跨 epoch 完成的,而不是在一个批次内完成的。给定图像的裁剪,DeepCluster-v2 预测另一个裁剪在前一个时期获得的分配。 SwAV直接在批次级别交换分配,因此可以在线工作。

       这表明基于聚类的方法在实例分类方面的学习潜力。

       multi-crop 策略 始终以 2-4% 的 top-1 准确率显着提高所有考虑方法的性能。与对比方法相比,multi-crop似乎更有利于基于聚类的方法。我们注意到multi-crop并没有改善监督模型。

       我们的改进不依赖于数据分布;对于所有模型,SwAV 比从头开始的训练要好很多,这表明它 可以利用增加的模型容量

你可能感兴趣的:(论文阅读笔记,计算机视觉,论文阅读,人工智能,深度学习)