一句话定位

Dynalang 把 dreamer-v3 的 RSSM 世界模型扩成多模态版本,让语言 token 与图像帧同步逐步输入,训练模型联合预测未来的文本、图像表征和奖励;因为语言被当作”预测未来的信号”而非”直接映射到动作的条件”,Dynalang 能利用游戏规则、环境描述、纠错这类不能直接归因到 reward 的多样语言,在 HomeGrid、Messenger、VLN-CE、LangRoom 四个环境上都超过同样吃语言输入的 model-free 基线(IMPALA、R2D2),ICML 2024 Oral。

背景与定位

先前把语言接入 RL 智能体的做法几乎都是”语言条件策略”:在 episode 开头嵌入一句指令(如”pick up the blue block”),策略网络直接把它映射到动作序列。这类方法在语言只是简短指令时还行,但论文的核心论点是:当语言变得多样(不仅是指令,还包括环境规则”这个按钮打开电视”、状态描述”我们没牛奶了”、协作反馈”我已经吸过地了”),直接学”语言→最优动作”是一个病态的学习问题——同一句话在不同任务语境下对应的最优动作可能完全不同,语言和动作之间的依赖关系可能很弱。

Dynalang 的解法是把语言当成预测未来的信号:在 dreamer-v3 的 RSSM 世界模型上扩展一个语言 token 输入/输出通道,训练目标从”预测下一帧图像”扩展成”预测下一帧图像 + 下一个语言 token + 奖励”,把语言理解(有监督的表征学习)和动作学习(RL)解耦。谱系上,Dynalang 直接建立在 dreamer-v3(RSSM + actor-critic 隐想象)之上,属于同一条 RSSM 世界模型脉络(planetdreamer-v1dreamer-v2dreamer-v3 → Dynalang),论文明确说”不引入新的世界模型架构”,贡献在于验证语言条件的世界模型能否比语言条件策略更好地扩展到多样语言。

模型架构

Backbone:沿用 dreamer-v3 的 RSSM(Recurrent State Space Model),序列模型用 GRU(作者注明其他序列模型如 Transformer 也可替换,参见 Robine et al. 2023),循环状态记为 hₜ。论文强调架构改动很小,核心贡献是”多模态对齐”的设计选择。

多模态编码/解码(每个时间步的六个组件)

  • Sequence model: ẑₜ, hₜ = seq(zₜ₋₁, hₜ₋₁, aₜ₋₁)
  • Multimodal encoder: zₜ ~ enc(xₜ, lₜ, hₜ) — 同时吃图像帧 xₜ 和一个语言 token lₜ
  • Multimodal decoder: x̂ₜ, l̂ₜ, r̂ₜ, ĉₜ = dec(zₜ, hₜ) — 重建图像、语言 token、预测奖励与 episode 延续标志

多模态对齐(关键设计选择,H1 假设的验证对象):每个时间步给模型一个视频帧 xₜ 和一个语言 token lₜ(没有则补零/padding),不假设、也不要求两个模态在语义上对齐——语言到达时可能与其描述的视觉内容相隔很远(例如”papers are in the living room”这句提示可能在智能体真正看到 living room 之前很久就播报完)。论文用消融比较了 6 种把语言接入 dreamer-v3 的方式(Section 4.1,Messenger Stage 1 测试床):(1) 语言条件策略基线(GRU 编码整句,只喂给 policy,ablate 掉”联合表征学习”)、(2) Sentence Embed(SentenceBERT 逐句编码,ablate 掉”逐 token 输入”)、(3) T5 + Image Adapter(图像特征映射到 T5 embedding 空间,类似 LLaVA)、(4) T5 + Cross-Attention(类似 Messenger 原始基线 EMMA 的做法)、(5) Finetuned T5 + Cross-Att、(6) T5 + Two-Way Cross-Att(图像也映射成固定数量 latent 再互相 attend)。结果:Dynalang 这种最简单的”逐 token+逐帧对齐输入”架构,即使语言 embedding 从零训练,也全面超过上述更复杂的 6 种替代方案(包括用了预训练 T5 的方案),支持 H1。

