When Robots Dream — 什么是世界模型与具身智能? / When Robots Dream: An Introduction to World Models and Embodied AI
第一章:当机器人开始做梦 —— 世界模型与具身智能的诞生
> "If you want to make a machine that is intelligent, you have to give it a body." > —— Rodney Brooks, 麻省理工学院教授,《Cambrian Intelligence》作者
想象这样一个场景:J.A.R.V.I.S. 在托尼·史塔克的实验室里,精确地预判了爆炸的扩散路径,并在 0.3 秒内为他规划了逃生路线;Wall-E 在荒芜的地球上把一块垃圾轻轻放进口袋,"想象" 它被压成方块后的样子;Baymax 用手指轻轻一点,感知到了伤者的疼痛来源——它从没有真正"摸到"过那根断裂的肋骨。这三部电影里的"智能",都有一个共同特征:它们不是"看"世界,而是"在内部"模拟世界、推演后果,然后才行动。
这正是 2020 年代 AI 领域最激动人心的范式跃迁——具身智能(Embodied AI) 与 世界模型(World Model)。在 GPT-4、Claude、DeepSeek 这些语言模型席卷全球的同时,另一股更安静却更深刻的力量正在崛起:让 AI 不只是"思考语言",而是真正"在脑中预演"物理世界。这意味着它能像你玩《我的世界》前在脑子里先走一遍迷宫一样,在采取任何动作之前,先在内部"过一遍电影"。
本章,我们将用三个层次的递进,回答三个层层深入的问题:
1. 为什么 AI 需要"身体"?——从符号主义到深度学习再到具身智能的三次范式转移,以及背后的具身认知理论(Embodied Cognition)。 2. 世界模型到底是什么?——一个形式化的定义、与 GPT/Diffusion Model 的本质区别,以及它如何让机器人"脑内预演"。 3. 现在到了什么阶段?——2024–2026 年最具代表性的具身 AI 系统:RT-2、π₀、Helix、Genie 2、NVIDIA GR00T,并预告全书的 15 章冒险。
让我们从一段简短却震撼的物理直觉开始。
---
1.1 智能的三次转身:从符号到身体
人工智能的 70 年历史,可以被浓缩为三次范式转移。每一次转移,我们对"什么是智能"这个根本问题的回答都不一样。
1.1.1 第一次转身:符号主义(Symbolic AI, 1956–1990)
1956 年达特茅斯会议之后,AI 的开山祖师们——John McCarthy、Marvin Minsky、Allen Newell、Herbert Simon——提出了一个极为大胆的假设:
> 智能 = 对符号的逻辑操作。
如果一台计算机能像数学家一样操纵 `IF-THEN` 规则、证明定理、规划下棋步骤,那它就拥有了"思维"。这一时期的代表作是 Logic Theorist(1956)、SHRDLU(1968,能用自然语言指挥一个虚拟方块世界)、专家系统(MYCIN, 1970s,能诊断血液感染)。
但符号主义很快撞上了两面墙:
- **脆弱性问题(Brittleness)**:专家系统只能在"它被设计过的领域"工作。一旦输入稍有偏差,系统立刻崩溃——它不理解"语义",只理解"符号"。
- **框架问题(Frame Problem)**:在一个有 10 个物体的世界里,"拿起茶杯"涉及的状态变化可能多达数千种,符号系统需要手动枚举每一种可能——这在物理世界中完全不可行。
更致命的是,符号主义完全忽略了"身体"。它假设智能可以漂浮在真空中,像纯数学一样存在。但 1986 年,一位叫 Rodney Brooks 的年轻澳大利亚学者在论文 *Elephants Don't Play Chess* 中提出了一个尖锐的批评:
> "The world is its own best model. It is always up to date. It always has every detail. The trick is to sense it appropriately and often enough."
(大千世界本身就是最好的模型,它永远最新、永远包含所有细节。诀窍是足够频繁、恰当地去感知它。)
布鲁斯认为,与其让机器在内部构建完美的世界符号,不如让它们通过身体与环境的实时交互来"涌现"智能。这一思想后来在 iRobot Roomba 扫地机器人上被验证——它没有地图,没有符号推理,却能优雅地清理整个房间。
1.1.2 第二次转身:深度学习(Deep Learning, 2012–2020)
2012 年,AlexNet 在 ImageNet 图像识别竞赛中以 10.8 个百分点的优势击败所有传统方法——这被视作深度学习的"寒武纪大爆发"。从此,AI 进入了数据驱动时代:
- **2014**:GAN(生成对抗网络)让机器能"画"出新图像。
- **2017**:Transformer 架构诞生(*Attention is All You Need*),为后来所有的语言模型奠定基础。
- **2018–2020**:BERT、GPT-2/3、AlphaGo Zero、AlphaStar、Dota 2 Five——AI 在语言、游戏、棋类上相继击败人类顶级选手。
深度学习解决了符号主义的"脆弱性"问题:神经网络能从海量数据中自动学习特征,不再需要人类手工编写规则。但它引入了新的盲点:
> 深度学习擅长"识别"和"生成",但几乎不擅长"推演因果"。
GPT-4 能写出关于抛物运动的优美物理小论文,却可能算不出一道简单的高中物理题。它"知道"苹果会掉下来,但它不理解为什么——它从未真正"感受"过重力。
这就是著名的 Moravec 悖论(1988,由 Hans Moravec 提出):
> "It is comparatively easy to make a computer display adult-level performance on intelligence tests or play checkers at a master level, and difficult or impossible to give it the skills of a one-year-old when it comes to perception and mobility."
(让计算机在智力测试或国际跳棋上达到成人水平,相对容易;但让它具备一岁婴儿的感知和运动能力,却异常困难。)
换句话说:真正"难"的不是逻辑推理,而是我们人类与生俱来的、与身体绑定的常识物理。
1.1.3 第三次转身:具身智能(Embodied AI, 2020–)
2020 年代,AI 研究者意识到:如果要让机器真正"理解"世界,它必须拥有一个身体——哪怕是虚拟的。
这一次的范式转移有三条主线:
1. 大语言模型(LLM)作为"大脑":让 GPT-4、Claude 这类模型充当高层推理与规划引擎。 2. 视觉-语言-动作模型(VLA, Vision-Language-Action Model):把"看"、"理解"、"动作"统一在一个神经网络里(如 Google RT-2、π₀)。 3. 世界模型(World Model):让机器在内部"模拟"一个完整的物理世界,并在这个模拟中"练习"动作(如 Genie 2、GAIA-1、Sora 等视频生成模型在物理一致性上的延伸)。
1.1.4 具身认知理论:智能的"肉身"
为什么"身体"对智能至关重要?这背后有严肃的认知科学理论支撑。1991 年,哲学家 Alva Noë 在 *Vision: A Computational Investigation* 中提出"知觉依赖于感觉运动知识"(sensorimotor knowledge);1996 年,机器人学家 Rolf Pfeifer 和计算机科学家 Josh Bongard 在经典教材 *How the Body Shapes the Way We Think* 中正式提出具身认知(Embodied Cognition) 六大原则。我们提炼出对青少年最友好的三个核心论点:
论点一:认知是身体与环境的耦合(Coupling)。 你之所以能精准地接住飞来的篮球,不是因为你脑中有 1/48 秒的轨迹预测公式,而是因为你的手、眼睛、大脑、肌肉形成了一个实时的反馈回路。把大脑从身体上剥离,这种能力立刻消失。
论点二:环境是认知的一部分(Environment as Part of Cognition)。 章鱼有 5 亿个神经元,其中 2/3 分布在八条腿上。它的"智能"分散在身体和环境中——腿本身就是"思考者"。智能不一定非要在"头"里。
论点三:行动先于理解(Action Precedes Understanding)。 婴儿不需要先学"重力理论"才会爬。他们通过无数次的跌倒-调整建立对世界的内在模型。这是一种"先做后懂"的智能——与 GPT 的"先懂后做"形成鲜明对比。
为了直观对比三次范式转移,我们用一张 Mermaid 图来展示:
```mermaid flowchart LR A["Symbolic AI<br/>1956-1990<br/>Logic, Rules"] --> B["Deep Learning<br/>2012-2020<br/>CNN, RNN, Transformer"] B --> C["Embodied AI<br/>2020-<br/>VLA + World Model"] A -.->|ignored body| D[("The World")] B -.->|no causality| D C -->|sense-act loop| D C -->|internal simulation| E["Mental Rehearsal<br/>Mental Rehearsal"] ```
> 图 1.1:AI 三次范式转移。前两次都"绕过"了物理世界,第三次则主动拥抱它,并引入了"脑内预演"。
到这里,你也许会问:"那具身 AI 的'大脑'到底长什么样?"
答案是一个叫 世界模型(World Model) 的东西。下一节,我们将用数学与代码双重视角,把这个概念彻底拆开。
---
1.2 当机器学会"脑内预演":世界模型的形式化定义
1.2.1 一个直觉:开车时的"脑内小剧场"
假设你正以 80 km/h 的速度在高速公路上行驶,前方 50 米有一辆慢车。你没有立刻刹车,而是轻点刹车、微微转向、然后稳住方向盘。这 0.5 秒里,你的脑子里发生了什么?
神经科学家称之为 Mental Simulation(心智模拟) 或 Prospection(前瞻):
1. 你"看见"了未来 1 秒的车流分布。 2. 你"评估"了几种可能的动作:急刹、变道、保持。 3. 你"选择"了最优策略,并执行。
这个过程,AI 把它形式化为一个数学对象——世界模型。
1.2.2 形式化定义:一个概率分布的近似
在强化学习(RL)与控制理论中,环境(Environment)的动力学可以用一个马尔可夫决策过程(MDP, Markov Decision Process) 来描述。给定当前状态 $s_t$ 和动作 $a_t$,下一个状态 $s_{t+1}$ 和奖励 $r_{t+1}$ 由一个未知的转移函数决定:
$$p^*(s_{t+1}, r_{t+1} \mid s_t, a_t)$$
其中:
- $s_t$:智能体在时间 $t$ 感知到的状态(state),可以是一张 RGB 图像、一个点云、或者一个向量。
- $a_t$:智能体执行的动作(action),比如机械臂的关节角度指令、轮式机器人的速度向量。
- $s_{t+1}$:下一时刻的状态。
- $r_{t+1}$:环境给出的奖励(reward),如"是否成功抓取物体"。
- $p^*(\cdot)$:真实环境的转移概率,**我们不知道它的解析形式**。
世界模型,就是对这个未知函数 $p^*(\cdot)$ 的可学习近似。我们用 $\hat{p}_\theta(\cdot)$ 表示,其中 $\theta$ 是神经网络的参数(可能有上亿个):
$$\hat{p}_\theta(s_{t+1}, r_{t+1} \mid s_t, a_t) \approx p^*(s_{t+1}, r_{t+1} \mid s_t, a_t)$$
这个近似的训练方式是:收集大量 $(s_t, a_t, s_{t+1}, r_{t+1})$ 数据,然后用最大似然估计(MLE) 调整 $\theta$,使得模型在已知数据上的概率最大:
$$\theta^* = \arg\max_\theta \sum_{i=1}^{N} \log \hat{p}_\theta(s_{t+1}^{(i)}, r_{t+1}^{(i)} \mid s_t^{(i)}, a_t^{(i)})$$
一旦 $\hat{p}_\theta$ 被训练好,它就能回答无数个"what if"问题:
- "如果我现在把机械臂向右移动 5 厘米,物体会怎样?"
- "如果我从这辆车的侧面撞击,行人会受伤吗?"
- "如果我把水温调高 2 度,化学反应速率会变化多少?"
而完全不需要在真实世界中执行这些动作。这就是"脑内预演"的本质。
1.2.3 关键区分:世界模型 vs. 语言模型 vs. 视频生成模型
很多读者会问:"ChatGPT 不是也能'想象'未来吗?""Sora 不是能生成未来视频吗?"——它们和世界模型有什么本质区别?
我们用一个表格清晰对比:
| 维度 | 语言模型(GPT) | 视频生成模型(Sora/Genie 2) | 世界模型(World Model) | |---|---|---|---| | 输入 | 文本 token | 文本或图像 | 当前状态 $s_t$ + 动作 $a_t$ | | 输出 | 下一个 token 的概率分布 | 下一段视频帧 | 下一状态 $s_{t+1}$ 和奖励 $r_{t+1}$ | | 是否建模动作 | ❌ 不建模(动作隐含在"对话"中) | ❌ 不建模(生成不可控) | ✅ 显式建模 $a_t$ 的影响 | | 是否建模物理因果 | ⚠️ 仅在语言层面"知道" | ⚠️ 通过像素分布隐式学习 | ✅ 显式建模 $p(s_{t+1} \mid s_t, a_t)$ | | 是否可"反事实推理" | ❌ 不能回答"如果…会怎样" | ❌ 不能精确控制中间变量 | ✅ 可以遍历动作空间 | | 典型用途 | 聊天、写作、代码 | 视频创作、游戏生成 | 机器人规划、自动驾驶、RL 训练 |
最关键的一行是:世界模型必须把"动作"作为一等公民。你给它一个动作,它才告诉你未来;这是"控制",不是"生成"。
举一个生活化的例子。假设你正在玩《塞尔达传说》:
- **语言模型**像一本攻略书:它告诉你"在这个 BOSS 战中,先闪避再反击"。
- **视频生成模型**像一台游戏录播机:它能"播放"未来几秒的画面,但你不一定能控制林克的动作。
- **世界模型**像你脑中的"预演":你按 B 键,它就告诉你林克会挥剑;你按 A 键,它就告诉你林克会翻滚。它**严格遵守你的动作指令**。
1.2.4 一个极简的世界模型:PyTorch 实现
为了让概念落地,我们用 30 行 PyTorch 代码实现一个最简单的"世界模型"——预测一维小球的下一位置。
物理设定:小球在无摩擦的水平面上运动,状态 $s_t = (x_t, v_t)$(位置 + 速度),动作 $a_t$ 是施加的加速度。真实的物理方程是:
$$x_{t+1} = x_t + v_t \cdot \Delta t + \frac{1}{2} a_t \cdot \Delta t^2$$ $$v_{t+1} = v_t + a_t \cdot \Delta t$$
我们假装不知道这个方程,让神经网络去"猜"。
```python import torch import torch.nn as nn
class TinyWorldModel(nn.Module): """ 一个超简化的世界模型: 输入 (x_t, v_t, a_t),输出 (x_{t+1}, v_{t+1}) """ def __init__(self, hidden=64): super().__init__() self.net = nn.Sequential( nn.Linear(3, hidden), # 输入: x, v, a nn.ReLU(), nn.Linear(hidden, hidden), nn.ReLU(), nn.Linear(hidden, 2) # 输出: x_next, v_next )
def forward(self, x, v, a): inp = torch.cat([x, v, a], dim=-1) return self.net(inp)
---- 1. 收集数据(从真实物理引擎) ----
def rollout_physics(n_steps=1000, dt=0.1): """模拟小球的真实运动""" x, v = 0.0, 0.0 data = [] for t in range(n_steps): a = torch.randn(1, 1) * 0.5 # 随机动作 x_next = x + v * dt + 0.5 * a * dt**2 v_next = v + a * dt data.append((x, v, a.item(), x_next.item(), v_next.item())) x, v = x_next.item(), v_next.item() ret