Contrastive Learning

Contrastive Learning is the self-supervised and supervised representation learning framework that trains models by pulling similar (positive) pairs close together and pushing dissimilar (negative) pairs apart in embedding space — producing high-quality feature representations without requiring labeled data, forming the foundation of CLIP, SimCLR, and modern embedding models.

Core Principle

  • Given an anchor sample, create a positive pair (augmented version of same sample) and negative pairs (different samples).
  • Loss function encourages: $sim(anchor, positive) >> sim(anchor, negative)$.
  • Result: Model learns semantic features that capture what makes samples similar or different.

InfoNCE Loss (Standard Contrastive Loss)

$L = -\log \frac{\exp(sim(z_i, z_j^+)/\tau)}{\sum_{k=0}^{K} \exp(sim(z_i, z_k)/\tau)}$

  • $z_i$: Anchor embedding.
  • $z_j^+$: Positive pair embedding.
  • K negatives in denominator.
  • τ: Temperature parameter (typically 0.07-0.5).
  • Denominator = positive + all negatives → softmax over similarity scores.

SimCLR (Visual Self-Supervised)

1. Take an image, create two random augmentations (crop, color jitter, flip).
2. Encode both through a ResNet backbone → projector MLP → embeddings z₁, z₂.
3. These two views are the positive pair.
4. All other images in the mini-batch are negatives.
5. Minimize InfoNCE loss.
6. After training: Discard projector, use backbone features for downstream tasks.

CLIP (Vision-Language Contrastive)

  • Positive pairs: Matching (image, text) pairs from the internet.
  • Negative pairs: Non-matching (image, text) combinations within the batch.
  • Image encoder (ViT) and text encoder (Transformer) trained jointly.
  • Batch of N pairs → N² possible pairings → N positives, N²-N negatives.
  • Result: Unified vision-language embedding space enabling zero-shot classification.

Key Design Choices

FactorImpactBest Practice
Batch sizeMore negatives → betterLarge batches (4096-65536)
Temperature τLower = sharper distinctions0.07-0.1 for vision
Augmentation strengthDetermines what's "invariant"Strong augmentation essential
Projection headImproves representation qualityMLP projector, discard after training
Hard negativesTraining signal qualityMine semi-hard negatives

Beyond SimCLR

  • MoCo: Momentum-updated encoder + queue of negatives → doesn't need huge batches.
  • BYOL/SimSiam: No negatives at all — positive pairs only + stop-gradient trick.
  • DINO/DINOv2: Self-distillation with no labels → exceptional visual features.

Contrastive learning is the dominant paradigm for learning general-purpose representations — its ability to leverage unlimited unlabeled data to produce embeddings that transfer across tasks has made it the foundation of modern embedding models, multimodal AI, and self-supervised pretraining.

Take contrastive learning further

Ask the copilot about this term, or have our engineers assess it against your process.