语言编码方式:全部用 T5 tokenizer,词表 32,100。HomeGrid 用 one-hot token 编码(从零学 embedding);Messenger 与 VLN-CE(需要泛化到同义词/语言变体)用预训练 T5-small(60M 参数)的最后一层隐状态逐 token embedding。图像编码器为 strided CNN,解码器为转置 strided CNN,其余组件为 MLP。

表征学习损失(沿用 dreamer-v3 记号):Lrepr = Lx + Ll + Lr + Lc + Lreg,其中图像损失 Lx = ‖x̂ₜ−xₜ‖²,语言损失 Ll = catxent(l̂ₜ, lₜ)(one-hot 用交叉熵,T5 embedding 用平方误差),奖励损失 Lr = catxent(r̂ₜ, twohot(rₜ)),continue 损失为二元交叉熵,正则项 Lreg = βreg·max(1, DKL[zₜ‖sg(ẑₜ)])(βreg=0.1)。未来预测损失 Lpred = βpred·max(1, DKL[sg(zₜ)‖ẑₜ])(βpred=0.5)。

策略学习:actor-critic 完全在世界模型想象出的隐序列上训练(不改动 dreamer-v3 的策略学习算法),actor π(aₜ|hₜ,zₜ)、critic V(hₜ,zₜ) 均为 MLP。

模型规模(Table I.3,各环境不同):HomeGrid 281M 参数(GRU 4096 units,无 bottleneck);Messenger S1/S2/S3 各 148M(GRU 4096 units);VLN-CE 268M(GRU 8192 units + 1024 维 bottleneck 层,因需要更大确定性状态);LangRoom 243M(GRU 6144 units + 2048 bottleneck,词表仅 15)。语言 MLP 统一为 5 层、每层 1024 units。除 VLN 用更大 GRU + bottleneck 外,其余用默认 XL 档 dreamer-v3 超参。

词汇量扩展到大词表(Section 4.6,H4):LangRoom 原始词表仅 15(回答”颜色”用的词),论文进一步测试把动作空间的语言词表扩到 10,000(加入 dummy token)。直接扩容会因动作空间过大导致 RL 不可学;论文用世界模型自身的下一 token 预测分布来正则化语言动作(在熵正则项里加一项 DKL[π(l_t^act|hₜ,zₜ) ‖ sg(p(l̂ₜ₊₁|ĥₜ₊₁,ẑₜ₊₁))]),使生成动作被拉向世界模型认为”合理/likely”的 utterance,从而恢复到词表 15 时的 QA 性能——类似 RLHF 里用 KL 正则约束生成分布(Ziegler et al. 2019)。

数据

