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
| Factor | Impact | Best Practice |
|---|---|---|
| Batch size | More negatives → better | Large batches (4096-65536) |
| Temperature τ | Lower = sharper distinctions | 0.07-0.1 for vision |
| Augmentation strength | Determines what's "invariant" | Strong augmentation essential |
| Projection head | Improves representation quality | MLP projector, discard after training |
| Hard negatives | Training signal quality | Mine 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.
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.