世界模型基础概念¶
学世界模型前,先把“状态、动作、未来预测、规划”这几个词放稳。否则很容易把它和普通视频生成、VLM 或传统仿真混在一起。
1. 什么是世界模型?¶
世界模型是智能体内部的一套预测机制。它回答三个问题:
- 我现在处在什么状态?
- 如果我采取动作 \(a_t\),环境会怎样变化?
- 这种未来对任务来说好不好?
用数学写:
或概率形式:
如果还预测观测和奖励:
其中 \(c_t\) 常表示 episode 是否继续。
1.1 一个最小例子¶
假设小车在一条直线上运动:
真实物理可能是:
如果我们不知道这个公式,就可以用神经网络学习:
这就是最朴素的世界模型。机器人和游戏只是把状态从二维小向量换成了图像、语言、关节角、地图、历史记忆等复杂输入。
1.2 世界模型和策略的关系¶
世界模型不是策略本身:
| 组件 | 回答的问题 |
|---|---|
| 世界模型 | 如果这样做,未来会怎样? |
| 奖励/价值模型 | 这个未来好不好? |
| 规划器/策略 | 我现在应该做什么? |
它们常常组合成:
也可以组合成 Dreamer 风格:
2. MDP 与 POMDP¶
2.1 MDP¶
强化学习常用 MDP(Markov Decision Process)描述环境:
| 元素 | 含义 |
|---|---|
| \(S\) | 状态空间 |
| \(A\) | 动作空间 |
| $P(s' | s,a)$ |
| \(R(s,a)\) | 奖励函数 |
| \(\gamma\) | 折扣因子 |
如果状态 \(s_t\) 已经包含决策所需的全部信息,那么未来只依赖当前状态和动作:
这就是马尔可夫性。
2.2 POMDP¶
真实机器人和游戏通常是 POMDP:智能体只能看到部分观测 \(o_t\),而不是完整状态 \(s_t\)。
例如机械臂相机看到杯子正面,但看不到杯子背后是否有遮挡。世界模型需要用历史观测估计一个 belief state:
直觉上,belief state 是“根据我目前看到和做过的事情,我相信世界大概是什么样”。
3. Model-Free vs Model-Based¶
| 方法 | 学什么 | 怎么选动作 |
|---|---|---|
| Model-Free RL | 直接学策略或价值函数 | 直接执行 $\pi(a |
| Model-Based RL | 学环境动力学模型 | 在模型里预测未来再决策 |
model-free 像是“熟能生巧”,model-based 像是“先在脑子里演算一下”。
世界模型属于 model-based 思路,但现代方法常常把两者结合:
- 用世界模型想象未来轨迹。
- 在想象轨迹上训练 actor-critic。
- 执行时策略可以直接出动作,也可以再加 MPC 搜索。
4. 世界模型学习什么?¶
4.1 转移模型¶
预测状态如何变化:
这是世界模型的核心。
转移模型有两种常见形式:
| 形式 | 写法 | 适合 |
|---|---|---|
| 确定性 | \(\hat{s}_{t+1}=f_\theta(s_t,a_t)\) | 简单低维环境、物理较稳定 |
| 随机性 | \(s_{t+1}\sim p_\theta(s_{t+1}\mid s_t,a_t)\) | 图像、真实世界、多未来、不确定环境 |
真实环境通常是随机或部分可观测的。比如同样推一个杯子,杯子可能滑动、倾倒或被桌面摩擦卡住。
4.2 观测模型¶
从内部状态重建观测:
如果观测是图像,观测模型就是图像解码器。Dreamer 等方法会用它辅助训练 latent state。
4.3 奖励模型¶
预测动作后会得到多少奖励:
规划时不一定需要预测像素,但通常需要预测奖励或价值。
4.4 终止模型¶
预测 episode 是否结束:
比如游戏角色死亡、机器人任务完成或环境超时。
4.5 表征模型¶
当观测是图像时,模型通常不会直接把整张图当状态,而是先编码成 latent state:
一个好的 \(z_t\) 应该保留:
- 物体位置和速度。
- 机器人或智能体自身状态。
- 与任务相关的接触、遮挡、目标信息。
- 足够预测未来的历史记忆。
它不一定要保留:
- 背景纹理的每个细节。
- 无关物体的精确外观。
- 对奖励和动作无影响的噪声。
5. 像素空间 vs 隐空间¶
像素空间预测¶
直接预测未来图像:
优点:
- 结果直观,可视化容易。
- 可以作为交互式模拟器。
缺点:
- 未来有大量不确定细节。
- 预测每个像素很贵。
- 像素误差不一定等于决策误差。
隐空间预测¶
先编码:
再预测:
优点:
- 更紧凑。
- 更容易长期 rollout。
- 可以保留任务相关信息,忽略无关纹理。
缺点:
- 隐空间是否真的可用于决策,需要额外验证。
- 不一定能生成可检查的真实画面。
6. 训练目标¶
常见损失包括:
| 损失 | 目的 |
|---|---|
| 重建损失 | 让 latent state 保留观测信息 |
| 转移损失 | 让模型预测下一状态 |
| 奖励损失 | 让模型支持任务规划 |
| KL 损失 | 约束随机 latent 分布 |
| 对比/表征损失 | 学到稳定、有语义的表示 |
| JEPA 预测损失 | 预测未来 embedding |
| diffusion/flow 损失 | 学习生成连续未来轨迹或视频 |
预测目标要服务决策
世界模型不是为了把每个像素预测得漂亮,而是为了让智能体能选出更好的动作。漂亮视频不一定等于好策略。
6.1 一步预测损失¶
最简单训练方式是 one-step prediction:
如果预测奖励:
优点是简单稳定,缺点是只保证一步准,不保证多步 rollout 准。
6.2 多步预测损失¶
让模型从 \(s_t\) 开始连续滚动预测:
然后对多个未来状态一起计算误差:
这更接近规划需要,但训练更难,因为误差会在计算图中连续传递。
6.3 Teacher Forcing vs 自回归 Rollout¶
训练时常见 teacher forcing:
规划时是自回归 rollout:
这两者不一致,会导致训练看起来很好,实际多步预测崩掉。
6.4 概率模型的负对数似然¶
如果模型输出一个分布,例如高斯:
训练可以最小化负对数似然:
它不仅让均值接近真实未来,也让模型学习“不确定性有多大”。
7. 世界模型的核心难点¶
7.1 误差累积¶
一步预测误差很小,多步 rollout 后可能变大:
这就是 compounding error。
7.2 分布偏移¶
模型训练时看到的是数据集里的动作;规划时可能尝试数据外动作,预测会不可靠。
7.3 多未来¶
同一个状态和动作可能有多种未来。例如球被撞后可能向左滚,也可能被挡住。确定性模型容易平均出模糊结果。
7.4 不确定性¶
世界模型应该知道“我不知道”。常见方法包括 ensemble、概率 latent、dropout 或显式 uncertainty head。
不确定性可以分成两类:
| 类型 | 来源 | 例子 | 怎么缓解 |
|---|---|---|---|
| Aleatoric | 世界本身随机 | 球碰撞后有多种可能反弹 | 输出概率分布 |
| Epistemic | 数据不够,模型不知道 | 从未见过这个动作 | ensemble、收集更多数据 |
规划时尤其要警惕 epistemic uncertainty。模型没见过的动作可能被错误预测成“高奖励捷径”。
7.5 因果与可控性¶
一个好世界模型不只是生成合理画面,还要对动作有正确因果响应:
8. 判断一个模型是不是世界模型¶
可以问五个问题:
- 它是否有内部状态或表征?
- 它是否预测未来?
- 它是否以动作作为条件?
- 它是否能支持规划或策略学习?
- 它是否在长期 rollout 中保持一致?
满足越多,就越接近“可用于智能体决策”的世界模型。
9. 新手必须掌握的最小闭环¶
如果只记一个公式闭环,记这个:
收集数据 D = (s_t, a_t, s_{t+1}, r_t)
训练模型 fθ(s_t, a_t) -> s_{t+1}, r_t
在模型里尝试很多动作序列
选预测回报最高的动作
执行第一个动作
重新观察并重复
这就是从“会预测”到“会决策”的最小世界模型。