Skip to content
Published on

世界模型 — 机器人如何在头脑中想象未来

分享
Authors

引言 — 先想象,再行动

人在行动之前,会先在头脑中描绘结果。推一下杯子它会不会倒,拉一下门它会不会开 — 我们对世界会如何反应,拥有一种直觉性的模型。正因为有这个内在模型,我们才能仅凭想象就过滤掉危险的行动,而不必真的去尝试。

世界模型(World Model)想赋予机器人的,正是这种能力。世界模型是一个学习环境动力学的预测模型,也就是学习"在当前状态下采取这个行动,下一个状态会是什么"。有了这样的模型,机器人就不必在真实环境中付出昂贵的试错代价,而可以在学到的模型内部想象未来、制定计划。

本文将讨论世界模型的概念、基于模型的强化学习、潜在空间中的预测、视频预测与生成模型所扮演的角色,以及通过想象中的 rollout 与 MPC 进行的规划。最后,我们会看看它在行走与操作上的应用,以及目前的局限。为保证准确性,具体模型的数值只在确凿可靠时才提及,不确定的部分则以概括方式表述。

什么是世界模型

世界模型的核心是预测。它学习一个函数,输入状态与行动,预测下一个状态(往往还包括奖励)。

              世界模型的基本结构
              ────────────────────

   当前状态 s ──┐
                ├──▶ [ 世界模型 ] ──▶ 预测下一状态 ŝ'
   行动 a ──────┘                  ──▶ 预测奖励 r̂

   反复应用这个模型,就能把未来向前滚动好几步,
   进行"想象":

   s ──a1──▶ ŝ1 ──a2──▶ ŝ2 ──a3──▶ ŝ3 ── ... (想象 rollout)

把它和无模型(model-free)强化学习对比,差异就清楚了。无模型的方法只依靠与环境直接交互得到的经验来学习策略或价值函数。而基于模型(model-based)的方法则先学习环境的动力学模型,再利用这个模型进行规划,或在想象中生成额外的经验。

   无模型 vs 基于模型
   ──────────────────────

   [无模型]
     与环境交互 ──▶ 经验 ──▶ 直接学习策略/价值
     (需要大量经验,但方法简单)

   [基于模型]
     与环境交互 ──▶ 经验 ──▶ 学习世界模型
                    在模型内想象·规划 ──▶ 改进策略
     (数据高效,但容易受模型误差影响)

基于模型方法最大的吸引力在于数据效率。一旦学好了世界模型,就能在其内部廉价地生成大量虚拟经验,而不必真的移动机器人。

世界模型思想的脉络

世界模型这个概念并非凭空出现,而是站在一条长期研究脉络之上。追溯它的几条根源,有助于理解这个领域。

第一条根源是控制理论。为系统建立动力学模型、并在此基础上计算最优控制,是机器人学长期以来的根基。不过经典控制是由人手工搭建模型,这一点使它区别于用数据学习模型的现代世界模型。

第二条根源是心理学与认知科学中的"内在模型"概念。人类与动物拥有对世界的内在表征、并据此预测未来的这种观点,为让机器人学习预测性表征提供了动机。

第三条根源是基于神经网络的序列预测。循环神经网络及之后的多种生成模型,提供了从观测序列中用数据学习"预测接下来会发生什么"这一能力的工具。

   世界模型思想的三条根源
   ────────────────────────────

   控制理论          认知科学            神经网络序列预测
   (动力学模型)       (内在模型)          (用数据学习预测)
       │               │                    │
       └───────────────┼────────────────────┘
              现代的学习型世界模型
        (用数据学习动力学,通过想象进行规划)

2018 年前后以"World Models"为题而广为人知的研究,用神经网络压缩环境、并在其中学习策略这一构想给人留下深刻印象,从而使这股潮流大众化。此后,以 Dreamer 系列为代表的多项研究,进一步把潜在空间中的想象学习打磨得更为精细。

潜在空间中的预测

