HyperAIHyperAI

Command Palette

Search for a command to run...

3 months ago

Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

Mathilde Caron Ishan Misra Julien Mairal Priya Goyal Piotr Bojanowski Armand Joulin

Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

Abstract

Unsupervised image representations have significantly reduced the gap with supervised pretraining, notably with the recent achievements of contrastive learning methods. These contrastive methods typically work online and rely on a large number of explicit pairwise feature comparisons, which is computationally challenging. In this paper, we propose an online algorithm, SwAV, that takes advantage of contrastive methods without requiring to compute pairwise comparisons. Specifically, our method simultaneously clusters the data while enforcing consistency between cluster assignments produced for different augmentations (or views) of the same image, instead of comparing features directly as in contrastive learning. Simply put, we use a swapped prediction mechanism where we predict the cluster assignment of a view from the representation of another view. Our method can be trained with large and small batches and can scale to unlimited amounts of data. Compared to previous contrastive methods, our method is more memory efficient since it does not require a large memory bank or a special momentum network. In addition, we also propose a new data augmentation strategy, multi-crop, that uses a mix of views with different resolutions in place of two full-resolution views, without increasing the memory or compute requirements much. We validate our findings by achieving 75.3% top-1 accuracy on ImageNet with ResNet-50, as well as surpassing supervised pretraining on all the considered transfer tasks.

Code Repositories

lightly-ai/lightly
pytorch
Mentioned in GitHub
vinhdv1628/image_classification_task
pytorch
Mentioned in GitHub
Westlake-AI/openmixup
pytorch
Mentioned in GitHub
facebookresearch/clip-rocket
pytorch
Mentioned in GitHub
SaeedShurrab/SimSiam-pytorch
pytorch
Mentioned in GitHub
vturrisi/solo-learn
pytorch
Mentioned in GitHub
buyeah1109/finc
pytorch
Mentioned in GitHub
ananyahjha93/swav
pytorch
Mentioned in GitHub
facebookresearch/vissl
pytorch
Mentioned in GitHub
sayakpaul/PAWS-TF
tf
Mentioned in GitHub
facebookresearch/swav
Official
pytorch
Mentioned in GitHub
TRAILab/ST-SLidR
pytorch
Mentioned in GitHub
hsfzxjy/swavx
pytorch
Mentioned in GitHub
ayulockin/SwAV-TF
tf
Mentioned in GitHub

Benchmarks

BenchmarkMethodologyMetrics
image-classification-on-inaturalist-2018ResNet-50
Top-1 Accuracy: 48.6
image-classification-on-omnibenchmarkSwAV
Average Top-1 Accuracy: 38.3
image-classification-on-places205SwAV
Top 1 Accuracy: 56.7%
image-classification-on-places205ResNet-50 (Supervised)
Top 1 Accuracy: 53.2%
self-supervised-image-classification-onSwAV (ResNet-50 x2)
Number of Params: 94M
Top 1 Accuracy: 77.3%
self-supervised-image-classification-onSwAV (ResNet-50)
Number of Params: 24M
Top 1 Accuracy: 75.3%
self-supervised-image-classification-onSwAV (ResNet-50 x5)
Number of Params: 586M
Top 1 Accuracy: 78.5%
self-supervised-image-classification-onDeepCluster-v2 (ResNet-50)
Number of Params: 24M
Top 1 Accuracy: 75.2%
self-supervised-image-classification-on-1SwAV (ResNeXt-101-32x16d)
Number of Params: 193M
Top 1 Accuracy: 82.0%
self-supervised-image-classification-on-1SwAV (Resnet-50)
Number of Params: 182M
Top 1 Accuracy: 77.8%
semi-supervised-image-classification-on-1SwAV (ResNet-50)
Top 1 Accuracy: 53.9%
Top 5 Accuracy: 78.5

Build AI with AI

From idea to launch — accelerate your AI development with free AI co-coding, out-of-the-box environment and best price of GPUs.

AI Co-coding
Ready-to-use GPUs
Best Pricing
Get Started

Hyper Newsletters

Subscribe to our latest updates
We will deliver the latest updates of the week to your inbox at nine o'clock every Monday morning
Powered by MailChimp
Unsupervised Learning of Visual Features by Contrasting Cluster Assignments | Papers | HyperAI