原文:Caron M, Misra I, Mairal J, et al. Unsupervised learning of visual features by contrasting cluster assignments[J]. Advances in Neural Information Processing Systems, 2020, 33: 9912-9924.
源码:https://github.com/facebookresearch/swav
无监督图像表示显著缩小了与有监督预训练的差距,尤其是对比学习方法的最新成就。这些对比学习方法通常是work online的,并依赖于大量显式成对特征的比较,这在计算上具有挑战性。
在本文中,我们提出了一种online算法SwAV,它利用了对比学习方法的优点,而不需要计算成对的比较。具体来说,SwAV在对数据进行聚类的同时,强化同一图像不同视图的聚类分配之间的一致性,而不是像对比学习那样直接比较特征。简单地说,我们使用“换位”预测机制,从一个视图的表示中预测另一个视图的code。我们的方法可以进行大批量和小批量训练,并且可以扩展到无限量的数据上。与之前的对比方法相比,我们的方法更加高效,因为它不需要大的内存或特殊的动量网络。此外,我们还提出了一种新的数据增强策略multi-crop,该策略混合使用多个分辨率的视图来代替两个全分辨率的视图,而不增加内存或计算需求。
SwAV使用ResNet-50在ImageNet上实现了75.3%的top-1准确率,并且在多个迁移任务上超过了有监督的预训练方法。
图1:传统对比学习(左)与SwAV(右)的比较。
传统对比学习对同一图像的不同视图特征直接进行比较。SwAV首先对视图特征和聚类中心向量进行匹配来获得codes,然后用一个视图去预测另一个视图的codes,实现“换位”预测。因此,SwAV不会直接比较图像的特征。聚类中心向量和卷积神经网络参数是通过反向传播学习到的。
图2:SwAV和其他模型在ImageNet上的线性分类结果。
表1:SwAV和其他模型在ImageNet上的半监督实验结果。这里使用1%和10%的标签对模型进行微调。
表2:SwAV在下游任务上的迁移学习结果。
表3:当批量大小为256时,SwAV、SimCLR、MoCov2在ImageNet上的线性分类结果。
图3:基于聚类的模型(SeLa-v2、DeepCluster-v2、SwAV)与传统对比学习方法的比较,以及multi-crop方法对模型性能的影响。
图4:先在uncurated数据集上对模型进行预训练,然后在ImageNet数据集上进行线性分类或微调的结果。
SwAV的伪代码。
图5:Multi-crop方法示意图。
表4:SwAV与SimCLR的计算成本比较。
图6:更长的训练时间对SwAV和SimCLR性能的影响。我们在64个V100 16GB GPU上对ResNet-50进行训练,批量大小为4096。
表5:更大的骨干网络架构对模型性能的影响。
表6:SwAV和其他模型在下游任务上的迁移学习结果。
表7:SwAV使用Mask R-CNN检测头在COCO数据集上的目标检测和实例分割结果(微调)。
表8:SwAV使用Faster R-CNN检测头在VOC数据集上的目标检测结果(微调)。
表9:SwAV使用DETR检测头在COCO数据集上的目标检测结果(微调)。
图7:对视图特征和聚类中心进行软匹配与硬匹配的比较。
表10:SwAV在ImageNet上的小样本学习结果。
表11:SwAV在ImageNet上的K近邻分类结果。
表12:聚类中心数量对SwAV性能的影响。
表13:关于聚类的消融研究。根据结果可知,学习到的聚类中心比固定的好,软匹配比硬匹配好。
表14:Sinkhorn算法中迭代次数对SwAV性能的影响。
欢迎关注“多模态人工智能”公众号^_^↑
为人类文明进步而努力奋斗^_^↑