Zubnet AILearnWiki › Contrastive Learning
Training

Contrastive Learning

SimCLR, InfoNCE
A self-supervised learning approach that trains models by contrasting positive pairs (similar items that should be close in embedding space) against negative pairs (dissimilar items that should be far apart). CLIP contrasts matching image-text pairs against non-matching ones. SimCLR contrasts augmented views of the same image against views of different images. The model learns representations where similarity in embedding space reflects real-world similarity.

Why it matters

Contrastive learning is how most embedding models are trained — the models that power semantic search, RAG, and recommendations. It's also the training approach behind CLIP, which connects language and vision. Any time you use embeddings to measure similarity, contrastive learning is likely how those embeddings were created.

Deep Dive

The InfoNCE loss (used by CLIP and many embedding models): given a batch of N positive pairs, treat the N−1 non-matching items in the batch as negative examples. The loss pushes positive pair embeddings closer together and negative pair embeddings apart. The key insight: you don't need explicitly labeled negative examples — other items in the batch serve as negatives for free, making the approach highly scalable.

Data Augmentation as Supervision

In vision, contrastive learning creates positive pairs through data augmentation: two random crops of the same image are a positive pair (they show the same content from different views). Different images form negative pairs. The model learns that the augmented views should have similar embeddings while different images should have different embeddings. This learns useful visual representations without any labels — pure self-supervision.

Hard Negatives

Not all negatives are equally useful for learning. "Hard negatives" — items that are similar but not matching — provide the most learning signal. For a query about "Python web frameworks," a hard negative might be a document about "Python data science" (similar topic, wrong answer) rather than one about "cooking recipes" (obviously irrelevant). Mining hard negatives is a key technique for training high-quality embedding models.

Related Concepts

← All Terms
← Continual Learning ControlNet →