The question
Hyperbolic space grows exponentially with radius, so it can hold an exponentially branching tree of distinguishable points in low dimension. Euclidean space can't do that at the same dimension. If a world model has to represent several possible futures at once, does a hyperbolic latent help?
Phase 0: synthetic check first
Before building any environment, I fit free points to k synthetic "future modes" in both geometries, sweeping k, dimension and separation (20 random placements per cell, paired t-test + Wilcoxon). The result was a clean crossover by branching factor. At k=3, Euclidean wins. At k=8, hyperbolic wins, and the effect grows with separation (p < 0.001 at dim 8). So the maze experiment had to predict several steps ahead through junctions to reach k ≥ 8.
Phase 2: the maze
E is an embedding table (one vector per cell). P maps (E(start), horizon) to a predicted end latent,
deliberately not conditioned on the action sequence, so the target is genuinely multimodal. Loss is squared
distance in each geometry plus a VICReg covariance term, which fixed an early collapse.
The metric is nearest-true-endpoint distance over mean endpoint spacing, per junction, on held-out rollouts. A diagnostic caught an early artifact: with only 8 holdout rollouts per junction, the observable k was capped at 8. The fix was 5× more rollouts and a bigger 16×16 maze with 70 junctions.
Headline: a dimension crossover
Same maze, same data, only the latent dimension changes. Number of junctions (of 70) where each geometry did better:
At dim 16 the result was mixed. This is the theory's actual claim: hyperbolic's advantage is a low-dimension effect. With enough dimensions, Euclidean space has room too, and here it wins outright. My own guess after the first sweep was the opposite ("hyperbolic needs more room"), and the data corrected it.
Geometry of the learned embedding
For every fork, are both children closer to their parent than to each other? Hyperbolic E passes 63% of these checks. Euclidean E passes 0%: every sibling pair is inverted, the result of a checkerboard parity pattern competing with real distance.
Phase 3: planning. Open, and honest about it.
A CEM planner on top of the dim-8 model has been hard. With an oracle cost it solves 40/40. With the learned model, the best run reached 13/40. Along the way:
- Drift in the one-step predictor. The unrolled loss from ball-in-cup wasn't enough on its own. The real cause was a train/deploy distribution mismatch, reduced with goal-directed data.
- The predictor never learned that walking into a wall means no movement. A wall-bump fix plus DAgger-style on-policy data gave the first real successes.
- An automated CEM hyperparameter search showed fewer iterations work better under replanning.
After several rounds of tuning aggregate metrics, I stopped and built a mechanistic test. A one-step lookahead at every branch cell, with no sampling noise, picks the correct first action 69% of the time. Accuracy rises with distance to the target: 58% within 5 steps, 75% beyond 30. The encoder resolves global structure well and local structure poorly, and it is worst exactly where the goal is decided.