为什么 AI 需要一个'内心世界'?从模式识别到具身智能的范式跃迁 / Why AI Needs an Inner World
第 1 章 为什么 AI 需要一个"内心世界"?从模式识别到具身智能的范式跃迁
Why AI Needs an Inner World: From Pattern Recognition to Embodied Intelligence
---
2023 年的某个深夜,一个研究者在推特上发布了一段视频。视频里,GPT-4 被要求用 Python 画一只"皮卡丘"。模型给出了 70 行看起来很专业的代码,运行之后,画面上出现了一只轮廓诡异、配色混乱、谁也认不出来的生物。评论区一片欢乐。有人调侃:连幼儿园小孩都能一眼认出皮卡丘,GPT-4 却不行。
这不是个案。我们这个时代的 AI 拥有惊人的"知识量",却在最基础的"常识"面前屡屡翻车——把镜子里的物体当成两个、弄不清"左转之后立刻右转"会不会回到原点、推桌子时不会想到桌腿底下可能还有一只猫。这些失误指向同一个核心问题:当一个系统只能"看见"而不能"模拟"时,它就无法真正"理解"。
本章要回答一个根本性的问题:为什么仅仅"识别"已经不够了?AI 真的需要在自己的"内心"搭建一个世界吗?如果需要,那个世界长什么样?
我们将沿着这条线索展开一次跨越模式识别(Pattern Recognition)、决策理论(Decision Theory)、认知科学(Cognitive Science)的小型思想旅行,最终落回到三个让这个领域"炸开锅"的工程案例:DeepMind 的 Dreamer、OpenAI 训练五指机械手解魔方的 Dactyl、以及 Figure 01 那台能跟工程师对话的人形机器人。
让我们开始。
---
1.1 模式识别时代的辉煌与它的"天花板"
The Triumph and the Ceiling of Pattern Recognition
要理解"为什么要超越模式识别",我们得先承认一件事:模式识别是过去十年 AI 最伟大的成就,没有之一。
时间退回到 2012 年。在那一年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)上,Geoffrey Hinton 的学生 Alex Krizhevsky 用一个名为 AlexNet 的深度卷积神经网络(CNN),把图像分类的错误率从 26% 一口气砸到了 16%。这个看似只减少 10 个百分点的成绩,在当时看来是"奇迹"——因为它意味着机器首次在大规模物体识别上接近了人类水平。
AlexNet 之后十年,整个领域进入了"暴力美学"时代:更大的模型(GoogLeNet、ResNet、EfficientNet),更多的数据(从百万张图到十亿张图),更多的算力(数千块 GPU 训练数周)。结果是——在静态图像分类这个任务上,AI 已经稳定超越人类。截至 2021 年,ImageNet 上的 Top-5 错误率已被压到低于 4%,而人类标注员大约是 5%。
自然语言处理(NLP)走了几乎完全一样的轨迹。2017 年 Google 提出 Transformer 架构,2018 年 BERT 横空出世,2020 年 GPT-3 用 1750 亿参数把语言模型的尺度推上了新量级。到 2022 年底 ChatGPT 发布时,机器已经能写邮件、写代码、写诗、写学术论文(虽然常常幻觉)。
但当我们把目光从这些"胜利榜单"移开,看向真实的物理世界时,故事就完全不同了。
1.1.1 三个让人"出戏"的失败案例
Three Failure Cases That Break the Illusion
案例一:自动驾驶的"施工锥桶"困境。2022 年,美国国家公路交通安全管理局(NHTSA)调查了多起特斯拉 Autopilot 在遇到施工区锥桶(traffic cone)时的事故。系统在车道线清晰、天气良好的情况下,依然会把锥桶构成的"变道引导线"误识别为可行驶区域,甚至在某些场景下完全忽视锥筒的存在。问题出在哪?训练数据里"完整的施工区"样本很多,但"一半锥桶被前车挡住"、"逆光下的橙色锥桶"、"锥桶倒了一半"这样的边角案例(edge cases)几乎没有。一个纯粹的模式识别系统,对训练分布之外的样本毫无抵抗力。
案例二:机器人摔倒的著名视频。波士顿动力(Boston Dynamics)的 Atlas 已经能在跑酷中完成翻越、后空翻,但即便如此,在非结构化环境(unstructured environment)里——比如一块被雨打湿的草地、一个突然出现的小孩、一段松动的台阶——机器人摔倒的视频仍然在社交媒体上广为流传。为什么会摔?因为这些机器人采用的是基于模型预测控制(MPC)+ 反应式反馈的混合系统,本质上仍然是"看到-反应",而非"预测-规划"。
案例三:GPT-4 的"反事实"无能。如果你问 GPT-4:"把鸡蛋从桌子上推下去会发生什么?"它会给你一段漂亮的文字描述。但如果你接着追问:"如果桌子是软的,鸡蛋是钢做的,会发生什么?"模型就开始胡说八道——因为它从来没有"在脑海里推演"过这件事。它只是在文本统计上做插值。
这三个看似无关的例子,背后其实是同一个症结:模式识别范式处理的是"给定输入,输出标签"的映射问题,而真实世界要求的是"在时间中行动,根据后果调整"的决策问题。
1.1.2 一个简单的对比表
A Simple Comparison
| 能力维度 | 模式识别模型(Pattern Recognition) | 真实世界需求(Real-world Need) | |---|---|---| | 输入 | 静态图片、一段语音、一段文字 | 连续的、不可重放的时序流 | | 输出 | 一次性标签 / 一次性文本 | 持续的动作序列 | | 时间 | 通常不需要时间维度 | 必须有"记忆"和"前瞻" | | 因果 | 仅靠统计相关性 | 需要因果与反事实推理 | | 训练信号 | 监督标签 / 人类反馈 | 延迟回报、环境反馈 | | 失败模式 | 分布外样本灾难性失效 | 物理损伤、不可逆成本 |
理解这张表的关键在最后一行:模式识别的失败是"答错题",决策系统的失败是"闯大祸"。代价是不同量级的。
1.1.3 为什么"识图冠军"不等于"世界冠军"
Why ImageNet Champion ≠ World Champion
仔细分析,模式识别范式有三个根本性局限:
第一,它默认了一个"封闭世界"假设。训练集和测试集独立同分布(i.i.d.)是机器学习的基石。但真实世界不是测试集。一个自动驾驶模型哪怕见过十亿张交通标志图片,也永远不可能见过今天某个小城中刚被放上去的临时指示牌。
第二,它不维护"状态"。图像分类器每次前向传播都是独立的——上一秒看到的是猫还是狗,与下一秒无关。但智能体(agent)必须在时间中保持对自身的认知:"我现在在哪?我的油还有多少?我刚才做了什么?"这些关于"状态"的记忆,是模式识别框架里完全缺失的。
第三,它缺乏"行动"维度。模式识别系统没有"作为"。它只是被动地接收输入、给出输出。但智能体必须选择动作(action),而每一个动作都会永久改变世界的状态。这条因果链无法靠识别来闭合。
这三个局限放在一起,几乎就是 1980 年代以来强化学习(Reinforcement Learning)和控制理论(Control Theory)试图解决的同一组问题。但在深度学习时代之前,这些问题都因为维度灾难(curse of dimensionality)而难以被用在高维感知输入(如图像)上。
直到 2015 年左右,深度神经网络强大到可以用来学习这些问题的解,而不是手工建模——世界模型才真正走上舞台。但在我们跳跃到"世界模型"之前,必须先建立一些共同语言。
---
1.2 决策的数学语言:从 MDP 到 POMDP 的直觉式解释
The Mathematical Language of Decisions: MDP and POMDP, Intuitively
1.2.1 为什么需要数学?为什么要从 MDP 开始?
Why Math, and Why Start with MDP
如果你和一个做机器人或控制理论的人聊天,前五分钟他就会开始说"S_A"、"R(s,a)"、"T(s,a,s')"这些看起来反人类的符号。MDP 是这套行话的核心。如果你想读懂任何关于世界模型或具身智能的论文,MDP 是绕不过去的入门券。
但好消息是,MDP 的核心直觉,其实极其简单。
想象你在下国际象棋。每次你走完一步,对手会走一步,盘面就变了。这个盘面——所有的棋子位置、是红方还是黑方的回合——就是状态(state, s)。你可以选择的每一步移动,就是动作(action, a)。你走完一步,棋盘从 s 变成 s',这就是状态转移(transition)。如果你把对方的王将死了,你会得到一分(reward);如果你走了一步臭棋,可能未来会丢分,这种延迟的评分就是回报(reward, r)。
马尔可夫决策过程(Markov Decision Process, MDP)就是这个游戏规则的数学抽象。它由五个要素组成:
- 状态空间 S:所有可能的世界状况
- 动作空间 A:智能体可以做的事
- 状态转移函数 T(s, a, s'):在状态 s 采取动作 a,会到达 s' 的概率
- 回报函数 R(s, a, s'):这次转移得到了多少分
- 折扣因子 γ(0 < γ ≤ 1):越远的回报打折越厉害
"马尔可夫"这个词的意思其实很弱:未来只依赖于现在,不依赖于过去。也就是说,只要知道了当前状态 s,过去发生的事都可以"丢掉"——未来的统计性质已经完全被 s 决定。这是一个工程上的大胆简化,但惊人的是,这个简化在很多问题里都成立或近似成立。
智能体在 MDP 中的目标是找到一个策略(policy)π(a|s),使得它从任何起点开始,长期累积回报的期望最大化。这正是"决策"的精确含义。
1.2.2 当世界"被遮住":POMDP
When the World is Hidden: POMDP
MDP 有一个隐藏的强假设:智能体能完整观测到状态 s。下棋时你能看到全部棋子,所以这个假设成立。但机器人能看清所有细节吗?自动驾驶车能看见被前车挡住的行人吗?显然不能。
为了处理这种情况,研究者引入了部分可观察马尔可夫决策过程(Partially Observable MDP, POMDP)。在 POMDP 里:
- 真实状态仍然是 s,但**智能体拿不到**
- 它只能拿到**观测(observation, o)**,这是真实状态经过某个"观测函数"O(s', o) 过滤后的产物
POMDP 立即引出了一个关键推论:智能体必须维护一个关于"我现在到底在哪个状态"的信念。这个信念通常用一个概率分布 b(s) 表示,叫做信念状态(belief state)。
直觉上,这就像一个人摸黑走在一个陌生的房间里。他只能摸到眼前这一小片——这就是 o。但他的脑子里必须不断地更新自己对"我在哪、门在哪、墙在哪"的猜测——这就是 b(s)。世界模型,本质上正是用来维护和预测这个 b(s) 的工具。
1.2.3 一个家庭煮饭的例子
A Kitchen Example
为了把这些抽象概念落到地面上,我们用一个煮饭的例子。
MDP 版本:你开了灯,看得见整个厨房。你知道电饭煲在哪(状态 完整可观察)。你的策略可能很简单:走到电饭煲前,按下开关,动作结束,回报 +1(饭熟了)。这是一个"看见→动作"的反应式系统。
POMDP 版本:你闭着眼睛煮饭。你只能感觉到温度("摸到电饭煲外壳烫了"),听到声音("米饭蒸到一半的'咕嘟'声")。你必须靠这些不完整的观测推断电饭煲现在处于"保温"、"正在加热"、还是"还没启动"。然后决定下一步动作。
你会怎么做?你会在脑子里构建一个"电饭煲的小模型":它有几个状态、温度曲线大概什么形状、根据听到的声音推测当前状态、预测不同动作的后果。这个小模型,就是世界模型。
任何长期在物理世界中行动的智能体,无论是人还是机器人,都在不停地运行着某种"内心模拟器"。
1.2.4 一个形式化的对照
A Formal Side-by-Side
为了后续阅读论文方便,这里给出数学上的标准定义(仅作参考,不必死记):
```latex \textbf{MDP:} \quad \langle S, A, T, R, \gamma \rangle
\quad T: S \times A \times S \rightarrow [0,1], \quad T(s,a,s') = \Pr(s_{t+1}=s' | s_t=s, a_t=a)
\textbf{POMDP:} \quad \langle S, A, T, R, \Omega, O, \gamma \rangle
\quad O: S \times A \times \Omega \rightarrow [0,1], \quad O(s',a,o) = \Pr(o_{t+1}=o | s_{t+1}=s', a_t=a) ```
注意 POMDP 比 MDP 多了观测空间 Ω 和观测函数 O。仅仅这两个新元素,就把"决策"从"找一个反应函数"变成了"维护一个内心世界"。
---
1.3 世界模型的直觉:一个会做梦的模拟器
The Intuition of a World Model: A Simulator That Dreams
1.3.1 一个生活化的开场
A Lived Example to Start
想象你正在学习滑雪,初次站上高级雪道。教练对你说:"听我口令,先小弯,再大弯,重心向前倾。"你听完脑子里的画面是:想象自己正在滑那条雪道、感受转弯、预判下一个障碍。你会发现"想象"这件事本身就在帮你做规划——你脑子里已经有了"如果我重心后倾会摔,如果太激进会冲出场"。
这就是世界模型(World Model)的核心直觉:一个在智能体内部的、用来预测世界将如何演化的压缩模拟器。
在工程上,世界模型通常是一个参数化的概率模型(一般是深度神经网络),它有两个最基本的能力:
1. 预测下一状态:给定当前状态 s_t 和即将采取的动作 a_t,预测 s_{t+1} 会长什么样。 2. 预测可能得到的回报:在某个状态做某个动作,会得到怎样的奖励。
只要这两个能力具备,智能体就可以做一件神奇的事:在它的"内心世界"里"先试一下",看哪种动作序列能得到最高的长期回报,然后再把这个动作真的执行到真实世界里。
这种"在脑海里试错"的能力,就是世界模型相比纯反应式系统的最大增量。
1.3.2 世界模型的"三件套"骨架
The "Three-Piece" Skeleton
任何世界模型,无论多复杂,都可以拆解成三个组件:
组件 A:编码器(Encoder)。把高维感知输入(如一张 256×256 的图像)压缩到一个低维的潜空间(latent space)。这个潜空间的向量 z_t 就是世界模型的"内部状态"。压缩的好处是双重的:一是降低计算量,二是强制模型只保留与决策相关的因果变量——比如机器人学走路时,可能根本不需要知道背景里那块蓝色是天空还是海,它需要的是"脚有没有着地、关节角度是多少"。
组件 B:动态模型(Dynamics / Transition Model)。这是世界模型的心脏。它接收 z_t 和动作 a_t,预测下一时刻的潜状态 z_{t+1}。通常写作:
$$z_{t+1} \sim p_\theta(\cdot | z_t, a_t)$$
这个模型可以是确定性的(detailed,如 RSSM 里的确定性状态 + 随机性状态混合架构),也可以是概率性的(如 VAE 风格的采样)。
组件 C:解码器(Decoder)。把潜状态 z 解码回人类可理解的形态——一张预测的图像、一个文本描述、或者一个抽象的状态特征。解码器主要用于人类调试和训练期间的重建损失,不一定在策略执行时使用。
把三件套组合起来看:
```mermaid flowchart LR Obs["原始观测 o_t<br/>例如: 图像"] --> Enc["编码器<br/>Encoder"] Enc --> Zt["潜状态 z_t<br/>Latent state"] Zt --> Dyn["动态模型<br/>Dynamics"] Act["动作 a_t"] --> Dyn Dyn --> Zt1["预测 z_t+1"] Zt --> Dec["解码器<br/>Decoder"] Zt --> Pol["策略 π(a | z)<br/>Policy"] Zt1 --> Pol Pol --> ActOut["输出动作 a_t"] ```
读图说明:图中*Obs*表示智能体当前看到的原始观测(图像像素等),*Enc*为编码器压缩为低维潜变量*Zt*。*Act*是当前要做的动作,二者共同送入动态模型*Dyn*预测*Zt1*。*Pol*是策略模块,根据*Zt*和*Zt1*决定*ActOut*。这个循环就是世界模型驱动决策的最小骨架。
1.3.3 "在梦里训练"的真意
What "Training in a Dream" Really Means
当你读到"在梦里训练"(training in imagination)或"梦境训练"时,请不要被这个词误导——这并不意味着有个意识小人躺在精神病院的床上胡思乱想。"梦"在这里只是一个比喻,指的是在世界模型生成的伪造轨迹(rollout)上进行策略学习。
具体流程是这样的:
1. 智能体在真实环境里收集一些轨迹(s_0, a_0, r_0, s_1, a_1, r_1, ...)。 2. 用这些真实数据训练世界模型,让它学会"接下来会发生什么"。 3. 世界模型训练完成后,让策略 π 在世界模型内部进行大量想象性试错——生成许多"如果这样做会怎样"的假轨迹。 4. 用这些假轨迹上的累积回报来改进 π。 5. 把改进后的 π 部署回真实环境。
这个范式之所以重要,是因为真实环境通常很贵、很慢、很危险——自动驾驶撞一次墙就报废一台车,化工厂爆炸一次就是事故。让智能体在"内心"里大量练习再动手,是符合工程理性的设计。
DeepMind 的 Dreamer 系列(Dreamer V1 在 2020 年、Dreamer V2