早期的世界模型试图逐像素预测下一张图像。然而,对高分辨率图像逐像素预测计算量很重,而且为了追求预测中并非必要的细节,反而容易漏掉真正重要的动力学。

对此的解法是潜在空间(latent space)预测。首先由编码器把高维观测(如图像)转换为低维的压缩表征(潜在状态)。接下来动力学预测就在这个压缩后的潜在空间中进行 — 不是在沉重的像素空间,而是在轻量的抽象空间中滚动未来。

        潜在空间世界模型
        ─────────────────

   观测 o ──[ 编码器 ]──▶ 潜在状态 z
                                │ 行动 a
                        [ 潜在动力学 ]──▶ 下一潜在状态 z'
                    (如有需要) [ 解码器 ]──▶ 预测观测 ô'

   要点:不在沉重的像素空间,而是在轻量的
        潜在 z 空间中,快速想象多步未来。

以 Dreamer 系列为代表的这类方法,据称通过在潜在空间中滚动想象 rollout 来学习策略,大幅提升了数据效率。具体架构会因版本而异,细节规格最好以原论文为准。

视频预测与生成模型

近来,大规模的视频预测·生成模型作为机器人的世界模型受到关注。其思路是这样的:在海量视频数据上训练"预测接下来会发生什么"的模型,会因此蕴含丰富的关于物体如何运动与相互作用的物理常识。把这种预测能力对机器人的行动做条件化,它就变成了一个可以想象"随着机器人的行动,未来画面会如何展开"的工具。

        以行动为条件的视频预测
        ──────────────────────

   当前帧序列 ──┐
                ├──▶ [ 视频预测模型 ]──▶ 预测未来帧
   候选行动序列 ┘

   针对多个候选行动分别预测未来,
   并选出最贴合目标的行动序列。

这类生成式世界模型的优点在于,不需要人工编写物理规则,就能从数据中学到复杂的相互作用。但它也有局限:预测越长,误差越会累积,而且并不总能严格遵守物理定律。

想象中的规划 — MPC 与 rollout

世界模型的真正价值体现在规划(planning)上。其中具有代表性的方法是模型预测控制(Model Predictive Control, MPC)。

MPC 的流程如下。从当前状态出发,用世界模型向前展望,模拟若干候选行动序列。评估每个序列带来的未来及其奖励。挑出最好的序列,只实际执行它的第一个行动。执行一步之后,在新的状态下,从头重复整个过程。

        MPC 规划循环 (以想象向前展望)
        ─────────────────────────────────

   [1] 从当前状态生成若干候选行动序列
        候选 A: a1 a2 a3 ...
        候选 B: a1'a2'a3'...
        候选 C: ...
   [2] 用世界模型对每个候选做想象 rollout
        s ──▶ ŝ1 ──▶ ŝ2 ──▶ ŝ3  (针对每个候选)
   [3] 选出预测奖励最高的候选
   [4] 只实际执行该候选的第一个行动
            └──▶ 在新状态下回到 [1] (重复)

MPC 的优点在于每一步都会重新规划,因此即便预测略有偏差,也能在下一步用真实观测来修正轨迹。这种重新规划的特性,在一定程度上缓冲了世界模型的预测误差。

另一种方式是直接用想象中的 rollout 来学习策略。不依赖真实环境,而是在世界模型内部生成大量虚拟片段(episode),在其中运行强化学习来改进策略。这样就能在不磨损真实机器人的情况下,获得大量的训练经验。

世界模型是如何训练的

世界模型本身归根结底也是用数据训练出来的。训练的基本素材,是机器人与环境交互后留下的轨迹 — 即在某个状态下采取了某个行动,得到了怎样的下一状态和奖励的记录。

