Joint Embedding Predictive Architecture (JEPA)
Uma arquitetura preditiva de incorporação conjunta (JEPA) aprende prevendo as incorporações de partes ocultas de uma imagem ou vídeo a partir das partes visíveis.
Uma Arquitetura Preditiva de Embeddings Conjuntos (JEPA) é um projeto de aprendizado autossupervisionado no qual uma rede aprende prevendo a representação abstrata de uma parte oculta da entrada com base em uma parte visível. Dada uma imagem com algumas regiões mascaradas, uma JEPA prevê as incorporações das regiões mascaradas sem reconstruir seus pixels; assim, o sinal de treinamento se concentra em conteúdo semântico previsível, como a forma e a disposição dos objetos, e ignora detalhes imprevisíveis, como a textura das folhas ou o ruído do sensor. Yann LeCun propôs a arquitetura em seu artigo de posicionamento de 2022 A Path Towards Autonomous Machine Intelligence como componente básico de modelos de mundo, e os modelos I-JEPA e V-JEPA da Meta a colocam em prática para imagens e vídeo.
Como funciona a JEPA#
Uma JEPA tem três redes. Um codificador de contexto, geralmente um transformer de visão (ViT), incorpora os patches visíveis. Um codificador de destino incorpora toda a entrada, e as incorporações nas posições ocultas tornam-se os alvos. Um preditor, um transformer mais estreito, recebe as incorporações do contexto e tokens de máscara que indicam a posição de cada alvo, e produz sua estimativa das incorporações dos alvos. A função de perda é a distância L2 média entre as incorporações previstas e as reais, e apenas o codificador de contexto e o preditor recebem gradientes. No I-JEPA, cada imagem de treinamento gera quatro blocos de destino que cobrem, cada um, 15–20% da imagem, e um bloco de contexto que cobre 85–100%, removendo qualquer sobreposição com os alvos, de modo que o modelo precisa inferir grandes regiões semânticas a partir de um contexto esparso.
Como evitar o colapso das representações#
Prever incorporações abre um atalho: se ambos os codificadores produzirem o mesmo vetor constante para toda entrada, a previsão será perfeita e a perda será zero — uma falha conhecida como colapso de representações. I-JEPA e V-JEPA evitam isso com assimetria. Nenhum gradiente é propagado para o codificador de destino; em vez disso, seus pesos acompanham uma média móvel exponencial (EMA) dos pesos do codificador de contexto, com um momentum que começa em 0,996 e aumenta linearmente até 1,0 durante o treinamento do I-JEPA. A mesma atualização por EMA suaviza o treinamento do YOLO26 no Ultralytics, em que o treinador mantém uma média móvel dos pesos do modelo com um decaimento que aumenta até 0,9999 e salva essa cópia média como checkpoint. O LeJEPA, publicado em 2025 por Randall Balestriero e LeCun, substitui o professor EMA e a interrupção do gradiente por um regularizador chamado SIGReg, que aproxima as incorporações de uma distribuição gaussiana isotrópica.
O loop PyTorch abaixo treina uma JEPA pequena com vetores sintéticos, nos quais uma visualização de contexto e uma visualização de destino compartilham uma causa oculta de 8 dimensões.
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}")Ele imprime step 1: latent loss 0.5372, target embedding std 0.547 e step 500: latent loss 0.0060, target embedding std 0.595. O erro de previsão no espaço de incorporações cai cerca de 90 vezes, enquanto a dispersão das incorporações de destino permanece estável; assim, a perda diminuiu sem que as incorporações colapsassem em uma constante.
JEPA vs. abordagens relacionadas#
- Autoencoders mascarados (MAE): mascaram patches da mesma forma e reconstroem os pixels ausentes, consumindo capacidade do modelo com detalhes de baixo nível. A JEPA prevê o conteúdo ausente no espaço de representações.
- Aprendizado contrastivo: aproxima as incorporações de duas visualizações aumentadas de uma imagem e afasta as de outras imagens, por isso precisa de exemplos negativos e aumentações elaboradas manualmente, como recortes e variações de cor. O I-JEPA não usa nenhum dos dois.
- Métodos de autodestilação, como o DINO: também treinam um aluno em relação a um professor EMA, alinhando incorporações de recortes aumentados da mesma imagem. Em vez disso, a JEPA prevê a incorporação de uma região a partir de outra, ensinando a estrutura espacial e temporal.
- Modelos de mundo generativos: preveem quadros futuros no espaço de pixels, como fazem os geradores de vídeo. Um modelo de mundo JEPA prevê incorporações futuras e pode planejar diretamente nesse espaço latente.
Modelos JEPA#
- I-JEPA (2023): o modelo de imagem treinou um ViT-Huge/14 no ImageNet com 16 GPUs A100 em menos de 72 horas, e suas características são transferidas para classificação linear, contagem de objetos e previsão de profundidade sem aumentações de dados elaboradas manualmente.
- V-JEPA (2024): treinado com 2 milhões de vídeos usando a previsão de características como único objetivo, seu maior modelo, um ViT-H/16 mantido congelado, alcança 81,9% no Kinetics-400, 72,2% no Something-Something v2 e 77,9% no ImageNet-1k.
- V-JEPA 2 (2025): pré-treinado com mais de 1 milhão de horas de vídeos da internet, alcança 77,3% de acurácia top-1 no Something-Something v2 e recall-at-5 de 39,7 no Epic-Kitchens-100 para antecipação de ações. Sua variante condicionada a ações, V-JEPA 2-AC, foi submetida a pós-treinamento com menos de 62 horas de vídeos de robôs sem rótulos do conjunto de dados DROID e, depois, pegou e posicionou objetos sem exemplos prévios nos braços robóticos Franka em dois laboratórios, planejando em direção a objetivos visuais.










