Why Robots Need to Dream · 为什么机器人需要「做梦」
第 1 章:为什么机器人需要「做梦」 · Why Robots Need to Dream
想象一个场景:一只小狗第一次见到楼梯。它并没有真正走上去尝试过,也没有读到任何关于「如何下楼梯」的说明书。它只是站在楼梯口,歪着脑袋,眼睛盯着台阶的高度,脑子里飞速运转了几秒钟。然后,它小心翼翼地把一只爪子探了出去。三次试探之后,它学会了走楼梯。
现在,请想象一个机器人面对同样的情境。它需要多少「试探」才能学会?一个典型的强化学习算法可能需要数十万次真实摔落才能学会一件小狗几秒钟就能学会的事情。这就是我们今天要面对的核心问题:为什么具身智能(embodied AI)必须学会「在脑海里试错」,而不是直接在真实世界里反复折腾?
这个问题的答案,将决定未来十年机器人、自动驾驶、以及任何需要与物理世界交互的 AI 系统的形态。本章将围绕一个核心概念展开:世界模型(World Model)——一种让智能体能够在内部进行「低成本模拟」的计算结构。我们会从三个层次推进这个问题:先理解为什么「纯软件 AI」的成功经验无法直接迁移到机器人;然后对比两条不同的技术路线;最后用两段可以亲手跑起来的代码,把抽象概念落到地面。
1.1 互联网数据与物理世界数据:一场不对称的战争 · The Great Asymmetry
过去十年,AI 领域最震撼人心的进展几乎都发生在一个非常特定的领域:对静态文本、图像、视频等「互联网原生数据」的建模。从 AlphaGo 到 GPT-4,从 Stable Diffusion 到 Gemini,模型规模、数据规模和算力规模三者同时飙升,产生了几乎令人窒息的指数增长曲线。2024 年公开数据显示,仅训练一次前沿大模型的算力成本就超过 1 亿美元,数据消耗量达到万亿 token 量级。
然而,当我们把目光转向机器人——一个真正需要「动手」的领域时,画风骤变。截至 2024 年,全球累计公开的机器人交互数据集(涵盖抓取、操作、移动等任务)仍然以「百万级」条记录计。这与文本领域的「万亿 token」之间,差了整整 10⁴ 到 10⁶ 倍 的数量级。
这不是偶然的,而是数据生成成本的结构性差异决定的。让我们把两种数据的「生产成本」放在一起对比:
| 维度 | 互联网文本/图像数据 | 机器人物理交互数据 | |------|------------------|------------------| | 单条数据生成成本 | ~$10⁻⁹(几乎为零) | ~$10⁻¹ 至 $10⁰(真实硬件损耗) | | 数据采集速度 | 理论无限(爬虫可扩展) | 受物理时间限制(受限于 24×7×硬件) | | 信息密度 | 低(高度冗余、噪声大) | 高(每条轨迹都包含连续物理状态) | | 安全约束 | 几乎无(离线收集) | 极强(可能损坏硬件/伤害人) | | 隐私/伦理风险 | 文本已有法律框架 | 机器人领域尚不完善 | | 数据可复用性 | 高(公开语料库) | 低(机器人硬件异构) |
这里有一个反直觉的细节:物理交互数据的「信息密度」其实更高——每一条轨迹都包含连续的状态、动作、感知流,时间分辨率通常为 10-100 Hz,每秒产生数十个相关的传感器样本。而一段文本虽然携带了高密度的人类知识,但它是「压缩过的」、「抽象过的」,并不是机器人可以直接执行的「第一性原理」知识。
所以问题的本质不在于「数据多还是少」,而在于:智能体能否在「数据量受限」的约束下,找到一种高效的学习范式? 这就是世界模型存在的根本理由。
1.1.1 样本效率:被忽略的核心瓶颈
在机器学习领域,「样本效率」(sample efficiency)指的是一个智能体达到某个性能水平所需要的「环境交互次数」。它是衡量学习算法是否「聪明」的硬指标。让我们看一个具体的对比实验(这组数字在文献中已经广泛被引用):
在 Atari Pong 游戏上:
- **人类玩家**:大约 200 局(每局几百帧)即可达到中等水平
- **DQN 等深度 RL 算法**:需要约 5×10⁵ 帧(即约 800 万步交互)
- **带世界模型的 DreamerV2**:约 10⁵ 帧即可达到 DQN 水平(提升约 5 倍)
在 MuJoCo 的 HalfCheetah(半猎豹)连续控制任务上:
- **SAC(model-free SOTA)**:约 10⁶ 步才能稳定收敛
- **DreamerV3(world-model-based)**:约 10⁵ 步即可达到同等水平(提升约 10 倍)
这些数字看上去只是 5-10 倍的差距,似乎并不戏剧化。但如果把场景换成真实机器人,情况会急剧恶化:
一个真实的机械臂抓取实验,每一次「试错」都需要:
- 物理执行时间(约 2-5 秒)
- 可能的硬件损耗(齿轮磨损、夹爪变形)
- 安全监控人员成本
- 数据采集与标注人工成本
折算下来,1 万次真实交互 ≈ 一个工程师一个月的全部工时。而要让一个现代视觉-语言-动作(VLA)模型真正泛化到「任意物体、任意摆放」,可能需要数十万到数百万次这样的交互。这意味着单台机器人、单个团队根本无法完成训练。这就是为什么 2024 年以来,以 Physical Intelligence、Skild AI、Tesla Optimus 为代表的公司都在疯狂囤积机器人车队——本质上是把「算力问题」转化为「物理数据问题」,再用规模化的硬件投入去暴力解决。
但这条路是有天花板的。硬件成本不会无限下降,物理世界的数据永远无法像文本那样被廉价复制。因此,我们必须寻找一种从根本上提升样本效率的算法路径。
1.1.2 安全约束:物理世界的「最后一公里」
除了样本效率,物理世界还多了一重文本世界根本不存在的约束:安全。
在大语言模型训练中,最坏的情况不过是模型输出一些「有毒文本」,我们可以用 RLHF 把它对齐掉。但在机器人训练中,「失败」的代价可能是:
- 价值几十万元的机械臂直接摔在地上
- 协作机器人在测试中撞伤人类工程师
- 自动驾驶车辆在 corner case 下造成真实事故
这导致了一个吊诡的局面:最需要学习能力的场景,往往是最不能承受失败的场景。人类驾驶员在驾校练车时,副驾驶必须有教练踩刹车——因为我们本能地知道,新手不能直接上路。
世界模型正是给机器人提供了「副驾驶教练」的功能:让智能体先在内部模拟大量「如果这样做了会怎样」的假设,再选择那些在模拟中看起来安全且高效的策略去执行。这并不是一个新想法——动物大脑中的前额叶皮层(prefrontal cortex)和基底神经节(basal ganglia)就构成了一个天然的世界模型与策略学习系统,几十亿年的进化早已把这种「先想后做」的范式内化到了我们的神经回路里。
1.2 LeCun 的预言:当「暴力学习」撞上物理墙 · LeCun's Prediction Argument
2023 年 6 月,Yann LeCun 在巴黎的 AI Action Summit 上做了一场非常尖锐的演讲。他提出一个后来被广泛引用的核心论点:
> 「一架商用喷气式飞机能在 30 秒内学会驾驶一架波音 737,而一个 17 岁的人类青少年需要大约 50 小时的飞行训练才能达到同样的熟练度。这中间的差距,正是当前 AI 系统与人类水平之间的差距。」
让我们翻译一下 LeCun 的论证:现代监督学习系统每获得一点新能力,往往需要数万到数十万个标注样本。而人类婴儿学会走路用了大约 100 万步(约 100 小时清醒时间),学会语言用了约 1000 万次「句子-语境」对应。但这背后有一个关键差别:人类并不是被动地接收「标签」,而是主动地在内部构建了对世界的预测模型。
LeCun 给出了一个粗略的「能量-信息」估算:
人类大脑的总能量消耗约 20 W。而训练一次 GPT-4 级别的模型,假设数据中心的 PUE(电能利用效率)为 1.5,仅训练阶段就要消耗大约 10 GWh 的电能——折算下来是人类大脑运行 5×10⁸ 小时 ≈ 57,000 年 的能量。
用人脑能量当量来衡量,GPT-4 的训练消耗相当于让一个人「活 57,000 年」才能积累起来的经验。然而在很多实际任务上,人类仍然比 GPT-4 更智能、更高效。这说明:当前范式存在巨大的能量-性能失配,单纯靠「堆数据 + 堆算力」的扩展定律(scaling law),是无法走到 AGI 的。
LeCun 因此提出 JEPA(Joint Embedding Predictive Architecture,联合嵌入预测架构)作为他的世界模型路线。核心思想是:
1. 不预测像素,而是预测抽象表征(embedding):让模型学习「下一时刻的语义表征」,而不是「下一时刻的图像像素」。这是因为高维像素空间中存在大量不可预测的细节(光线、纹理),强制预测它们会浪费模型容量。 2. 让世界模型成为自监督学习的核心组件:模型在「观察-预测-观察-再预测」的循环中自我进化,不需要人类提供显式标签。 3. 把规划(planning)作为推理的内置能力:智能体在内部模拟多条可能轨迹,从中选出最符合目标的那一条。
这与传统的「基于像素重建」的世界模型(如 Ha & Schmidhuber 2018 的 World Models、Dreamer 系列)形成了鲜明对比——后者通常要求模型能够从潜在状态「解码」出可观察的图像,强调「视觉保真度」。我们会在 1.3 节详细对比这两条路线。
1.2.1 一个具体的对比案例:物体掉落预测
为了直观说明「预测像素」与「预测表征」的区别,让我们看一个具体任务:观察一个物体在桌面上缓慢滑动,我们要预测它 1 秒后会在哪里。
基于像素的方法(pixel-based):
- 输入:当前帧 $I_t \in \mathbb{R}^{H \times W \times 3}$
- 输出:下一帧的像素 $\hat{I}_{t+1} \in \mathbb{R}^{H \times W \times 3}$
- 损失:MSE 损失 $\mathcal{L} = \| I_{t+1} - \hat{I}_{t+1} \|^2$
基于表征的方法(embedding-based):
- 输入:当前帧的视觉编码 $z_t = f_\theta(I_t) \in \mathbb{R}^d$
- 输出:下一时刻的表征 $\hat{z}_{t+1} = g_\phi(z_t, a_t) \in \mathbb{R}^d$
- 损失:在表征空间中对齐 $z_{t+1}$ 与 $\hat{z}_{t+1}$
直观上看,两者的目标都是「预测下一时刻」。但基于像素的方法在很多场景下会失败:物体表面的光照变化、阴影、背景纹理——这些「不可预测的细节」会占据模型大部分容量,导致模型在「物体真实位置」这种核心变量上反而预测不准。基于表征的方法则把这些「不可预测的细节」交给编码器去抽象掉,让世界模型专注于「位置、速度、姿态」这种「因果核心变量」。
可以用一个简单的数学框架来表达这一点。设真实状态为 $s_t \in \mathcal{S}$,观察为 $o_t \in \mathcal{O}$,世界模型为 $p_\theta(s_{t+1} | s_t, a_t)$。像素预测等价于要求模型学习 $p(o_{t+1} | o_t, a_t)$,这是一个从高维到高维的映射。而表征预测则等价于 $p(z_{t+1} | z_t, a_t)$,其中 $z_t = \text{enc}(o_t)$。从信息论角度看:
$$I(s_t; o_t) \leq H(s_t) \leq H(o_t)$$
也就是说,状态 $s$ 与观察 $o$ 之间的互信息永远不会超过状态本身的信息量。直接预测 $o$ 是「在更高维空间里做信息有损压缩」——必然引入噪声和浪费。
1.3 两条技术路线的分歧:LeCun 与 Ha 的世界观 · Two Roads Diverged
理解了世界模型的存在理由后,我们需要面对一个更具体的问题:世界模型到底应该长什么样?这个问题的答案在 AI 社区中存在显著分歧,主要可以归结为两条技术路线。
1.3.1 路线 A:Ha & Schmidhuber 的「生成式世界模型」
2018 年,David Ha 与 Jürgen Schmidhuber 发表了一篇后来极具影响力的论文:「World Models」(arXiv:1803.10122)。这篇论文的核心思路非常优雅:
> 把强化学习问题分解为三个独立的子问题: > 1. 视觉模型 V(Variational Autoencoder):把高维图像压缩为低维潜变量 $z_t$ > 2. 记忆/动力学模型 M(MDN-RNN):用混合密度循环神经网络预测 $z_{t+1}$ 与 $a_{t+1}$ 的分布 > 3. 控制器 C(Controller):一个简单线性策略,在潜空间中决策
整个框架的精妙之处在于:智能体可以在「梦境」(即在 M 生成的潜空间中模拟)里训练策略 C,而完全不需要真实环境交互。训练好的 C 直接部署到真实世界即可——因为 V 和 M 已经学会了环境的动力学。
这个范式的关键数学结构可以用如下流程图表示:
```mermaid flowchart LR obs[真实观察 o_t] --> v_enc[V: Encoder] v_enc --> z[潜变量 z_t] z --> m_pred[M: MDN-RNN] a[动作 a_t] --> m_pred m_pred --> z_next[预测 z_t+1] z --> ctrl[C: Controller] ctrl --> a_out[动作 a_t] z_next --> v_dec[V: Decoder 可选] v_dec --> dream[梦境图像 hat_o_t+1] ```
Dreamer 系列(DreamerV1/V2/V3)沿着这条路线不断推进:把 RNN 换成 Transformer,把 VAE 换成离散 latent(来自 VQ-VAE),把控制算法升级为「在潜空间里用 actor-critic 做想象训练」。2023 年的 DreamerV3 在 150 多个不同任务上达到了人类水平,使用的是完全相同的超参数——这是该范式「通用性」的强有力证据。
1.3.2 路线 B:LeCun 的「非生成式预测架构」(JEPA)
LeCun 的路线在哲学上与 Ha 截然不同。Ha 的核心假设是:只要潜变量 $z_t$ 足够好,世界模型就能从 $z_t$ 重建出 $o_t$。LeCun 则认为这个假设是错的:
> 「预测一张像素级准确的图像,与「理解」图像所代表的物理过程,是两件根本不同的事情。」
JEPA 的核心架构可以概括为:
$$\mathcal{L}_{\text{JEPA}} = \mathbb{E}_{(x,y)} \left[ D\left( f_y(y), g_\theta(f_x(x), a) \right) \right]$$
其中:
- $x, y$ 是两个时刻的观察(比如当前帧和下一帧)
- $f_x, f_y$ 是两个(可能共享权重的)编码器
- $g_\theta$ 是预测器,输入当前编码与动作,输出对下一时刻编码的预测
- $D$ 是某种距离度量(如 InfoNCE 的负对数似然)
关键点:JEPA 不需要从 $z_t$ 重建 $o_t$,它只关心「两个时刻的表征是否对齐」。这带来几个工程上的好处:
1. 避免像素级失真带来的梯度噪声:模型不需要为每一个像素的微小差异承担 loss 2. 可以处理高熵的未来:在多模态未来(一个动作可能产生多种合理结果)的情况下,生成式模型容易「平均化」输出,JEPA 则天然支持多模态 3. 与对比学习、自监督学习的现代范式契合
然而 JEPA 也有自己的工程难题:怎么训练? 由于没有「重建 loss」作为直接监督信号,JEPA 必须依赖辅助任务(如 VICReg、Barlow Twins 等防止表征坍缩的正则化方法)。这也是为什么 LeCun 在 2022-2024 年花费大量精力研究非对比自监督学习(Non-Contrastive SSL)的原因。
1.3.3 两条路线的现实选择
我们可以用一张简单的对比表来总结:
| 维度 | 生成式世界模型(Dreamer 系) | JEPA / 非生成式 | |------|---------------------------|----------------| | 训练目标 | 重构 + 预测潜变量 | 仅预测潜变量 | | 是否需要 decoder | 是(用于训练 + 可视化) | 否(节省算力) | | 多模态未来处理 | 较弱(倾向于平均化) | 强(天然支持) | | 工程成熟度 | 高(DreamerV3 已成熟) | 中(仍在快速演进) | | 与 LLM 结合的难度 | 中(潜空间语义不对齐) | 低(表征空间天然可对齐) | | 计算效率 | 中-高(需训练 decoder) | 高(只需 encoder+predictor) |
未来 13 章我们将看到,这两条路线在很多场合下会收敛——例如,2024 年的某些 V-JEPA(Video JEPA)工作已经显示,把 JEPA 与离散潜变量、Transformer 结合起来,可以在多个视频理解任务上击败生成式基线。但理解它们各自的动机与权衡,对于后续章节至关重要。
1.4 30 行 PyTorch 世界模型:从零搭建「一维弹球」 · A 30-Line PyTorch World Model
理论再多,不如一段能跑的代码。下面我们用 PyTorch 实现一个最小可行世界模型:一维空间中有一个粒子在左右两壁之间弹跳,我们的目标是学习一个模型,能够从当前 (位置, 速度) 预测下一时刻的 (位置, 速度)。
1.4.1 物理规则
设状态 $s_t = (x_t, v_t)$,其中 $x_t \in [0, 1]$ 是位置,$v_t \in [-1, 1]$ 是速度。动力学为:
$$x_{t+1} = x_t + v_t \cdot \Delta t + \frac{1}{2} a \Delta t^2$$
$$v_{t+1} = v_t + a \cdot \Delta t$$
当粒子碰到边界时($x_{t+1} < 0$ 或 $x_{t+1}