Experiments on Hierarchy
8 June 2026
Planning in world models is slow, and one of the oldest fixes is hierarchy: instead of searching over every primitive action, let a high-level model propose a sparse sequence of subgoals, and let a cheap low-level controller fill in the gaps. This is a project log of three attempts to make a two-level world model (H-JEPA) plan better than its single-level counterpart on the Push-T task, plus a diagnosis of why each one fell short. The three differ only in how the abstract, high-level state is formed: by merging tokens, by a learnt encoder on the latent, and by a learnt encoder on raw pixels.
Setup: the two-level world model
Both levels are predictors over frozen DINOv2 image features, and we never fine-tune the encoder. A 224×224 Push-T frame (one camera) becomes a 16×16 = 256-token feature map (ViT-S/14, 384-d). The low-level (LL) model is the usual JEPA world model: it predicts the next 256-token feature map one short step ahead, conditioned on primitive per-frame actions. A token-merge step compresses 256 → 128 tokens into an abstract state, and the high-level (HL) model predicts the next abstract waypoint over a longer time step, so it abstracts in both space and time. The single-level planner runs CEM in the LL latent; the hierarchical planner asks the HL model for a subgoal and lets the LL planner chase it.
One question organizes everything below: does the high-level subgoal help planning at all?
Idea 1: Token Merging for the abstract space
The higher-level state space is obtained by applying Token Merging (ToMe) to the low-level patch tokens.

Diagnosis: is the high-level subgoal helping at all?
The control experiment is brutal. We keep the same final approach but drive the first leg of the trajectory three ways: follow the predicted subgoal, take random actions, or do nothing. Following the model's predicted subgoal succeeds 10% of the time; random actions or staying idle succeed 45-50%. So the predicted subgoal steers the controller to a worse state than the start. It carries negative information.

Two hypotheses
Either the subgoals are bad, or the space they live in is bad:
- H1, bad subgoals (prediction error). The token-merged space is fine, but the HL model's predicted next abstract state is inaccurate, so the LL planner is sent to the wrong place.
- H2, bad abstract space (aliasing). Merging tokens discards detail, so many physically different states map to nearly the same abstract code. Then "minimise abstract distance to the subgoal" is satisfiable by the wrong states, and guidance is no better than random.
We separate them with a clean trick: feed a perfect subgoal, which removes prediction error and isolates the space.
Testing H2: is the abstract space faithful?
We take the true subgoal and a large pool of real Push-T states (its own trajectory plus 1500 from other trajectories) and rank each one by distance to the subgoal, once in the 128-token abstract space and once at full resolution. The rankings agree almost perfectly: Spearman ρ = 0.99 at both strides, and the abstract-nearest state is also the full-resolution-nearest. Distinct states do not collide, so H2 is refuted.

Testing H1: the decisive comparison
Holding the low-level model and CEM budget fixed and changing only the LL planner's target: the predicted subgoal gives 10%; planning in the abstract space toward the true goal (no HL model) gives 62%, essentially tied with single-level's 70%; and handing over the true intermediate subgoal gives 78%, above single-level. So the abstract objective supports planning, the decomposition genuinely helps, and the only thing separating 10% from 78% is the accuracy of the predicted subgoal.

Why a 'small' error is fatal
Most of a Push-T frame is static background; only a few tokens move between waypoints. The HL model's one-step error is about 8% of the full feature but roughly 50% of the actual inter-waypoint motion. Because the abstract space is faithful, the LL controller is accurate, so it faithfully drives to the wrong predicted state, and open-loop error compounds over successive macros. Staying idle wins because it leaves the agent where the final approach can still finish.

Conclusion
Token Merging is a fine way to abstract a static image, but it throws away exactly the information needed for next-state prediction, especially over longer time scales. This "blind spot" of token-reduction methods has been seen elsewhere too (Chun et al., 2025). We need a learnt abstraction, not a hand-merged one.
Idea 2: a learnt encoder on the low-level state
The higher-level state space is obtained by applying a learnt encoder on the lower-level state.
From here the representation is a CLS token, since we move to the LeWorldModel (LeWM) backbone.

Tests
Latent space PCA. Looks good enough, and an L2 cost metric should work in HL space.
Temporal straightening should ideally sit near 1. LL gets 0.6; HL gets -0.45. LeWM showed SIGReg enforces this automatically, but it isn't kicking in for the high level.

L2-norm satisfaction. HL and LL should show a similar gradient of pairwise distances along an expert trajectory, but they don't. Pearson correlation is only 0.6-0.8 across 100 episodes.

Decoding rollouts. The planner can't succeed even when handed expert actions and expert subgoals.

Problem 1: states are off-manifold
Errors diverge as autoregressive rollouts proceed, even with expert actions provided.

- Attempt 1, SIGReg. Train the higher level with SIGReg: -20% success at horizons beyond ~50 env steps, less noticeable at short horizons.
- Attempt 2, RDMReg + sparsity. -5% at 25 steps but -50% at longer horizons; this solves the prediction-error problem itself.

