
摘要
无监督图像表征学习已显著缩小了与有监督预训练之间的差距,尤其得益于对比学习方法的最新进展。然而,现有的对比学习方法通常采用在线训练模式,并依赖大量显式的成对特征比较,这带来了较高的计算开销。本文提出一种新型在线算法——SwAV(Swapped Prediction for Contrastive Learning),该方法在不进行成对特征比较的前提下,仍能有效利用对比学习的优势。具体而言,我们的方法并非直接比较特征,而是同时对数据进行聚类,并强制同一图像经不同数据增强(或称“视图”)后所产生的聚类分配保持一致性。简而言之,我们引入了一种“交换预测”机制:利用一个视图的表示来预测另一个视图的聚类归属。该方法支持大批次和小批次训练,可扩展至无限规模的数据集。与以往的对比学习方法相比,本方法更具内存效率,因为它无需维护大型内存库(memory bank)或特殊的动量网络(momentum network)。此外,我们还提出了一种新的数据增强策略——多尺度裁剪(multi-crop),该策略通过混合使用不同分辨率的视图来替代传统的两个全分辨率视图,且几乎不增加内存或计算开销。实验结果表明,使用ResNet-50在ImageNet数据集上,本方法取得了75.3%的Top-1准确率,同时在所有评估的迁移任务中均超越了有监督预训练方法的性能。
代码仓库
PaddlePaddle/PASSL
paddle
lightly-ai/lightly
pytorch
GitHub 中提及
vinhdv1628/image_classification_task
pytorch
GitHub 中提及
Westlake-AI/openmixup
pytorch
GitHub 中提及
facebookresearch/clip-rocket
pytorch
GitHub 中提及
SaeedShurrab/SimSiam-pytorch
pytorch
GitHub 中提及
vturrisi/solo-learn
pytorch
GitHub 中提及
open-mmlab/mmdetection
pytorch
buyeah1109/finc
pytorch
GitHub 中提及
Mixture-of-Rookie/PASSL
paddle
ananyahjha93/swav
pytorch
GitHub 中提及
facebookresearch/vissl
pytorch
GitHub 中提及
sayakpaul/PAWS-TF
tf
GitHub 中提及
alibaba/EasyCV
pytorch
facebookresearch/swav
官方
pytorch
GitHub 中提及
TRAILab/ST-SLidR
pytorch
GitHub 中提及
hsfzxjy/swavx
pytorch
GitHub 中提及
ayulockin/SwAV-TF
tf
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-classification-on-inaturalist-2018 | ResNet-50 | Top-1 Accuracy: 48.6 |
| image-classification-on-omnibenchmark | SwAV | Average Top-1 Accuracy: 38.3 |
| image-classification-on-places205 | SwAV | Top 1 Accuracy: 56.7% |
| image-classification-on-places205 | ResNet-50 (Supervised) | Top 1 Accuracy: 53.2% |
| self-supervised-image-classification-on | SwAV (ResNet-50 x2) | Number of Params: 94M Top 1 Accuracy: 77.3% |
| self-supervised-image-classification-on | SwAV (ResNet-50) | Number of Params: 24M Top 1 Accuracy: 75.3% |
| self-supervised-image-classification-on | SwAV (ResNet-50 x5) | Number of Params: 586M Top 1 Accuracy: 78.5% |
| self-supervised-image-classification-on | DeepCluster-v2 (ResNet-50) | Number of Params: 24M Top 1 Accuracy: 75.2% |
| self-supervised-image-classification-on-1 | SwAV (ResNeXt-101-32x16d) | Number of Params: 193M Top 1 Accuracy: 82.0% |
| self-supervised-image-classification-on-1 | SwAV (Resnet-50) | Number of Params: 182M Top 1 Accuracy: 77.8% |
| semi-supervised-image-classification-on-1 | SwAV (ResNet-50) | Top 1 Accuracy: 53.9% Top 5 Accuracy: 78.5 |