返回Blog

梦想者与IRIS对TD-MPC2:为你的机器人选择世界模型

梦想家 v3,IRIS和TD-MPC2对照了面对面的情况. 建筑的差异,培训成本,推断速度,与ROS2和LeRobot的集成,以及选择适合机器人项目的世界模型的决策框架.

杰里·黄 · 2026年4月22日

2026年,三种世界模型架构将占据机器人研究的主导地位:Dreamer v3,IRIS和TD-MPC2.每个模型都采用了学习环境动态的根本不同的方法,而正确的选择取决于您的任务,硬件,数据和部署要求.本文提供了一个专业人员专注的比较,以帮助您做出决定.

世界模式:快速复习

一个世界模型学会预测下一步会发生什么:鉴于当前的状态和行动,它预测未来的状态和奖励.一旦训练,模型就像一个学习的模拟器.一个代理可以"想象"世界模型内的数千条轨迹,以学习政策,计划行动或评估安全 - - 所有这些都没有碰到真正的机器人. 详细介绍,请参阅我们的附加文章: [机器人世界模型:为什么它们重要,以及它们如何工作]

这三个模型代表了三个不同的设计理念:

  • 梦想家v3:** 具有现实潜伏变量的重复状态空间模型.
  • IRIS: 由自动降低变压器模型的标记式观察和行动.
  • **TD-MPC2:**简单基于多层感知器的隐形动态模型.用于行动选择的在线模型预测控制 (MPPI).

建筑 深入潜水

梦想家v3:复制状态空间模型

梦想家v3使用一次性状态空间模型 (RSSM),在每个时间步骤中保持两种状态:由GRU计算的确定性重复状态 h_t,以及从类型分布中采样的静止隐形状态 z_t. 确定性状态捕捉到长期的依赖性 (迄今为止在一集中发生的事情),而 stochastic 状态捕捉到当前情况的不确定性 (模型不确定什么).

完整的模型由五个共同训练的组件组成:

  • 序列模型: h_t = f(h_{t-1}, z_{t-1}, a_{t-1}) -- GRU 集成历史
  • 后面包含实际的观察.
  • 预测器: (在想象中使用)
  • 解码器:重建了对训练信号的观测
  • 预测奖励/继续预测器:

在想象过程中,编码器不被使用 (没有实际观察).动态预测器从前面采样z_t,序列模型进步h_t,演员选择行动.评论家通过Lambda回报估计器评估想象中的轨迹来计算演员更新的优势.

关键设计选择在v3: 斯托卡斯态状态使用32个类别变量,每个类别有32个,给出32^32个可能的状态的离散隐形空间.这种离散表示避免了后部崩问题,这些问题困扰了早期版本的高斯隐形变量,并提供了更敏,更有信息的表示.

IRIS:标记化自动退缩世界模型

国际数据系统 (IRIS) 将世界模型重新视为序列建模问题.它首先训练一个VQ-VAE (向量定量变量自动编码器) 来将每个观察框架压缩成固定数量的分离代币 (通常每一个框架的代币为16-64代币,代码书大小为512-1024).如果它们是连续的,则也会被分离. 世界模型是一个自行降低变压器, 预测下一个代币, 考虑到所有以前的观察和行动代币.

单次过渡的序列结构看起来像:

们的们,我们都在们的们,

变压器通过因果注意处理这个平坦序列,预测所有前来的代币中的每个代币. 这与GPT式语言建模的架构相同 - "语言"只是观察和行动代币而不是词代币.

IRIS的优势在于它直接利用了在NLP中被大规模验证的变压器扩展性能.缺点是VQ-VAE标记是损失的:在代码簿的分辨率以下的空间细节被丢弃.对于需要区分几个像素差异的对象位置的任务,这可能是瓶. 标记器质量有效地限制了全球模型的准确性.

TD-MPC2:在线规划的潜伏动态

通过TD-MPC2学习了三个基础结构的最简单的方法.

  • 码器:** h(o_t) -> z_t -- 映射观察到隐形状态
  • 动力模型:** d(z_t, a_t) -> z_{t+1} -- 预测下一个隐形状态
  • 预测奖励:** R(z_t, a_t) -> r_t -- 预测即时奖励
  • 值函数: Q(z_t, a_t) -> v -- 估计长期值 (TD学习)

没有复发,没有注意力,没有静态隐形变量,只是标准的输送网络.整个模型都是由端到端训练的, 结合隐形动态一致性 (预测的下一个隐形应与编码的下一个观察相匹配), 奖励预测和时间差异 (TD) 价值学习.