Dynalang 主体是在线 RL、无外部专家数据集,数据来自智能体与四个自建/改造环境交互产生的 replay buffer 经验:

  • HomeGrid(自建环境):多任务网格世界,5 类任务(find/get/clean up/rearrange/open)共 38 个任务,物体/垃圾桶位置及垃圾桶开启动作(pedal/grasp/lift 三选一)每 episode 随机化,episode 长度 100 步。语言以 token-by-token 流式提供:任务指令 + 3 类”提示”(Future Observations 描述物体未来会出现在哪个房间;Dynamics 描述打开垃圾桶的正确动作;Corrections 在智能体离目标越来越远时给出”no, turn around”纠错)。任务指令每 20 步重复一次;提示以 0.1 概率随机插入。训练预算 50M env steps,66 个并行环境实例
  • Messenger(Hanjie et al. 2021 环境):符号网格观测 + 人类撰写的游戏手册(多种指代方式,词表 1,125),三个难度递增的 Stage,测试对手册的多跳推理。S1 训练预算 1M steps / 16 envs,S2 25M steps / 16 envs,S3 50M steps / 66 envs;S2/S3 从上一阶段收敛模型初始化。
  • VLN-CE(Matterport3D 真实房屋扫描):10,819 条独特人类众包指令,跨 61 个场景,每 episode 随机采样指令+对应场景;智能体接收 egocentric RGB + depth,低层离散动作(前进 0.25m、左右转 15°)+ stop 动作。训练预算 30M steps / 8 envs
  • LangRoom(自建 embodied QA 环境):4 个物体固定位置、颜色随机化的房间,环境反复提问”what color is the ?”,智能体需移动过去观察再用语言 token 回答;训练预算 45M steps / 4 envs
  • 文本单模态预训练(Section 4.6,H4):把图像和动作输入清零,只用文本语料预训练世界模型(相当于纯语言建模)。两个数据源:(1) 领域内文本——Messenger S2 的游戏手册;(2) 领域通用文本——TinyStories(Eldan & Li, 2023),约 2M 篇短故事、约 500M tokens,GPT-4 生成的儿童故事数据集。预训练后可加载世界模型权重做微调(load_wm_ckpt,只加载世界模型部分,actor/critic 从零初始化)。
  • 无仿真到真实(sim-to-real)环节;三个语言环境(HomeGrid/Messenger/LangRoom)为仿真网格世界,VLN-CE 用真实房屋的 3D 扫描(Matterport3D)做视觉渲染但导航本身仍在模拟器 Habitat 中进行。

    训练方法

    总体流程(Algorithm 1):智能体与环境交互采集 (rₜ, cₜ, xₜ, lₜ, aₜ) 存入 replay buffer;训练时从 buffer 采 batch,世界模型联合优化 Lpred + Lrepr;再从所有 zₜ 出发做隐想象 rollout 训练 actor/critic;文本预训练阶段把图像和动作清零,只优化 Lpred + Ll

    动作空间:主实验用离散分类动作空间;LangRoom 额外把语言 token 纳入动作空间(factorized:每步同时输出运动指令和一个语言 token),使智能体能”说话”。

    关键超参(Table I.3):Train ratio(等价 replay ratio)HomeGrid 32、Messenger S1 64/S2 64/S3 32、VLN 32、LangRoom 16;Batch size 8–24(因环境不同:HomeGrid/S1/LangRoom 16,S2/S3 24,VLN 8);Batch length(unroll length)HomeGrid/S1/VLN 256,S2/S3 512,LangRoom 64;折扣/λ-return 等策略学习超参沿用 dreamer-v3 默认(T=15 想象 horizon,未在本页单独调)。

    基线对照:IMPALA、R2D2(均用 SeedRL 实现,LSTM + CNN 图像编码器 + MLP 语言编码器,接收与 Dynalang 相同的语言观测——token embedding 或 one-hot),以及 Messenger 原始任务专用基线 EMMA(PPO 训练、假设文本 token 到场景区域的空间归纳偏置)。论文额外做了基线的模型缩放实验(R2D2 从 1.7M 到 37M、IMPALA 从 1.5M 到 34M)和句子级 embedding 替代,均未能让基线追上 Dynalang(Appendix H)。

    Infra(训练 / 推理工程)

    • 硬件:论文明确”All models were trained on NVIDIA A100 GPUs”(Section I.2),未披露具体每次实验用几张卡(README 提示默认单卡跑不了论文同等 batch size,需要多卡:训练世界模型和跑策略可以分配到不同 GPU,如 --jax.train_devices 0,1,2,3 --jax.policy_devices 0)。
    • 训练时长(Table I.3,GPU days):HomeGrid 3.75 GPU-天(50M steps);Messenger S1 2.5(1M steps)、S2 16(25M steps)、S3 24(50M steps);VLN-CE 16 GPU-天(30M steps);LangRoom 2 GPU-天(45M steps)。
    • 框架:基于 dreamer-v3 的 JAX 实现改造(“This repo is adapted from DreamerV3”)。
    • 推理侧 FPS/延迟、显存占用等数字未披露

    评测 benchmark

    • H1(架构消融,Messenger S1):Dynalang 的简单逐 token+逐帧对齐架构显著超过 5 种替代方案(Language-Cond. Policy、Sentence Embed、T5+Image Adapter、T5+Cross-Att.、Finetuned T5+Cross-Att.、T5+Two-Way Cross-Att.),即使用从零训练的 token embedding 也胜过用了预训练 T5 的对照组(Figure 4)。
    • H2/H3(HomeGrid,50M steps,2 seeds):Dynalang 在四种设定(Task Only / With Future / With Corrections / With Dynamics)下分数均随”提示越多”而上升;对照的 IMPALA 几乎学不会该任务,R2D2 只能利用与 reward 相关性强的语言类型(任务指令、纠错),随语言更多样反而性能下降(Figure 5)。
    • H2(Messenger,2 seeds):三个 stage 上 Dynalang 均超过 IMPALA、R2D2 与任务专用架构 EMMA;其余方法在最难的 Stage 3 都学不出非平凡性能,Dynalang 是唯一能拟合 S3 的方法(Figure 6)。
    • H3(VLN-CE,3 seeds vs. R2D2 2 seeds,30M steps):Dynalang 成功率显著高于 model-free 的 R2D2 基线(Figure 7),但论文明确指出:尚未达到当前 VLN SOTA 水平(多数 SOTA 方法依赖专家演示或专门架构),仍需后续工作缩小差距。
    • H4(LangRoom embodied QA,训练曲线见 Figure 8):智能体学会先移动到目标物体再生成正确颜色词,回答准确率随训练提升;大词表实验(Figure 9)显示词表 10k + 无 prior 时学不出来,词表 10k + 用世界模型 next-token 预测做正则后可追平词表 15 的 QA 性能。
    • H4(文本预训练,Messenger S2,Figure 10):仅从零学 one-hot embedding 在 S2 上表现差;用预训练 T5 embedding 明显更好;而用少量领域内文本预训练(Messenger 手册)就能弥合大部分差距;用 TinyStories(约 500M tokens 通用文本)预训练甚至超过使用 T5 embedding 的最终性能,作者认为这是因为预训练让模型提前离线学到了”文本动态”而非在线交互中现学。
    • 论文没有与本领域外的 VLM/LLM-based 具身智能体(如 PaLM-E、RT-2)做直接数值对比,只在相关工作中定性讨论差异。

    创新点与影响

    • 提出”语言作为未来预测信号”的统一视角,把语言理解从”预测最优动作”的强监督问题解耦成”预测未来多模态观测”的自监督问题,用一个单一的多模态世界模型同时处理指令、规则、状态描述、纠错等多样语言类型。
    • 证明了 model-free 语言条件策略(IMPALA、R2D2)在语言多样性增加时性能退化,而 Dynalang 的世界模型方法性能提升,为”语言复杂度扩展性”给出了直接的实验证据(而非仅停留在任务或视觉复杂度扩展)。
    • 生成式世界模型带来额外能力:(1) 可用纯文本数据(无 action/reward)离线预训练,为”离线大规模文本预训练 + 在线 RL 微调”的统一智能体范式打开路径;(2) 可以反向生成语言(LangRoom 的具身问答),把语言理解和语言生成统一在同一世界模型架构里。
    • 引入新环境 HomeGrid,专门用来controllably 测试智能体对多样语言类型(而非仅指令)的接地能力,是论文声称的一项独立贡献,环境随代码开源。
    • 论文自陈局限:(1) VLN-CE 上 Dynalang 虽超过 R2D2 基线,但仍未达到依赖专家演示/专用分层架构的当前 SOTA 水平;(2) 论文明确声明”不是要提出新的世界模型架构”,其架构选择(逐 token+逐帧对齐)是通过消融”发现的简单有效方案”而非理论最优;(3) 大词表语言生成实验(LangRoom, 10k 词表)只是概念验证(proof-of-concept),远未到自然语言全词表规模;(4) 文本生成样本(Appendix E)质量”明显低于现代语言模型”,且模型并非显式用标准语言建模目标训练(只是通过 next-representation 预测隐式学到)。

    原始链接

    一手源存档(sources/)