训练目标大体分为三种损失。

  • 重构/预测损失:让模型从编码后的潜在状态还原观测,或预测下一次观测。这使潜在表征包含了世界的信息。
  • 动力学预测损失:让模型准确地从当前潜在状态与行动预测下一个潜在状态。这是世界模型的核心。
  • 奖励预测损失:让模型从潜在状态预测奖励。这用于在规划时评估哪个未来更好。
   世界模型训练的三种损失
   ────────────────────────

   观测 o ──[编码器]──▶ z ──┬──[解码器]──▶ ô     (重构/预测损失)
                    行动 a │
                  [动力学]──▶ ẑ'                  (动力学预测损失)
                  [奖励预测]──▶ r̂                (奖励预测损失)

   同时最小化这三种损失,学习出一个既可预测、
   又蕴含奖励信息的潜在表征。

这里一个重要的设计要素是循环结构。机器人的观测往往是部分观测(partial observation)。仅凭一帧画面,无法知道物体的速度或被遮挡的部分。因此许多世界模型都维护一个概括过去信息的循环状态(recurrent state),用来随时间累积信息。把这种循环状态与随机潜在变量结合使用的结构,被广泛采用。

处理预测的不确定性

世界模型的预测可能出错,而且在训练数据不足的区域更容易出错。问题在于,策略可能会盲目相信这些错误的预测,学到一些只在模型内部看起来不错、实际却很危险的行动。

为缓解这一点,存在一些显式处理预测不确定性的方法。

  • 集成(ensemble):同时训练多个世界模型,当它们的预测彼此明显分歧时,就判定这种情况"不确定"。
  • 保守规划:在不确定性较大的区域,不相信过于乐观的奖励,而把规划向安全一侧偏移。
   用集成检测不确定性
   ──────────────────────

   对同一个 (状态, 行动):

   模型1 ──▶ 预测 A
   模型2 ──▶ 预测 A'      预测彼此相近 ──▶ 可信
   模型3 ──▶ 预测 A''

   模型1 ──▶ 预测 B
   模型2 ──▶ 预测 X      预测明显分歧 ──▶ 不确定(需谨慎)
   模型3 ──▶ 预测 Y

处理不确定性,是让世界模型真正变得可信的关键。一个"知道自己不知道什么"的模型,不会在自己没有把握的区域制定鲁莽的计划。

世界模型 vs 显式仿真器

世界模型与 sim-to-real 中的仿真器,都是"预测未来的工具"这一点上很相似,但二者存在根本差异。

项目显式仿真器学习型世界模型
构建方式人工编写物理规则用数据学习
准确性来源物理定律·参数观测到的经验
新物体·新现象需要人工建模若数据中存在则自动反映
主要弱点现实差距·建模成本分布外脆弱·预测误差
无数据时可用性可以(预先构建)不可以(需要经验)

这两种方式与其说是对立,不如说是互补。显式仿真器能廉价地大量提供先验知识,而学习型世界模型则能从数据中吸收人类未能建模到的现实复杂性。在实务中,也可以先用仿真器做初步训练,再用真实经验来校正世界模型,这样的组合是可行的。

在机器人上的应用

世界模型被应用于各种机器人任务。

  • 腿式行走:预测地形与接触动力学的模型,有助于在失去平衡之前,通过想象过滤掉危险的落脚。
  • 操作:预测推动或抓取物体的结果,可以在实际尝试多种抓取策略之前,先在想象中加以比较。
  • 导航:预测沿不同路径产生的未来观测,可以提前评估能避开障碍物的路径。
  • 工具使用:在通过工具向物体传递力的任务中,可以在想象中预先确认工具末端的相互作用结果。

核心的好处是共通的:能把大量昂贵且危险的真实试错,替换为廉价且安全的想象。

   各任务中世界模型的作用
   ────────────────────────

   行走     ──▶ 预测地形·接触 ──▶ 避开危险落脚
   操作     ──▶ 预测抓取结果 ──▶ 选出好的抓取策略
   导航     ──▶ 预测各路径未来 ──▶ 选出安全路径
   工具使用 ──▶ 预测工具交互 ──▶ 调整力的传递方式

   ▶ 共同原理:在真正尝试之前,用想象过滤结果。

