swav

SwAV (Swapping Assignments between Views) is a self-supervised learning method that combines contrastive learning with online clustering — assigning augmented views to prototype vectors (cluster centers) and training the network to predict the assignment of one view from the representation of another.

How Does SwAV Work?

  • Prototypes: Learnable cluster center vectors {c_1, ..., c_K}.
  • Process: Encode two views -> compute soft assignments (codes) to prototypes via Sinkhorn-Knopp -> train each view to predict the other view's assignment.
  • Swapping: The "swap" predicts view B's cluster assignment from view A's features, and vice versa.
  • Multi-Crop: Uses multiple small crops in addition to two standard crops for efficiency.

Why It Matters

  • Scalable: No need for large negative sample pools (prototypes are compact representations of the dataset).
  • Multi-Crop: The multi-crop strategy provides a significant accuracy boost at minimal compute cost.
  • Performance: Competitive with BYOL and SimCLR on ImageNet benchmarks.

SwAV is learning by cluster matching — using the structure of the dataset's natural clusters to guide representation learning.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account