在推断时,TD-MPC2不使用学习的政策. 相反,它在每个控制步骤中执行模型预测路径整体 (MPPI) 规划:

  1. 样本N候选行动序列 (通常N=512,视界=5步)
  2. 通过动态模型推出每个序列,以获得预测的隐形轨迹
  3. 评分每个轨迹:预测奖励的总和 + 从Q函数的终端值
  4. 计算动作序列的权重平均值,以指数分数权重
  5. 从权重平均序列执行第一个操作

这种"计划在推理"方法意味着"政策"是隐含的 - - 它来自于世界模型和规划算法的结合. 成本是,每一步控制需要10-50ms,这限制了控制频率到20-100Hz,取决于GPU和规划视野.

面对面的比较

Dimension Dreamer v3 IRIS TD-MPC2
Representation Discrete categorical latent (32x32) VQ-VAE discrete tokens Continuous latent vector
Temporal model GRU recurrence Causal Transformer attention Single-step 多层感知器 (no history)
Action space Continuous or discrete Discrete (continuous requires binning) Continuous (native)
Policy learning Actor-critic in imagination Actor-critic in imagination Online MPPI planning (no explicit policy)
Training cost (200 episodes) 6-24h on 1x RTX 3090 12-48h on 1x RTX 3090 2-12h on 1x RTX 3090
Inference latency ~1ms (policy forward pass) ~5ms (autoregressive decoding) ~10-50ms (MPPI planning loop)
Max control freq ~100-500Hz ~50-200Hz ~20-100Hz
Imagination horizon 15-50 steps (configurable) Limited by context window 3-10 steps (MPPI horizon)
Reward flexibility Fixed at training time Fixed at training time Changeable at deployment time
Open-source repo danijar/dreamerv3 (JAX) eloialonso/iris (PyTorch) nicklashansen/tdmpc2 (PyTorch)
License MIT MIT MIT

什么时候使用每一个

选择梦想家 v3 当:

  • **你需要长时间的规划视野的连续控制.**梦想家的RSSM可以在不需要限制的计算成本的情况下设想15-50步前进,而演员-批评家学会在这些长时间内进行优化.这使得它成为了最好的选择,例如巧妙的操纵,机器人必须计划抓取方法,放置手指,并作为协调的序列升高.
  • **你需要一个经过验证的,文档化好的框架.**Dreamer v3已用于150多项任务,并配备一个单一的超参数组,该组件对大多数域名都非常适合.
  • 梦想家通过他的高斯人演员来支持持续的行动.
  • **你在网上在一个真正的机器人上进行RL. **梦想家的样本效率 (100-1000倍比无模型方法更好) 意味着你可以在几个小时内学习从实际机器人互动而不是几周.基于想象力的政策更新是没有风险的 - - 只有数据收集与现实世界互动.
  • **您对JAX很舒服.**参考实现是JAX,它提供了优秀的GPU利用,但比PyTorch更的学习曲线.

选择IRIS 当:

  • **您的操作是自然的离散,或者您可以将它们分离. ** IRIS模型将所有东西作为代币,所以它最适合在行动空间已经离散时 (抓住器开/关,导航命令) 或可以有效地将其分为可管理的数量类别.
  • 您想利用变压器扩展. 如果您有权访问大型计算,并希望扩展您的世界模型来处理各种任务,IRIS的架构是扩展最适合的.相同的架构可以从80M扩展到数十亿参数,使用已建立的变压器扩展配方.
  • **您对生成世界模型感兴趣.**由于IRIS自行降低地生成观察代币,因此您可以为同一行动序列抽取各种可能的未来.
  • 您的任务域已得到验证. IRIS主要验证在Atari和简单的控制任务上.如果您的机器人应用程序涉及连续,高维动作空间 (7-DOF臂 +抓住器),您应该仔细进行原型设计,并检查操作分辨率不会阻碍瓶性能.

选择TD-MPC2 当:

  • ** 在部署时,您需要灵活的奖励功能.** 因为TD-MPC2在线计划使用世界模型和学习值函数,因此您可以在测试时间修改奖励功能,而不需要重新训练.指定一个新的目标位置,添加碰撞罚款或完全改变任务目标 - 规划者将适应. 这对于在运行时间指定目标的应用来说是非常有用的.
  • 你想要最快的培训. TD-MPC2的基于多层感知器的架构比Dreamer快2-5倍,比IRIS快5-10倍.
  • **你需要一个模型在许多任务中.**TD-MPC2展示了一个模型解决104项任务 (317M参数) 变体.如果你的部署涉及许多任务变化与同一个机器人,一个单个大型TD-MPC2模型可能比训练单独的梦想机模型每任务更实用.
  • **您的控制频率要求为10-50Hz.**MPPI计划循环与学习的政策前进传递相比增加延迟,但对于大多数操纵任务 (10-30Hz控制),10-50ms的计划时间是可接受的.
  • 你更喜欢PyTorch. 参考实现是清洁的PyTorch,并且几乎没有依赖.

