By: Ayush Thakur and Sayak Paul
TensorFlow 2 implementation of Unsupervised Learning of Visual Features by Contrasting Cluster Assignments by Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, Armand Joulin.
To know more about SwAV and the experiments we performed with it you can check out our blog post Unsupervised Visual Representation Learning with SwAV. Our blog post is structured in the following way -
- Common problems in existing self-supervised methods (for visual representation learning)
- SwAV at a high-level
- Multi-crop augmentation policy and its promise
- Contrasting the cluster assignments
- Cluster assignment as an optimal transport problem
- Swapped prediction problem to enforce consistency
- A single forward pass in SwAV
- Experimental results
- Conclusion
Available here.
Results of all our experiments are available as a wandb
dashboard.
Thanks to Mathilde Caron for providing insightful pointers that helped us minimally implement SwAV.
Thanks to Jiri Simsa of Google for providing us with tips that helped us improve our data input pipeline.
Thanks to the Google Developers Experts program for providing us with GCP credits.