Footage: Mixkit — free for personal use
Introducing Kertory-JEPA

A self-supervised
latent world model

Kertory-JEPA is a predictive latent world model that learns reusable physics from observation — tested across three versions, from a fixed-condition failure to few-shot adaptation on the unfamiliar.

Read the results Explore resources
↓ Explore the research
Capabilities Journey Demo Results Resources
The idea in one picture

Why JEPA doesn't predict pixels.

Raw sensor data is noisy and mostly unpredictable in detail. JEPA compresses it into a clean abstract representation first — then predicts the next representation, never the next pixel.

Capabilities

Understand, predict, adapt.

Kertory-JEPA is built around three abilities, tested independently at every version.

01

Understand physical dynamics

A pretrained visual encoder turns raw simulation frames into latent embeddings; a trained predictor learns how those embeddings evolve under gravity, restitution, radius, and friction.

02

Generalize within a range

Once trained across randomized physics, in-range prediction error holds at 5–31% — even with four variables moving at once, instead of memorizing a single fixed condition.

03

Adapt to the unfamiliar

Given just 8 new episodes from a condition it has never seen, the model cuts its own error by 54.6% in 20 adaptation steps — no full retraining required.

The core question

One hypothesis per version. Negative results kept in.

This is the complete research journey across three iterations of Kertory-JEPA — including the version that failed, because it's what motivated everything after it. Every figure below is a measured evaluation result, not a projection.

"Can a self-supervised, JEPA-style predictor learn reusable physics dynamics from observation, well enough to handle physical conditions it was never trained on?"
The journey

From a one-condition failure to a live research roadmap.

V0.1 First prototype REJECTED

Fixed gravity. The model memorized one condition instead of learning a variable.

300 episodes, gravity held constant at 1.0, a 22.3M-parameter predictor trained from scratch on a pretrained visual encoder. Training and validation loss looked healthy — 0.1301 vs 0.1329 — but that only measured performance inside the one condition it had ever seen.

+541%error at unseen gravity = 0.5
+426%error at unseen gravity = 2.0
0variables randomized in training
V0.2 Gravity randomization CONFIRMED

Randomizing gravity during training fixed in-range generalization almost entirely.

Gravity sampled from 0.3–2.5 per episode, 500 episodes, improved temporal pooling and a JEPA-style loss with a per-position mask token. In-range error fell from 541% to 5–31%. Extrapolation beyond the trained range — 85–135% — remained the open problem.

5–31%in-range error increase
85–135%out-of-range error increase
1variable randomized (gravity)
V0.3.1 Multi-variable + few-shot CONFIRMED

Four physics variables at once, plus a test of few-shot adaptation to the unfamiliar.

Gravity, restitution, ball radius, and friction randomized together — 1,000 episodes, 32–35M parameters, five staged tests (A–E). In-range performance held at the same 5–31% band even with four variables moving jointly. Out-of-range error narrowed further to 62–67%. Then Stage E asked a new question entirely.

5–31%in-range, 4 variables jointly
62–67%full out-of-range extrapolation
−54.6%few-shot adaptation, Stage E
V0.4 Action-conditioning, real DROID data DID NOT GENERALIZE

Added actions, switched to real robot data — and few-shot adaptation stopped being reliable.

V0.3.1 only predicted what happens next; V0.4's goal was predicting what happens next given an action — the step toward robot control. The synthetic ball simulator was swapped for real Franka-arm data (Hugging Face's muacha/droid-30-converted, 30 episodes, ~437 training windows), with a frozen V-JEPA2 encoder feeding a new 30M-parameter action-conditioned predictor trained for 8-dimensional joint actions.

After 30 epochs, validation loss plateaued at 0.378 — about 20× worse than V0.3.1's 0.019. Few-shot adaptation, tested across six combinations of episode and learning rate, swung between +10.9% and −51.6% with no consistent pattern.