Problem 2: actions are off-manifold
The deeper issue: macro-actions produced by HL CEM correspond to no physical state, so the subgoals are unreachable and the LL CEM can't get to them, which tanks the success rate.

We threw a lot at this:
- Attempt 1, improve the eval strategy. Optimise LL actions directly through the MAE instead of the LL predictor, giving on-manifold macro-actions at the cost of slower evals: 36% → 40% (5 seeds, 50 random episodes, fixed budget).
- Attempt 2, scale the model. SOTA is 75M params; we scaled 18.5M → 25M → 33M, giving 40% → 54% → 50%.
- Attempt 3, change architecture. Bottleneck the macro-action dimension to 4 to cut off-manifold risk (on RDMReg checkpoints). Error stayed high versus simply using the LL predictor; only the first subgoal was accurate.
- Attempt 4, better action prior. Regularise the MPC cost so actions look expert-like, sampled from a normal prior.
- Attempt 5, modify the MPC cost. Add action smoothness and jerk penalties.

Summary of open problems
The recurring theme is an interface problem: the two planners don't agree on what a macro-action is.
- Representation learning. Sparser representations, and an invariance loss to learn slower features.
- Off-manifold HL actions. An IDM to learn macro-actions, or an action codebook.
- HL/LL interface. An HL world model that predicts at multiple strides, plus contracts between the levels, since HL CEM macro-actions don't match LL CEM planned actions encoded into macros.
- Eval strategy. A flexible horizon, since the LL planner can't reach subgoals that are non-uniformly spaced.
Idea 3: a learnt encoder on the pixel space
The higher-level state space is obtained by applying a learnt encoder on the pixel space.
Motivation. If the LL latent is lossy and collision prone, a high level built on top of it inherits its failure modes. So we train the HL as its own ViT-tiny over raw pixels (Pixel → HL); if pixels feed both LL and HL independently, the HL is no longer chained to the LL's representational choices.
Architecture. A PixelHLEncoder (ViT-tiny + linear projector → 96-d embedding), an HL predictor refactored into an LL-style contextual autoregressive model (5.07M params), a frame-skip K = 5 so each HL step covers 25 env steps (matching LeWM's macro horizon), a standard JEPA L2 + SIGReg loss, and a small distance head D(target_hl, ll_state) to bridge the HL pixel space and the LL latent for planning. Trained on PushT expert data, ~6M params total.
Diagnostics: temporal straightening
Straightening climbs from 0.088 (epoch 1) to 0.272 (epoch 4) before plateauing. That's still short of LL's ≈0.6, but a real improvement over the -0.45 of the LL-latent HL. PCA traces of expert rollouts are smoother than LL and coarser in time, which suggests the HL is capturing macro-trajectory shape rather than per-frame structure.

Decoder
A symmetric ViT-tiny decoder over LL (192-d) and HL (96-d), trained with L2 + LPIPS, reaches validation reconstruction of LL 0.048 and HL 0.046. The HL slightly beats LL despite a 2× tighter bottleneck.

Probing the frozen low-level encoder
Every downstream planner inherits the frozen LL encoder's flaws, so we probed it hard, and the news is bad.
Natural collisions exist. Across 2000 frames, many pairs have near-zero LL embedding distance while their pixel distance is large: different scenes map to nearly the same LL latent.

Adversarial budget is tiny. A targeted perturbation of roughly 8 unit-radius steps in the LL latent is enough to decode to a completely different Push-T state. Any planner searching the LL latent without a manifold prior will drift into invalid states.
Long-horizon reachability fails. Sweeping CEM over horizons 20 and budgets 4096, the final distance-to-target plateaus. More horizon doesn't help, and neither does more compute. The self-pair drift floor sits around 1.3 latent units, and expert actions reach states CEM cannot. Long-horizon and cross-trajectory pairs are effectively unreachable under CEM in the LL latent.

The decisive comparison
The one genuinely encouraging result. Ranking HL cost across four strategies: warm-starting HL from a quick LL+MAE search (0.30) < macro CEM (0.54) ≪ pure LL CEM (3.75) ≪ expert+MAE (27.77). Warm-starting the high level from a cheap low-level search beats both macro-only HL search and pure LL CEM.

And the honest counterweight: when the HL macro-action is used as a soft constraint on LL CEM (regularise rather than replace), the score plateaus at 30-45% across many λ settings and HL checkpoints, while pure LL MPC at a matched budget hits 55-90%. On Push-T, HL-as-soft-constraint never beats pure LL.
Takeaways
Three abstractions, one consistent lesson. The abstract space is rarely the problem. Token-merged or learnt, distances in it rank states faithfully. The trouble is always downstream: high-level prediction error that looks small against the whole frame but huge against the tiny motion that matters, macro-actions that drift off-manifold into states no controller can reach, and a frozen low-level encoder whose collisions and unreachable regions every planner inherits. The one move that clearly pays off is warm-starting the high level from a cheap low-level search, and it points the way. Hierarchy helps when the two levels agree on what an action is, and hurts when they don't. The next round is about closing that gap: learnt macro-actions, multi-stride prediction, and a low-level space that's actually safe to search.