Joint Embedding Predictive Architecture (JEPA)
Una arquitectura predictiva de incrustaciones conjuntas (JEPA) aprende prediciendo las incrustaciones de partes ocultas de una imagen o vídeo a partir de las partes visibles.
Una arquitectura predictiva de incrustaciones conjuntas (JEPA) es un diseño de aprendizaje autosupervisado en el que una red aprende prediciendo la representación abstracta de una parte oculta de su entrada a partir de una parte visible. Dada una imagen con algunas regiones enmascaradas, una JEPA predice las incrustaciones de las regiones enmascaradas sin reconstruir sus píxeles, de modo que la señal de entrenamiento se centra en contenido semántico predecible, como la forma y la disposición de los objetos, y omite detalles impredecibles, como la textura de una hoja o el ruido del sensor. Yann LeCun propuso la arquitectura en su artículo de posicionamiento de 2022 Un camino hacia la inteligencia autónoma como elemento básico para los modelos del mundo, y los modelos I-JEPA y V-JEPA de Meta la aplican a imágenes y vídeo.
Cómo funciona JEPA#
Una JEPA tiene tres redes. Un codificador de contexto, normalmente un transformador de visión (ViT), incrusta los parches visibles. Un codificador objetivo incrusta la entrada completa, y sus incrustaciones en las ubicaciones ocultas se convierten en los objetivos. Un predictor, un transformador más estrecho, recibe las incrustaciones de contexto y los tokens de máscara que indican la ubicación de cada objetivo, y genera una estimación de las incrustaciones objetivo. La función de pérdida es la distancia L2 media entre las incrustaciones objetivo predichas y las reales, y solo el codificador de contexto y el predictor reciben gradientes. En I-JEPA, cada imagen de entrenamiento produce cuatro bloques objetivo, cada uno con entre el 15 % y el 20 % de la imagen, y un bloque de contexto que cubre entre el 85 % y el 100 %, tras eliminar cualquier solapamiento con los objetivos; así, el modelo debe inferir grandes regiones semánticas a partir de un contexto disperso.
Cómo evitar el colapso de representaciones#
Predecir incrustaciones abre una vía fácil: si ambos codificadores generan el mismo vector constante para cada entrada, la predicción es perfecta y la pérdida es cero; este fallo se conoce como colapso de representaciones. I-JEPA y V-JEPA lo evitan mediante una asimetría. No se propagan gradientes al codificador objetivo; en su lugar, sus pesos siguen una media móvil exponencial (EMA) de los pesos del codificador de contexto, con un impulso que empieza en 0,996 y aumenta linealmente hasta 1,0 durante el entrenamiento de I-JEPA. La misma actualización EMA suaviza el entrenamiento de YOLO26 en Ultralytics: el entrenador mantiene una media móvil de los pesos del modelo con un decaimiento que aumenta progresivamente hasta 0,9999 y guarda esa copia promediada como punto de control. LeJEPA, publicado en 2025 por Randall Balestriero y LeCun, sustituye el profesor EMA y la detención del gradiente por un regularizador llamado SIGReg, que acerca las incrustaciones a una distribución gaussiana isotrópica.
El bucle de PyTorch que aparece a continuación entrena una JEPA pequeña con vectores sintéticos, en los que una vista de contexto y una vista objetivo comparten una causa oculta de 8 dimensiones.
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}")Imprime step 1: latent loss 0.5372, target embedding std 0.547 y step 500: latent loss 0.0060, target embedding std 0.595. El error de predicción en el espacio de incrustación se reduce unas 90 veces, mientras que la dispersión de las incrustaciones objetivo se mantiene estable; por tanto, la pérdida disminuye sin que las incrustaciones colapsen en una constante.
JEPA frente a enfoques relacionados#
- Autocodificadores enmascarados (MAE): Enmascaran parches del mismo modo y reconstruyen los píxeles que faltan, lo que consume capacidad del modelo en detalles de bajo nivel. JEPA predice el contenido que falta en el espacio de representación.
- Aprendizaje contrastivo: Acerca las incrustaciones de dos versiones aumentadas de una imagen y separa las de otras imágenes, por lo que necesita ejemplos negativos y aumentos diseñados manualmente, como recortes y variaciones de color. I-JEPA no usa ninguno de los dos.
- Métodos de autodestilación como DINO: También entrenan un estudiante frente a un profesor EMA, igualando las incrustaciones de recortes aumentados de una misma imagen. En cambio, JEPA predice la incrustación de una región a partir de otra, lo que enseña estructura espacial y temporal.
- Modelos generativos del mundo: Predicen fotogramas futuros en el espacio de píxeles, como hacen los generadores de vídeo. Un modelo JEPA del mundo predice incrustaciones futuras y puede planificar directamente en ese espacio latente.
Modelos JEPA#
- I-JEPA (2023): El modelo de imágenes entrenó un ViT-Huge/14 con ImageNet y 16 GPU A100 en menos de 72 horas; sus características se transfieren a la clasificación lineal, el recuento de objetos y la predicción de profundidad sin aumentos de datos diseñados manualmente.
- V-JEPA (2024): Entrenado con 2 millones de vídeos usando la predicción de características como único objetivo, su modelo más grande —un ViT-H/16 congelado— alcanza un 81,9 % en Kinetics-400, un 72,2 % en Something-Something v2 y un 77,9 % en ImageNet-1k.
- V-JEPA 2 (2025): Preentrenado con más de un millón de horas de vídeo de Internet, alcanza una precisión top-1 del 77,3 % en Something-Something v2 y un recall@5 de 39,7 en la predicción de acciones de Epic-Kitchens-100. Su variante condicionada por acciones, V-JEPA 2-AC, se sometió a un postentrenamiento con menos de 62 horas de vídeo robótico sin etiquetar del conjunto de datos DROID y, después, recogió y colocó objetos sin ejemplos previos con brazos robóticos Franka en dos laboratorios, planificando a partir de objetivos visuales.










