一个能用方向键真实走动的最小"纯隐式世界模型",加上一份世界模型高热度论文的精读总结。 目标:用最少的代码,把"AI 在脑子里建一个可预测、可交互的世界"这件事讲清楚、玩起来。

左:真实环境 | 右:神经网络在 latent 空间"梦"出来的世界。你按方向键,走的是右边那个梦。
世界模型(World Model)的核心思想:让 AI 在内部建一个世界的"心智模型",从而能预测未来、并据此行动——就像棒球手能在 0.1 秒内预判球路。
这个仓库有两部分:
| 目录 | 内容 |
|---|---|
demo/ |
一个可玩的纯隐式世界模型 demo(PyTorch,约 400 行)。代码里没有任何坐标、没有撞墙判定——小人怎么走、撞墙会停、吃到金色目标后目标跳格,全部由神经网络在 latent 空间里"想象"出来。 |
papers/ |
9 篇世界模型高热度论文的精读总结(从 Ha & Schmidhuber 2018 到 Genie / Cosmos / V-JEPA 2 / 最新综述),附 arXiv 链接。见 papers/README。 |
cd demo
pip install torch numpy pillow imageio pygame-ce
python3 train.py # 1) 训练,Apple Silicon(MPS) 约 10 分钟,生成 model.pt
# python3 train.py --quick # 想先快速看效果
python3 play.py # 2) 交互游玩:方向键/WASD 移动,R 回起点,ESC 退出
python3 make_gif.py # 3) 生成"真实 vs 梦境"对比 GIF
python3 diag.py # 4) 诊断面板
⚠️ 训练好的权重model.pt(115MB)没有放进仓库(超 GitHub 单文件上限)。跑一次train.py即可生成,约 10 分钟。
| 网络 | 作用 |
|---|---|
| 编码器 Encoder (CNN) | 一帧画面 64×64×3 → 隐向量 z(96 维),把世界"压"进 latent |
| 隐式转移 Transition (GRU) | (z_t, 你按的方向) → z_{t+1},维护循环隐藏状态 h |
| 解码器 Decoder (MLP) | z → 一帧画面,需要时才"显影" |
游玩时只保留 z、h 和网络权重;房间从不以显式网格/坐标存在。你按方向键 → 动作喂给转移网络 → latent 里算出下一刻 z → 解码成画面。你就是在模型"梦"出来的世界里走路。
这是 Ha & Schmidhuber《World Models》(2018) 与 Dreamer / PlaNet 的最小教学版。详见 demo/README 与 demo/SPEC.md。
完整总结见 papers/README_世界模型论文总结.md,脉络一句话:
脑内做梦(Ha&Schmidhuber)→ 梦里通用学习(Dreamer)→ 视频即可交互世界(Genie / GameNGen)→ 面向物理世界的基础模型,生成 vs 非生成两条路线(Cosmos / V-JEPA 2)→ 综述与路线图指向 Gen-4 完整世界模型。
涵盖:World Models · DreamerV3 · Genie · GameNGen · NVIDIA Cosmos · Meta V-JEPA 2 · 三篇高热综述/路线图。
我在开源这个项目,想和对世界模型 / 具身智能 / 视频生成感兴趣的朋友一起交流学习。
微信:wzytg001 —— 欢迎加我,一起探讨世界模型 🙌
如果这个仓库对你有帮助,欢迎点个 ⭐ Star。
MIT · 论文版权归各自作者所有,本仓库只提供总结与 arXiv 链接,不再分发 PDF。