Learning without labels
Supervised learning needs labels, and labels are scarce and expensive. Self-supervised learning (SSL) sidesteps this by inventing a prediction task out of the unlabeled data itself: hide part of the input, predict it from the rest. No human annotation required, so the method can consume the effectively unlimited supply of raw images, video, and text.
The payoff is a representation: an encoder that maps raw input to a vector capturing what matters. A good representation transfers, you can attach a small classifier or controller and solve downstream tasks with few labels. This is the engine behind modern foundation models.
The entire design question in SSL is: what exactly should the model predict, and in what space? That single choice determines what the representation learns. Predict the wrong thing and the encoder wastes its capacity on details nobody needs.
Three broad families answer that question differently:
- Generative / reconstructive: predict the missing input itself (the pixels).
- Contrastive: make two views of the same thing agree, and different things disagree.
- Joint-embedding predictive: predict the representation of the missing part, not the part itself.
This lesson examines all three, then shows why the third, the family that includes JEPA, is a distinct and compelling answer.