与现有堆集成

系统集成

没有一个框架都具有原生ROS2集成,但将它们包装在ROS2节点中是简单的.

导入 rclpy从rclpy.node导入 Node从传感器_msgs.msg导入 JointState,Image from std_msgs.msg导入 Float64MultiArray类 WorldModelNode(Node): def __init___(self, world_model,planner):超级) ).__init__('world_model_node') self.model = world_model self.planner = planner # 订阅观测self.create_subscriptionImage, '/camera/image_image', self.image_cb, 10) self.create_subscriptionJointState, '/action_joint_states', self.joint_cb, 10) self.control.

对于TD-MPC2,规划器是MPPI算法.对于Dreamer,它是学习演员网络.对于IRIS,它是学习演员或在代币化行动空间上搜索.ROS2集成的主要区别是延迟:Dreamer的演员前传完成在 ~1ms,而TD-MPC2的MPPI循环需要10-50ms,这影响了你如何配置控制计时器.

雷罗特集成

T1) 已经成为机器人学习实验的标准.截至2026年初,LeRobot本地支持行为克隆和传播政策,但不包括世界模型培训.然而,数据集格式 (Parquet 节目与同步视频和状态) 与三个世界模型兼容,并具有轻量适配器:

从 lerobot.common.datasets.lerobot_dataset import LeRobotDataset import numpy为 np # Load a LeRobot dataset = LeRobotDataset("lerobot/pusht") # Convert to Dreamer-compatible NPZ episodes for episode_idx in dataset.episode_data_stack["from"]: episode = dataset.hf_dataset.filter( lambda x: x["episode_index"] ==\"episode_idx) np.savez_compressedf"episodes/episode_{episode_idx}.npz", image=nstack.nstack ]((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

在TD-MPC2转换为其HDF5格式, IRIS需要在训练变压器世界模型之前,还需要在观察图像上训练VQ-VAE标记器.

健身院/MuJoCo 集成

所有三个框架都支持Gymnasium (以前的OpenAI Gym) 环境本土或具有最小的配置.这使得在转向实际硬件之前,它们很容易进行模拟:

  • 通过包装,内置支持DMControl,Atari,Minecraft和自定义的体育馆.
  • IRIS: 内置的阿塔利支持. 运动场连续控制需要一个定制的包装来进行操作密.
  • **TD-MPC2:**内置支持DMControl,Meta-World,Maniskill和MyoSuite.添加新的 Gymnasium envs需要实现任务配置文件 (10-20行).

模型数据要求

轨迹类型

所有三个模型都从轨迹数据中学习,但它们对不同的特性很敏感:

  • Dreamer v3需要具有清晰的时间结构的轨迹.它从包括成功和失败的尝试的集中受益,因为奖励预测器需要消极的例子来校准.随机探索数据对于初步的世界模型预训练有用;任务特定的示范改善了政策.
  • IRIS需要多种轨迹来训练一个好的VQ-VAE代码簿.如果所有节目都看起来相似,代码簿将对新奇情况进行差的覆盖.优先考虑视觉多样性:不同的对象颜色,位置,照明条件和摄像头角度.
  • TD-MPC2是数据质量方面最灵活的,因为它使用在线规划而不是学习的政策.即使在一个不准确的世界模型下,MPPI规划通常可以通过评估许多候选人来找到好行动.

观察方式

Modality Dreamer v3 IRIS TD-MPC2
RGB images Native (CNN encoder) Native (VQ-VAE) Supported (CNN encoder)
Proprioception only Supported (多层感知器 encoder) Requires state tokenization Native (default modality)
Multi-camera Concatenate or multi-encoder Separate VQ-VAE per view Concatenate encodings
Point clouds Custom encoder needed Not well-supported Custom encoder needed
Force/torque Concatenate with proprioception Tokenize as additional modality Concatenate with proprioception

剧情长度

这三个模型不同处理剧集长度:

  • Dreamer v3: 通过固定长度的次序列 (通常是50-64步) 来采集任何长度的集.长时间的集 (1000+步) 都很好 - RSSM的复发状态保持了语境.这使得Dreamer非常适合长时间的操纵任务.
  • IRIS: 由于变压器的文本窗口而受到限制.每框16个代币+1个行动代币,你得到了约60个文本.更长的节目需要缩短或缩小,这可能会失去长距离的依赖性.
  • TD-MPC2: 训练在短次序上 (通常是5-10步),因为动态模型是单步的,Q函数通过TD学习处理长期信用分配. 节目长度不会影响训练,但MPPI规划视野通常只有3-10步,因此规划者对长视野任务很依赖Q函数.

