PlaNet#

PlaNet 是什么#

PlaNet 全称是 Planning Network,来自 DeepMind 2019 年论文《Learning Latent Dynamics for Planning from Pixels》。

它是 World Model 方向里非常经典的一篇工作。它想解决的问题是:

智能体能不能只看像素图像,自己学出一个环境模型,然后在这个模型里“想象未来”,再用想象结果来规划动作?

传统强化学习往往需要大量真实环境交互。PlaNet 的思路更像人类做事前的脑内模拟:

我现在看到这个画面
如果我这样做,会发生什么?
如果我那样做,会不会更好?
选一个预期回报最高的动作
../../../../_images/latent_world_model.svg

为什么提出 PlaNet#

强化学习里有两类常见方法:

  • Model-free RL:直接学习策略或价值函数,不显式学习环境模型。

  • Model-based RL:先学习环境动态模型,再利用模型做规划或训练。

Model-free 方法简单直接,但通常非常吃数据。对于机器人来说,在真实世界试错成本很高,摔一次机械臂、撞一次物体都可能很贵。

PlaNet 希望通过学习一个 latent dynamics model 来提高数据效率。也就是说,模型不直接在像素空间预测未来,而是先把图像压缩到潜在空间,在潜在空间里预测未来。

核心技术讲解#

Latent State:不要直接在像素里思考#

原始图像维度很高,而且很多像素对决策没有直接意义。例如背景纹理、光照变化、无关区域,都可能干扰模型。

PlaNet 会把观测图像编码成一个 latent state。这个 latent state 可以理解为“当前世界状态的压缩摘要”:

  • 物体大概在哪里。

  • 速度和运动趋势是什么。

  • 哪些信息和奖励有关。

模型之后主要在 latent state 上预测未来,而不是直接预测下一帧每个像素。

RSSM:同时处理确定性和随机性#

PlaNet 使用的核心模型叫 Recurrent State-Space Model(RSSM)

它把状态分成两部分:

  • 确定性状态:由循环网络维护,记录历史上下文。

  • 随机状态:用概率变量表达环境的不确定性。

为什么需要随机性?因为从一张图看未来,很多事情本来就不确定。例如小球可能因为碰撞方向发生不同结果,机器人动作也可能有执行误差。

在模型中规划#

PlaNet 学到世界模型后,不是直接训练一个策略网络输出动作,而是在模型里做 online planning。

它会采样很多候选动作序列:

动作序列 A:a1, a2, a3...
动作序列 B:b1, b2, b3...
动作序列 C:c1, c2, c3...

然后让 world model 想象这些动作序列会导致什么 latent trajectory,并估计奖励。最后选择预期奖励最高的动作序列的第一个动作执行。

这有点像下棋时先在脑子里推演几步,再落当前这一步。

为什么 PlaNet 重要#

PlaNet 的重要性在于,它展示了从像素学习 latent world model,再利用模型规划动作的可行性。

它并不是第一个 world model,但它把几个关键点组合得很好:

  • 从高维像素输入学习。

  • 在潜在空间建模动态。

  • 用模型想象未来。

  • 用想象结果做规划。

后来的 Dreamer 系列、机器人 world model、视频预测控制等工作,都可以看到类似思想。

和具身智能的关系#

具身智能里的机器人需要理解“动作会改变世界”。PlaNet 提供了一个基础范式:

视觉观测 -> latent state -> 预测动作后果 -> 规划动作

例如机械臂抓取时,模型可以想象:

  • 夹爪靠近物体会发生什么。

  • 推动杯子会让杯子移动到哪里。

  • 哪个动作序列更可能完成任务。

不过 PlaNet 主要是在仿真控制任务中验证,离真实复杂机器人还有距离。

局限#

  • 规划过程需要在线采样动作序列,计算成本较高。

  • 长期预测容易累积误差。

  • 对复杂真实场景,latent dynamics 可能不够准确。

  • 它更偏控制和 RL,不直接处理开放语言指令。

小结#

PlaNet 的核心思想是:从像素学习一个潜在空间世界模型,并在这个模型里想象未来、规划动作。

它是理解后续 World Model for RL、Dreamer、机器人视频世界模型的重要基础。

参考#