一句话定位
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 世界模型脉络(planet → dreamer-v1 → dreamer-v2 → dreamer-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