快速启动代码

梦想家v3

安装 (JAX + GPU) pip安装 jax[cuda12] jaxlib dreamerv3 # 在DMControl Reacher python dreamerv3/main.py \ --config dmc_vision \ --task dmc_reacher_easy \ --logdir ./logdir/reacher \ --steps 500000 # 在自定义机器人数据 (NPZ格式) 训练 python dreamerv3/main.py \ --config dmc_vision \ --task_log_robot \ --logdir ./logdir/custom \ --\data_dir /path/to/npz\episodes/ \ --steps 1000000

国际货币交易

安装 git clone T9 cd iris && pip安装 -e . # 列车在 Atari Breakout python src/main.py env.train.id=BreakoutNoFrameskip-v4 \ common.device=cuda:0 \ wandb.mode=offline # 关键配置对自定义域的过关 # config/trainer.yaml: # tokenizer.vocab_size: 512 # world_model.tokens_block: 17 # 16 obs token + 1 行动代币 # world_model._blocks: 20 # 文本窗口

其他类型

装备pIP安装 tdmpc2 # 列车在DMControl Walker python train.py任务=狗跑模型_size=48步骤=10000000 # 列车单个模型在80 DMControl任务 python train.py任务=mt80模型_size=317步骤=25000000批量_size=1024 # 评估使用MPPI规划python evaluate.py任务=狗跑检查点=/path/to/model.pt \ num_samples=512视界=5

常见的故障模式和如何调试

世界模式预测未来的模糊 / 平均情况

症状: 解码的想象中的观测看起来像多个可行的结果的平均值.物体似乎是幽灵或重复的.

**诊断:**模型的隐藏空间没有捕捉多模性.与高斯隐藏变量 (Dreamer v1/v2) 或小维度VQ-VAE代码簿 (IRIS) 常见.

**修正:**对于Dreamer,确保您使用v3的分别的类型隐藏,而不是高斯.对于IRIS,增加VQ-VAE代码簿的尺寸 (1024或2048) 和每框的代码 (32或64).对于TD-MPC2,这是一个较小的问题,因为隐藏空间是任务条件的,不需要重建观测.

政策利用世界模式的不准确性

症状: 该政策实现了高想象的奖励,但在真实机器人上失败.它发现了世界模型中的"故障",一个预测的高奖励,但不符合实际物理的状态行动序列.

诊断: 政策已进入国家行动空间,世界模型不准确,并且正在利用这些不准确性.

修正: (1) 培训3-5个世界模型的组合,并惩罚访问组合预测不同的国家的政策. (2) 缩短想象界以减少组合错误. (3) 收集在政策运行的地区更多的实际数据,并重新培训世界模型.对于TD-MPC2,MPPI规划视野已经短了 (3-10步),这使得这种情况变得不那么常见.

维Q-VAE编码簿崩 (IRIS)

症状: 仅使用了很少的代码书入口.

诊断: VQ-VAE培训被用于使用一组代码.

** 修正:** (1) 使用指数动平均 (EMA) 代码库更新而不是基于梯度的. (2) 增加代码库大小. (3) 添加代码库重置:定期从编码器输出分布中重新启动未使用的代码. (4) 使用 0.25 的承诺损失权重 (IRIS默认).

技术学习不稳定性 (TD-MPC2)

症状: 训练期间,Q值会偏差或波动.

诊断: 对于值函数的时间差异学习是不稳定的,通常是由于学习率过高或目标网络更新频率不足.

** 修正:** (1) 减少Q函数的学习速度 (试用3e-4而不是1e-3). (2) 提高目标网络软更新系数tau (0.01至0.005以实现更流的更新). (3) 添加Q网络的层正常化.TD-MPC2的默认超参数通常是稳定的,所以如果你修改它们,首先回到默认状态.

数据多样性不足

**症状:**世界模型对训练状况进行准确预测,但在稍微不同的初始配置上,它会灾难性地失败.

**诊断:**数据集缺乏初始状态,对象配置或环境条件的足够变化.

** 解决:** 这是一个数据问题,而不是模型问题. 收集更多的集集体有故意随机化初始条件.RCSV的 数据收集服务 遵循专门设计的结构化随机化协议,以最大限度地覆盖世界模型训练的状态空间.

相关阅读

  • [机器人世界模型:为什么它们重要]
  • [开始世界模型]T4) - - 步骤实践教程
  • [机器人学习的分散政策]T5) --补充政策架构
  • LeRobot框架指南 --数据集格式与世界模型兼容
  • [机器人培训数据是什么?]
  • RCSV数据服务 --世界模型培训轨迹数据集