Joint Embedding Predictive Architecture (JEPA)
Eine prädiktive Architektur mit gemeinsamen Embeddings (JEPA) lernt, indem sie die Embeddings verborgener Bild- oder Videobereiche anhand der sichtbaren Bereiche vorhersagt.
Eine Joint Embedding Predictive Architecture (JEPA) ist ein Entwurf für selbstüberwachtes Lernen, bei dem ein Netzwerk lernt, die abstrakte Repräsentation eines verborgenen Teils seiner Eingabe anhand eines sichtbaren Teils vorherzusagen. Bei einem Bild mit maskierten Bereichen sagt eine JEPA die Einbettungen der verborgenen Bereiche voraus, ohne ihre Pixel zu rekonstruieren. Dadurch konzentriert sich das Trainingssignal auf vorhersagbare semantische Inhalte wie Objektform und Anordnung und lässt unvorhersagbare Details wie Blatttextur oder Sensorrauschen aus. Yann LeCun schlug die Architektur 2022 in seinem Positionspapier Ein Weg zu autonomer maschineller Intelligenz als Baustein für Weltmodelle vor. Metas Modelle I-JEPA und V-JEPA setzen sie für Bilder und Video um.
So funktioniert JEPA#
Eine JEPA besteht aus drei Netzwerken. Ein Kontextencoder, üblicherweise ein Vision Transformer (ViT), bettet die sichtbaren Ausschnitte ein. Ein Zielencoder bettet die vollständige Eingabe ein; seine Einbettungen an den verborgenen Positionen dienen als Zielwerte. Ein schmalerer Transformer als Prädiktor erhält die Kontexteinbettungen sowie Maskentoken, die die Position jedes Zielwerts kennzeichnen, und gibt eine Schätzung der Zieleinbettungen aus. Die Verlustfunktion ist der mittlere L2-Abstand zwischen den vorhergesagten und den tatsächlichen Zieleinbettungen. Nur der Kontextencoder und der Prädiktor erhalten Gradienten. Bei I-JEPA liefert jedes Trainingsbild vier Zielblöcke, die jeweils 15–20 % des Bildes abdecken, und einen Kontextblock, der 85–100 % abdeckt. Überschneidungen mit den Zielblöcken werden entfernt, sodass das Modell große semantische Bereiche aus spärlichem Kontext erschließen muss.
Repräsentationskollaps verhindern#
Die Vorhersage von Einbettungen eröffnet eine Abkürzung: Wenn beide Encoder für jede Eingabe denselben konstanten Vektor ausgeben, ist die Vorhersage perfekt und der Verlust gleich null. Dieses Versagen ist als Repräsentationskollaps bekannt. I-JEPA und V-JEPA verhindern ihn durch Asymmetrie. Es fließen keine Gradienten in den Zielencoder. Stattdessen folgen seine Gewichte einem exponentiell gleitenden Mittelwert (EMA) der Gewichte des Kontextencoders; bei I-JEPA beginnt der Impulswert beim Training bei 0.996 und steigt linear auf 1.0. Dieselbe EMA-Aktualisierung glättet das Training von YOLO26 in Ultralytics: Der Trainer führt einen gleitenden Durchschnitt der Modellgewichte mit einem Abklingfaktor, der bis auf 0.9999 steigt, und speichert diese gemittelte Kopie als Prüfpunkt. LeJEPA, 2025 von Randall Balestriero und LeCun veröffentlicht, ersetzt den EMA-Lehrer und den Stopp des Gradientenflusses durch einen Regularisierer namens SIGReg, der die Einbettungen in Richtung einer isotropen Gauß-Verteilung verschiebt.
Die folgende PyTorch-Schleife trainiert eine kleine JEPA mit synthetischen Vektoren, bei denen eine Kontextansicht und eine Zielansicht eine verborgene Ursache mit 8 Dimensionen gemeinsam haben.
import copy
import torch
from torch import nn
torch.manual_seed(0)
latent = torch.randn(512, 8) # hidden cause shared by both views
x, y = latent @ torch.randn(8, 64), latent @ torch.randn(8, 64) # context view x, target view y
encoder = nn.Sequential(nn.Linear(64, 128), nn.ReLU(), nn.Linear(128, 32))
target_encoder = copy.deepcopy(encoder).requires_grad_(False) # updated only by EMA
predictor = nn.Linear(32, 32)
optimizer = torch.optim.Adam([*encoder.parameters(), *predictor.parameters()], lr=1e-3)
for step in range(1, 501):
# Predict the target embedding from the context embedding; raw inputs are never reconstructed
loss = nn.functional.mse_loss(predictor(encoder(x)), target_encoder(y))
optimizer.zero_grad()
loss.backward()
optimizer.step()
with torch.no_grad(): # EMA update of the target encoder with momentum 0.996
for target_param, param in zip(target_encoder.parameters(), encoder.parameters()):
target_param.lerp_(param, 0.004)
if step in {1, 500}:
print(f"step {step}: latent loss {loss.item():.4f}, target embedding std {target_encoder(y).std(0).mean():.3f}")Die Ausgabe besteht aus step 1: latent loss 0.5372, target embedding std 0.547 und step 500: latent loss 0.0060, target embedding std 0.595. Der Vorhersagefehler im Einbettungsraum sinkt etwa um den Faktor 90, während die Streuung der Zieleinbettungen stabil bleibt. Der Verlust ist also gesunken, ohne dass die Einbettungen zu einer Konstanten kollabiert sind.
JEPA im Vergleich zu verwandten Ansätzen#
- Maskierte Autoencoder (MAE): Maskieren Ausschnitte auf dieselbe Weise und rekonstruieren die fehlenden Pixel, wodurch Modellkapazität für Details auf niedriger Ebene aufgewendet wird. JEPA sagt die fehlenden Inhalte im Repräsentationsraum voraus.
- Kontrastives Lernen: Zieht die Einbettungen zweier augmentierter Ansichten eines Bildes zusammen und drückt die Einbettungen anderer Bilder auseinander. Dafür sind negative Beispiele und eigens entwickelte Augmentierungen wie Zuschnitte und Farbverschiebungen nötig. I-JEPA verwendet weder das eine noch das andere.
- Verfahren zur Selbstdestillation wie DINO: Trainieren ebenfalls einen Schüler gegen einen EMA-Lehrer und gleichen Einbettungen verschiedener augmentierter Ausschnitte desselben Bildes ab. JEPA sagt stattdessen die Einbettung eines Bereichs anhand eines anderen Bereichs voraus und lernt so räumliche und zeitliche Strukturen.
- Generative Weltmodelle: Sagen wie Videogeneratoren künftige Frames im Pixelraum voraus. Ein JEPA-Weltmodell sagt künftige Einbettungen voraus und kann direkt in diesem latenten Raum planen.
JEPA-Modelle#
- I-JEPA (2023): Das Bildmodell trainierte ein ViT-Huge/14 mit 16 A100-GPUs in weniger als 72 Stunden auf ImageNet. Seine Merkmale lassen sich ohne eigens entwickelte Datenerweiterungen auf lineare Klassifizierung, Objektzählung und Tiefenvorhersage übertragen.
- V-JEPA (2024): Das Modell wurde mit zwei Millionen Videos trainiert, wobei die Vorhersage von Merkmalen das einzige Trainingsziel war. Sein größtes Modell, ein eingefrorenes ViT-H/16, erreicht 81.9 % auf Kinetics-400, 72.2 % auf Something-Something v2 und 77.9 % auf ImageNet-1k.
- V-JEPA 2 (2025): Das Modell wurde mit über einer Million Stunden Internetvideos vortrainiert und erreicht eine Top-1-Genauigkeit von 77.3 % auf Something-Something v2 sowie einen Recall-at-5-Wert von 39.7 bei der Aktionsvorhersage auf Epic-Kitchens-100. Die aktionsgesteuerte Variante V-JEPA 2-AC wurde anschließend mit weniger als 62 Stunden unbeschrifteter Robotervideos aus dem DROID-Datensatz weitertrainiert. Danach nahm sie auf Franka-Roboterarmen in zwei Laboren ohne vorheriges Training Objekte auf und setzte sie ab, indem sie auf Bildziele hin plante.










