2D Dungeon Flier WHAM β d-separation + hazard-based event timing
World model for the chest-room environment, trained on observational video only, with two supervision signals beyond next-frame prediction:
- d-separation penalty β the 22 conditional independencies entailed by the chest-room DAG, applied as a JSD penalty on the model's own conditionals.
- Discrete-event hazard loss β the symbolic trace is modelled as a controlled survival process: each of the 9 DAG variables has a per-frame hazard for its first realization, and realization is absorbing at rollout.
The hazard component is the difference from
2D_dungeon_flier_WHAM_dsep.
Its predecessor generated episodes in which the terminal reward R frequently
never realized; per-frame softmax over {0, 1, unrealized} gives a
once-per-episode event no accumulating probability of occurring.
Status β partial run
Trained to step 5,500 of a planned 20,000 (28%). Stopped early for analysis. Metrics below are provisional.
| arm | event (w_dsep=5.0, w_event=1.0, w_trace=0.0) |
| world-model params | 170,960,168 |
| effective batch | 16 (4 x 4 accumulation) |
| hardware | 1x A100 80GB, ~6.7 h |
Result at step 5,500
Event timing is close to the data when an event fires:
| var | model frame | real frame |
|---|---|---|
| V | 13.1 | 14.0 |
| Z | 28.2 | 23.0 |
| R | 113.0 | 112.5 |
The open issue is that the post-chest-opening cascade (M, A, Y, R) does
not always fire. See the linked analysis for the diagnosis.
Files
wm_ckpt_event_step5500.ptβ resumable (model + optimizer + scheduler + step)mini_wham_event_weights.ptβ weights + config onlyprovenance.jsonβ source dataset/cache/tokenizer
Provenance
Trained on the contiguous observational prefix (clips 0β4999) of
osazuwa/2d_dungeon_flier_video,
reusing the frozen SigmaVAE+VQ tokenizer and cached latents from
osazuwa/2D_dungeon_flier_WHAM.
No interventional data was used.
Code: robertness/world_model_experiments,
experiment 2D_chest_room_experiments/2026-08-13_mini_wham_event_timing.