Project Info
This project did not submit a demo video on Devpost.
Background JEPA (Joint-Embedding Predictive Architecture) is a way for an AI to learn how the world works by predicting compressed internal representations of what happens next, rather than raw pixels. Meta's V-JEPA 2 already uses this for zero-shot robot manipulation, and it's quickly becoming a serious alternative to traditional world models. I built on top of this with two recent ideas: value-guided latent geometry, which reshapes the model's internal "distance" so it reflects real cost-to-reach a goal instead of just visual similarity, and a density-matrix latent layer inspired by UWM-JEPA, designed to preserve uncertainty when the model has to predict blind (e.g., a blocked camera). What I Built A baseline planner and both extensions on the same open-source PLDM backbone, then evaluated every version identically: normal conditions and goal-occluded conditions, n=40 trials each. Part 1: Value-guided geometry My first version underperformed the baseline (7.5% success vs. baseline's 35% under normal conditions). I diagnosed why, training the value-shaped loss from scratch breaks the geometric agreement between the encoder and predictor that planning depends on, then built two fixes to test that diagnosis directly. Joint training with a warmup schedule brought normal-condition success up to 20% (8/40), and fine-tuning from a converged baseline checkpoint pushed it further to 25% (10/40), more than tripling my first result using the identical loss and hyperparameters, with only the starting point changed. Under occlusion, baseline held at 7.5% (3/40) while every value-guided version plateaued around 5% (2/40), regardless of which fix I applied. Each version I built moved the normal-condition number in the right direction, a strong signal this approach is a real contender, with more research & compute. What needs tuning next: prediction loss kept drifting upward the longer the value loss stayed active, meaning the two objectives still need a better-balanced joint schedule, which is a tuning and compute problem. Part 2: Density-matrix uncertainty layer I also built a density-matrix latent layer on top of the backbone, aimed specifically at occlusion robustness, since none of my value-guided fixes ever moved that number. Given remaining time, I built this as a projection on a frozen backbone rather than a fully joint architecture, and it landed at 2.5% (1/40) normal and 0% (0/40) occluded. The training itself converged cleanly and stayed healthy (loss dropping from 0.675 to 0.445, no collapse) but what's missing is joint retraining of the predictor and planner around this new latent structure, the same fix that worked for Part 1. I see this as the next clear build step. Why this is a strong contender for robotics: A real, working pipeline with two novel ideas layered on a planning backbone, found a specific and fixable bottleneck, and proved across two independent builds that fixing it produces consistent, repeatable gains. With more compute and tuning time, longer joint training, a better-balanced value-loss schedule, and a fully joint build of the density-matrix layer, I believe this closes the remaining gap to baseline and becomes a genuinely deployable approach for planning under uncertainty, which is exactly the kind of robustness real robotics teams need before trusting a model in the field.
What's next
Longer joint training and a tuned value-loss schedule to close the remaining performance gap, a fully joint (not frozen-backbone) build of the density-matrix layer, more MPPI planning samples to match full-scale settings, and pixel-space goal-image augmentation to directly target occlusion robustness.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 5
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- PyTorchClaimed
1 of 2 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- CodexConfig
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
88 KB
Source files
9
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
gurmeher/jepa
42 files · 93.6 MB · @ 634b1b4
Structure
Application logic
36 files · 86%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python76%
- Markdown19%
- YAML5%
Share of indexed source by file size. Binary and vendored files are excluded.
Feature verification
Comparison charts and results reportingVerified
Evaluated every version identically and produced comparison results/charts across baseline, value-guided, and density-matrix variants
Claimed on readmehigh confidenceextensions/compare.py:36— plot_variants generates bar charts with Wilson CI error bars comparing variants across normal/occluded conditionsresults/comparison_full.png— Generated comparison chart artifact present in results directory
Density-matrix latent uncertainty layer (UWM-JEPA inspired)Verified
A density-matrix latent layer inspired by UWM-JEPA, designed to preserve uncertainty when predicting blind, projecting backbone encodings to 8x8 PSD density matrices via Cholesky factorization with a quantum trace fidelity value function
Claimed on Devposthigh confidenceextensions/density_matrix_train.py:65— DensityMatrixHead projects 512-dim encodings to 8x8 PSD unit-trace matrices via Cholesky parameterizationextensions/density_matrix_train.py:119— trace_fidelity implements Tr(rho*sigma) as the value function used in dm_iql_loss, matching the density-matrix uncertainty claimcheckpoints/dm_jepa/dm_losses.json:1— Real training loss log (0.675 to 0.445 as claimed) produced by this training code
Density-matrix layer built as frozen-backbone projection (honest limitation)Verified
Given remaining time, the density-matrix layer was built as a projection on a frozen backbone rather than a fully joint architecture, landing at 2.5% (1/40) normal and 0% (0/40) occluded, with loss dropping cleanly from 0.675 to 0.445
Claimed on Devposthigh confidenceextensions/density_matrix_train.py:225— backbone.eval() and requires_grad=False freeze the backbone; only DensityMatrixHead parameters are optimizedresults/occlusion_dm_results.json:1— dm_normal success_rate=0.025 (1/40) and dm_occluded=0.0 (0/40) match the claimed numbers exactlycheckpoints/dm_jepa/dm_losses.json:1— Epoch losses recorded (~0.68 start trending to ~0.44) matching the claimed clean convergence
Fine-tuning from converged baseline checkpointVerified
Fine-tuning the value-guided loss from a converged baseline checkpoint pushed normal-condition success to 25% (10/40), confirming the initialization diagnosis
Claimed on Devposthigh confidenceextensions/value_guided_train.py:123— load_checkpoint CLI argument lets ValueGuidedTrainer initialize from an existing baseline checkpoint rather than training from scratchresults/occlusion_finetune.json:1— vg_normal success_rate=0.25 (10/40) matches the claimed fine-tune result exactlylog.md:173— Phase 5 log documents the fine-tune experiment, setup, and diagnosis-confirmed conclusion in detail
Joint training with warmup schedule fixing value-guided underperformanceVerified
Joint training with a warmup schedule brought normal-condition success up to 20% (8/40) after an initial 7.5% result, diagnosing that training the value loss from scratch breaks encoder-predictor geometric agreement
Claimed on Devposthigh confidenceextensions/value_guided_train.py:289— effective_vf_coeff implements the linear warmup schedule (lambda=0 then ramps to target) referenced by the claimresults/occlusion_joint.json:1— vg_normal success_rate=0.2 (8/40 successes) matches the claimed joint+warmup result exactlyresults/occlusion_dryrun.json:1— Companion eval artifacts consistent with the described sweep from 7.5% baseline
Noise-augmented VF training (goal-noise robustness attempt)Verified
Additional experiment training the value function with the same Gaussian goal noise used at eval, to test whether it improves occlusion robustness (part of the 'what needs tuning' narrative)
Claimed on readmemedium confidenceextensions/value_guided_train.py:191— goal_noise_std parameter in compute_vf_loss adds matched Gaussian noise to both current and target goal encodings during VF trainingresults/occlusion_noise_aug.json— Eval results artifact for the noise-augmented variant, referenced in log.md Phase 6
Occlusion (goal-blind) evaluation protocolVerified
Evaluated every version under normal and goal-occluded conditions, n=40 trials each, by corrupting the goal latent with Gaussian noise to simulate a blocked camera
Claimed on Devposthigh confidenceextensions/occlusion_eval.py:59— OcclusionMPCEvaluator and run_simple_mpc inject Gaussian noise into the goal latent before MPPI planning to simulate occlusionresults/occlusion_results.json:1— n_envs=40 and noise_std=5.0 recorded for occluded conditions across baseline and vg variants
PLDM baseline planner on JEPA backboneVerified
A baseline planner built on the open-source PLDM backbone (Sobal et al. 2025), trained with VICReg + IDM objectives on a Wall environment
Claimed on Devposthigh confidenceconfigs/baseline_mac.yaml:1— Config wires PLDM Wall dataset, VICReg/IDM training, Mac paths matching the described baseline setuplog.md:15— Phase 1 log documents baseline training run, checkpoint, and eval results (0.10 success on n=10, later 0.35 on n=40)results/occlusion_results.json:1— baseline_normal/baseline_occluded success rates recorded from real eval runs
Value-guided latent geometry (IQL value-shaping loss)Verified
Value-guided latent geometry that reshapes the model's internal distance to reflect cost-to-reach a goal, implemented as an IQL expectile value loss added to the JEPA training objective
Claimed on Devposthigh confidenceextensions/value_guided_loss.py:50— iql_value_loss implements the IQL expectile TD-error loss with euclidean value function V(s,g)=-||E(s)-E(g)||^2extensions/value_guided_train.py:177— compute_vf_loss wires the value loss into a joint L_pred + lambda*L_VF training loop with EMA target encoder and hindsight goal samplingcheckpoints/vg_joint/vg_euclidean_losses.json:1— Real training loss logs (pred_loss, vf_loss per epoch) produced by this pipeline
Built with claude-code, MPS, PyTorch on PLDM backboneCode-supported
Project built with claude-code, mps, pldm-(sobal-et-al.-2025), pytorch
Claimed on Devpostmedium confidenceextensions/value_guided_train.py:40— Imports pldm.mac_compat which routes .cuda() calls to MPS/CPU, consistent with Mac/MPS + PLDM backbone claimconfigs/baseline_mac.yaml:1— Config file paths and settings match a local Mac PLDM training setup
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.