数据效率的视角

世界模型最大的实用价值在于数据效率。前面讨论的 sim-to-real 依赖人工搭建的仿真器,而世界模型的不同之处在于,机器人自己从数据中学出一个仿真器。

   数据效率对比 (概念性趋势)
   ──────────────────────────────

   无模型 RL   : 真实经验 ██████████████████  (需求大)
   基于模型 RL : 真实经验 ████                (需求小)
                    + 想象经验 ░░░░░░░░░░░░░░  (廉价、大量)

   ▶ 用想象经验大幅替代真实经验

当然,这只是一种概念性趋势,实际效率会因任务和模型质量而大不相同。

规划视野的权衡

用世界模型做规划时,必然要面对的一个决定是规划视野(planning horizon)的长度,也就是要向前想象并评估多少步。

视野短,累积的预测误差就少,每一步预测都更准确,但看不了太远,可能做出短视的决定。视野长,可以考虑到更远的未来结果,但误差会经过多个步骤累积,想象出的未来会失去可信度。

   规划视野的权衡
   ────────────────────────

   短视野:  s ─▶ ŝ1 ─▶ ŝ2       预测准确,但短视
                (误差小)

   长视野:  s ─▶ ŝ1 ─▶ ... ─▶ ŝ10   看得远,但误差累积
                              (可信度下降)

   ▶ 通常用中等视野 + 频繁重新规划(MPC)来取得平衡。

处理这种权衡的一个实用方法,是与学习到的价值函数相结合。只在短视野内做显式想象,超出这一范围的遥远未来价值,则用另外学习的价值函数来近似。这样既能抑制误差累积,又能在一定程度上反映长期结果。

   短想象 + 价值函数近似长期
   ──────────────────────────────────

   s ─▶ ŝ1 ─▶ ŝ2 ─▶ ŝ3
              [ 价值函数 V(ŝ3) ]  ← 近似此后遥远未来的价值

   总评估 = (想象的短期奖励之和) + (价值函数的长期估计)

生成式世界模型的兴起

进入 2020 年代中期,用大规模生成模型充当世界模型的趋势变得突出。在海量互联网视频上训练出的视频生成模型,会因此蕴含相当多关于物体坠落、碰撞、流动等世界物理常识。

要把这类模型用作机器人的世界模型,需要两样东西。第一,对机器人的行动做条件化,使其能预测"采取这个行动,未来会如何变化"。第二,附加一套判断奖励或目标达成与否的机制,让预测能够被用于规划。

   生成式世界模型在规划中的应用
   ────────────────────────────

   目标图像/指令 ──┐
                    ├──▶ [针对候选行动预测未来画面]
   当前观测 ────────┘
                    选出最接近目标的
                    未来所对应的行动候选 ──▶ 执行

这种方法的魅力在于,不需要人工编写物理规则,就能从海量视频数据中继承丰富的常识。不过局限依然存在:即便生成模型的预测看起来合理,也可能在物理上不准确、或出现一致性被破坏的情况,而且预测越长,这类问题就越严重。具体能力与性能会因模型和版本而有很大差异,细节规格最好参考各自的官方资料。

如何评估世界模型

评估世界模型的性能,与评估策略是不同的问题。大体从两个角度来看。

第一是预测准确度。看模型预测的下一状态或观测,与真实情况有多吻合。不过,单步预测准确并不能保证多步 rollout 也准确,因此需要同时观察跨越多个视野的预测误差。

第二是下游性能(downstream performance)。归根结底,世界模型只是打造更好策略的手段,因此用这个模型训练或规划出来的策略,在真实世界中表现如何,才是最重要的指标。即便存在一定的预测误差,只要模型很好地捕捉到规划所需的核心动力学,往往就已经足够。

   评估世界模型的两个角度
   ────────────────────────

   [1] 预测准确度       ──▶ 预测状态 vs 真实状态
        │  (跨多个视野)
   [2] 下游性能         ──▶ 用这个模型得到的策略的真实成功率

   ▶ 即便预测不完美,只要对规划有用,就是好模型。