0.378validation loss (vs 0.019 in V0.3.1)
−51.6%worst few-shot result (lr 0.001)
30 / 437episodes / training windows used
Live V0.4 demo on Hugging Face Spaces: few-shot adaptation on a real DROID episode, showing a -1.6% result
The actual live demo (Hugging Face Spaces, Gradio) — this run: 8 few-shot examples, lr 0.00001, result −1.6%. Three likely causes are written up in the Journey notes: too little data (30 episodes vs V0.3.1's 1,000), a training method that tends to learn the average outcome rather than the action's effect, and fine-tuning used in place of real meta-learning.
V0.5 Intervention-effect + meta-learning IN PROGRESS

Back to controlled simulation, starting from V0.3.1's weights — and few-shot adaptation is now trained in, not bolted on.

V0.5 follows one rule: competitors are racing to collect more data; Kertory is racing to learn more from less of it. Three concrete changes from V0.4: (1) back to the controllable KertoryWorld simulator, initialized from V0.3.1's already-trained weights rather than from scratch; (2) intervention-effect supervision — each episode now pairs one starting state with two different actions, so the model is shown directly how the outcome should change with the action, not just one averaged result; (3) Reptile meta-learning folded into training itself — every fourth batch, the model takes a mock few-shot test, adapts in 3 steps, and nudges its real weights toward being faster to adapt, rather than adaptation being a separate step applied after training.

800synthetic episodes being generated (paired actions)
V0.3.1starting weights, not random init
—results not yet in — training running on Kaggle
V0.6 Back to real robot data PLANNED

If intervention-effect + meta-learning works on synthetic physics, take the same method back to real DROID data.

This time with meta-learning included from the start, and a larger slice of DROID — roughly 100+ episodes instead of V0.4's 30 — aiming for few-shot adaptation that holds up consistently on real robot footage, not just in simulation.

100+planned DROID episodes (vs 30 in V0.4)
Not startedno results yet
V0.7 Real-world test + public demo PLANNED

Off the simulator, onto a small real robot arm — plus a permanent public demo.

Planned: a permanent Hugging Face Spaces demo (the current one is temporary), a test on a small physical robot-arm prototype outside simulation, and extending to multi-object, multi-task scenes. The goal across V0.3.1 to V0.7 is one running benchmark: how many examples it takes to reach a given improvement, tracked version over version.

Not startedno results yet
Stage E · the most important result in this series

Few-shot adaptation works.

Zero-shot loss on a fully unseen combination of gravity, restitution, radius, and friction was 0.04057. After a short, low-learning-rate adjustment on just 8 new episodes — 20 steps, not full retraining — loss dropped to 0.01843. That's the first direct evidence that Kertory-JEPA can improve its handling of an unfamiliar environment from a handful of observations, rather than needing to be retrained from zero.

0.04057
Zero-shot
(unseen combo)
0.01843
Few-shot
(8 episodes, 20 steps)
See it in action

Watch Kertory-JEPA predict.

A rollout clip — the model's predicted trajectory next to the ground-truth simulation. Click to play.

Watch now

Upload kertory-jepa-demo.mp4 (and optionally a kertory-jepa-demo-poster.jpg thumbnail) to the same folder as this page — the player above goes live automatically, same as the paper/model links below.

Reference clips

Not Kertory-JEPA footage — physics/AI reference clips for context, until the real rollout videos above are ready.

Robotic manipulation
Physics dynamics
Generative process
Model internals

Reference clips via Pexels: robotic arm footage by Usman AbdulrasheedGambo, particle animation by Nicola Narracci, AI visualizations from Google DeepMind's "Visualising AI" project (artists Linus Zoll and Martina Stiftinger) — all free to use.

Few-shot adaptation explorer

Every combination below is a real recorded result from V0.4 testing on real DROID robot episodes — not a live-running model. Pick an episode and learning rate to see what was actually measured.

Improvement over zero-shot
—

Source: V0.4 few-shot adaptation testing. Six episode/learning-rate combinations were tested in total — this explorer shows all of them, nothing extrapolated.

Potential applications

Where a reusable physics predictor could matter.

Kertory-JEPA hasn't been tested in these settings — but this is the kind of use case a generalizing, few-shot-adaptable world model points toward.

Simulation & game physics

A learned predictor that generalizes across gravity, restitution, and friction could approximate expensive physics engines for real-time use.

Sim-to-real transfer

Few-shot adaptation from just 8 episodes suggests a path toward adjusting to a new environment's physics without full retraining.

Clips: particle animation by Nicola Narracci, robotic arm footage by Usman AbdulrasheedGambo — both free to use via Pexels.

V0.3.1 · full results

All five stages, A through E.

Testing was staged deliberately, so that if generalization failed, the specific variable or combination responsible could be identified — rather than one opaque pass/fail number.

StageGravRestRadFricLoss
A — Baseline1.400.68120.0750.02519
B — Gravity0.500.68120.0750.02579
B — Gravity2.000.68120.0750.02712
B — Restitution1.400.45120.0750.02226
B — Restitution1.400.90120.0750.03077
B — Radius1.400.6870.0750.02126
B — Radius1.400.68170.0750.02796
B — Friction1.400.68120.0200.02379
B — Friction1.400.68120.1300.02379
C — Grav + Rest0.500.90120.0750.03388
C — Grav + Radius2.000.68160.0750.02977
C — Rest + Radius1.400.4580.0750.02217
C — Grav + Friction1.400.68120.1200.02428
D — Extrapolation0.150.35200.2000.04196
E — Zero-shot0.150.35200.2000.04057
E — Few-shot (8 ep)0.150.35200.2000.01843
Scope

Stated plainly, so results aren't read more broadly than they support.

Demonstrated

✓
A working, reproducible pipeline

Raw physics simulation → pretrained visual encoder → trained predictor → measured evaluation, unchanged across all three versions.

✓
A diagnosed and directly addressed failure

V0.1's memorization failure was root-caused and fixed by changing the training data, not just the model.

✓
Generalization across four physics variables

Within a trained range, covering gravity, restitution, radius, and friction simultaneously.

✓
A measurable few-shot adaptation effect

A 54.6% error reduction from 8 new observations, without full retraining.

Not demonstrated

✕
Strong extrapolation far outside training

Error still rises substantially there — Stage D, +62–67%.

✕
Physics or causal understanding, formally

No explicit representation of force, mass, or energy conservation.

✕
Any real-world, non-simulated environment

No real object, sensor, or robotics data was used anywhere in this series.

✕
General intelligence, or LLM comparisons

No claim of, or comparison to, general intelligence or language models is made.

Resources

Explore Kertory-JEPA

The model weights and full paper are being prepared for release. The two pills below already point to filenames — upload a file with that exact name to the same folder as this page on your site, and the link goes live automatically, no code changes needed.

Read this research journey ↗ Read the research paper ↗ Download the model ↗ License & usage terms ↗ View on GitHub ↗ View on Kaggle ↗ Yann LeCun's AMI Labs (JEPA research) ↗ Send feedback ↗
Next direction

The golden rule: learn more from less data, not more data than everyone else.

Industry players like Generalist AI and OpenVLA train on 270,000–500,000+ hours of robot data with 7–10B-parameter models. A solo researcher will never out-scale that — so Kertory's bet is fast adaptation from a handful of examples, not scale.

V0.5 — intervention-effect + meta-learning

In progress: paired-action supervision and Reptile meta-learning, trained into the model from the start rather than fine-tuned on afterward.

V0.6 — back to real DROID data

Planned: the same method, applied to 100+ real robot episodes, this time with meta-learning included from the beginning.

V0.7 — permanent demo + physical test

Planned: a permanent Hugging Face Spaces demo, a small real robot-arm test outside simulation, and multi-object scenes.

Across V0.1 to V0.3.1, prediction error under distribution shift fell from +541% to +62–67%, and few-shot adaptation was demonstrated for the first time in this project. V0.4 then showed that adding actions and switching to real robot data isn't a small step — few-shot adaptation stopped being reliable, which is exactly what V0.5's intervention-effect and meta-learning changes are built to fix.

V0.1 through V0.4 are measured, real results. V0.5 is running now. V0.6–V0.7 are the plan, not yet started →

Cite this work

@misc{kumar2026kertoryjepa,
  title  = {Kertory-JEPA: A Self-Supervised Latent World Model for Physics Generalization},
  author = {Kumar, Vikash},
  year   = {2026},
  note   = {Independent research project, V0.1--V0.4 (measured); V0.5 in progress; V0.6--V0.7 planned}
}
License

Free for research. Ask first for commercial.

Kertory-JEPA is free to use, study, and share for research and personal projects — just credit the work. Using it (or anything built on it) inside something you're selling or monetizing needs written permission first.

In short

✅ Personal, academic & research use — free, just credit "Kertory-JEPA by Vikash Kumar".
✅ Studying, modifying, and sharing your modifications — free, same credit rule.
❌ Selling it, or using it inside a paid product/service — requires permission (ask below).

Read the full license text ↗

Request commercial permission

Goes straight to the author. You'll hear back by email — no automatic approval.

Careers

Open roles.

Positions open up here as the project grows. Sign in to apply when something fits — Google or GitHub, whichever you prefer.

No open roles right now — check back soon.

Sign in to apply

Hugging Face sign-in isn't supported by Firebase's free auth yet.

Admin sign-in

Sign in to upload/replace photos & videos. Everyone else can only view.

Replace a photo/video

Sign out