这一区分之所以重要,是因为追求像素级完美的预测,并不必然带来好的策略。很多时候,恰当地捕捉规划所需的信息,比在视觉上完美重现更重要。

相关概念小结

简单整理一下前文出现过的概念。

  • 基于模型的 RL:学习世界模型并用它来改进策略的强化学习流派。
  • 潜在状态:把高维观测压缩成的低维表征,预测就在这个空间中进行。
  • 想象 rollout:不依赖真实环境,而是在世界模型内部把未来向前滚动多步。
  • MPC:通过想象一个短视野来挑出最佳行动,执行一步后再重新规划的方式。
  • 规划视野:向前想象多少步未来的长度,是准确性与短视之间的权衡。

这些概念彼此交织,构成一幅完整的图景。在潜在状态之上滚动想象 rollout,再在此基础上用 MPC 或策略学习进行规划,同时谨慎处理规划视野与不确定性 — 这就是基于世界模型的机器人学习的全貌。

陷阱与局限

  • 模型误差的累积:世界模型并不完美。预测串联的步数越多,微小误差就越会堆积,想象出的未来可能与现实大相径庭。
  • 模型滥用:策略可能会钻世界模型预测的空子,学到一些只在模型内部能获得高奖励、实际上并不现实的行动。这些行动在现实中行不通。
  • 分布外情形:在训练数据中未曾出现过的新情形下,世界模型的预测难以信赖。
  • 长期预测的困难:未来越远,预测的不确定性就越大。因此,以短视野(horizon)频繁重新规划,通常更安全。

正因为存在这些局限,在实务中通常不会把世界模型当作万能药,而是把它与 MPC 的重新规划、或通过真实观测进行的校正结合起来,以缓冲误差。

与其他学习方式的关系

世界模型与前面文章讨论过的模仿学习、强化学习、sim-to-real 是如何融合的呢?

它与模仿学习是这样相遇的:示范数据是学习世界模型的优质素材。从人操作机器人留下的轨迹中学到世界的动力学,再在此基础上做规划,就能想象出超越示范本身的行动。

它与强化学习以"基于模型的 RL"这个名字直接结合。世界模型提供的想象经验,极大缓解了强化学习的数据效率问题。

它与 sim-to-real 是互补关系。如果说 sim-to-real 是把人工搭建的仿真器贴合到现实的问题,那么世界模型就是机器人自己从数据中学出仿真器本身。把两者结合,也可以先用显式仿真器做初步训练,再用真实数据打磨世界模型。

   机器人学习的四个维度与世界模型
   ──────────────────────────────

   模仿学习 ──┐
   强化学习 ──┤
   sim-to-real┤──▶ 世界模型与这些结合,
   世界模型 ──┘   提供想象·规划·数据效率

   ▶ 这四个维度不是互相替代,而是共同使用的工具。

由此可见,世界模型与其说是一种独立的技术,不如说更接近一种公共基础设施 — 它与其他学习方式相结合,来强化机器人的学习与规划。

结语

世界模型是一种试图赋予机器人"行动之前先想象"这一能力的尝试。一旦学会环境的动力学,机器人就能把大量昂贵的真实试错替换为廉价的想象,并通过展望未来来制定更好的计划。潜在空间预测让这一切变得高效,大规模视频预测模型从数据中蕴含了丰富的物理常识,而 MPC 与想象 rollout 则把这些预测与实际行动连接起来。

与此同时,模型误差累积与分布外情形这两个根本性的局限也很明确。世界模型并不是一个已经完成的解决方案,而是一个致力于让机器人更好地理解和预测世界的活跃研究领域。与模仿学习、强化学习、sim-to-real 一起,世界模型构成了机器人学习方式中又一个重要的维度。

参考资料