一句话定位

DreamerV2 是第一个纯靠世界模型「想象」就在 Atari 上达到人类水平的 RL agent:它在 dreamer-v1 的骨架上做两处关键改动——把 RSSM 的高斯连续隐状态换成一组分类(categorical)离散隐变量(32 个变量 × 32 类,straight-through 梯度)、并引入 KL balancing——从而把世界模型学得足够准,让 actor-critic 完全在隐空间想象出的轨迹上学策略。在 55 个 Atari 游戏、200M 帧、单张 V100、单环境实例、<10 天的预算下,它超过了顶级单卡 model-free agent Rainbow 与 IQN,并同样适用于连续控制(首次从纯像素解出 DeepMind Control 的 humanoid 站立+行走)。ICLR 2021。

背景与定位

RL 长期分两条路:model-free(DQN、Rainbow、IQN、C51)靠试错直接学策略,在 Atari 上是达人类水平的唯一现实路径,但样本效率低;model-based / world model 额外学一个环境模型,脑内推演以减少真实交互。从图像学隐动力学的世界模型由 planet(RSSM, 2018)打通,dreamer-v1(Dream to Control, 2019)进一步把「纯隐空间想象 actor-critic」范式立起来并解决了连续控制。但在最竞争的 Atari 上,此前没有任何世界模型能与顶级 model-free 抗衡:SimPLe(像素空间视频预测 + PPO)只在 36 个游戏的易子集上评测且收益递减;muzero 靠 MCTS + value-prediction 拿到惊人成绩,但只预测任务相关的奖励/价值、不做显式表征学习,且实现不公开、单卡训一个 Atari agent 要 2 个多月

DreamerV2 要证明的命题是:model-based RL 能在最竞争的 RL benchmark 上击败顶级 model-free,而且用可复现的单卡预算。它对 DreamerV1 只做「小改动」,却把世界模型的精度推过了人类水平线。论文同时提出 Atari 分数聚合的方法论批评,推荐 clipped record mean(按人类世界纪录归一后截断到 1 再取均值)作为更鲁棒的指标。后续 dreamer-v3 直接沿用这套「离散 RSSM + 隐想象 actor-critic」骨架并做到一套超参跨 150+ 任务。

模型架构

DreamerV2 = 一个 model-based agent 的三件套:从经验数据学世界模型 → 在世界模型想象的隐轨迹上学 actor+critic → 把 actor 放回真实环境采数据。世界模型在学 behavior 时冻结。

世界模型(RSSM,把 DreamerV1 的高斯隐换成离散隐),各部件联合优化,参数记 φ:

  • Recurrent model hₜ = f_φ(hₜ₋₁, zₜ₋₁, aₜ₋₁):用 GRU 算确定性递归状态 hₜ。
  • Representation model(后验) zₜ ~ q_φ(zₜ | hₜ, xₜ):把当前图像 xₜ 的信息编入随机隐状态 zₜ。实现 = CNN 图像编码 + MLP(吃图像 embedding 和 hₜ)。
  • Transition predictor(先验) ẑₜ ~ p_φ(ẑₜ | hₜ):不看当前图像就预测后验——正是它让 agent 后续能在隐空间想象、无需生成图像。
  • Image / Reward / Discount predictor x̂ₜ, r̂ₜ, γ̂ₜ:分别是转置 CNN、MLP、MLP。image 输出单位方差对角高斯,reward 输出单位方差单变量高斯,discount 输出 Bernoulli。
  • 紧凑模型状态 = 确定性 GRU 状态 hₜ 与随机隐 zₜ 的拼接。

关键创新①:离散/分类隐状态 + straight-through 梯度。 随机隐 zₜ 不是高斯,而是一组 32 个分类变量、每个 32 类;采样出的 one-hot 拼接成长度 1024 的稀疏二值向量(32 个激活位)。采样不可导,用 straight-through 估计器(sample = one_hot(draw) + softmax(logits) − stop_grad(softmax(logits)),Bengio 2013)让梯度等于概率的梯度。博客给的直觉:分类先验能完美拟合聚合后验(分类的混合仍是分类),高斯先验无法匹配多模态高斯后验,因此更准地预测「下一帧的多种可能」。

关键创新②:KL balancing。 世界模型损失是条件于动作序列的 HMM 的 ELBO / 变分自由能(可视作 sequential VAE:representation model = 近似后验,transition predictor = 时序先验)。ELBO 里 KL 项既训练先验向表征靠拢、又正则表征向先验靠拢;但先验(动力学)难学,不该把表征拽向一个还没学好的先验。于是用两个不同学习率分别最小化 KL:对先验用 α=0.8、对后验用 1−α=0.2(Algorithm 2:kl = α·KL(sg(post), prior) + (1−α)·KL(post, sg(prior))),鼓励「把先验学准」而非「把后验熵撑大」。与 β-VAE 正交。

架构配置数字: 84×84 灰度图下采样到 64×64;所有部件用 ELU 激活;RSSM 隐单元 600;MLP 4 层 × 400 单元;世界模型 20M 可训练参数,actor / critic 各 1M(总 22M)。

行为网络(都是 MLP + ELU):

  • Actor âₜ ~ p_ψ(âₜ | ẑₜ):离散动作输出分类分布(连续控制输出 truncated normal)。
  • Critic v_ξ(ẑₜ):确定性输出,估计状态价值(state value 而非 Q,因为梯度直接穿动力学)。
  • 想象 MDP:初始状态取世界模型训练时遇到的紧凑模型状态分布,transition predictor 向前推 H=15 步,reward/discount predictor 给出想象奖励与折扣。隐序列是 Markov 的,actor/critic 只需 condition 当前模型状态。

数据

DreamerV2 是在线 RL、非监督预训练语料,「数据」= agent 自己与 Atari 环境交互不断增长的经验回放:

  • 回放缓冲:FIFO,容量 2×10⁶;存图像 x、动作 a、奖励 r、折扣 γ 的序列。
  • 世界模型训练批B=50 条序列 × 固定长度 L=50,在存储的 episode 内随机采起点(起点裁剪以观测到足够的 episode 结束)。
  • 评测规模55 个 Atari 游戏,每个游戏训一个独立 agent、单环境实例、200M 环境步(action repeat=4,即 50M 真实输入帧);time limit 108,000 步(30 分钟游戏),无生命信息、全动作空间、sticky actions(25% 概率忽略当前动作、重复上一个)。因世界模型自带时间整合,不做 frame stacking
  • 想象 vs 真实的悬殊比例:200M 步训练中,DreamerV2 在模型里想象出 468B(4680 亿)个紧凑状态用于学策略,是从真实环境收到的 50M 输入的 约 10,000 倍——这正是隐空间想象的样本放大效应。
  • discount factor:episode 内固定 γ=0.999、终止步置 0(文中 discount 目标口径;behavior 折扣见下)。
  • 连续控制数据来自 DeepMind Control Suite(humanoid,21 维动作,纯像素输入)。

训练方法

多阶段循环:交替地 ① 训世界模型 ② 训 actor-critic ③ 采数据;每 4 个 policy step 做 1 次梯度更新train_every),全程单卡单环境。

世界模型目标(ELBO,联合优化):image + reward + discount 三个 log-likelihood 项 + β·KL,KL 用上面的 balancing。KL scale β=0.1(Atari)/ 1.0(连续控制);世界模型 lr 2×10⁻⁴;奖励做 tanh 变换;Adam 优化。

Critic(价值学习):用 λ-return(λ=0.95) 做 TD 目标回归,平方损失;stop-grad 目标;用每 100 个梯度步同步一次的 target network 稳定。critic lr 1×10⁻⁴

Actor(策略学习):最大化同一 λ-return,损失 = Reinforce 项 + 动力学反传(straight-through)项 + 熵正则。用 ρ 混合两种梯度

  • Atari:ρ=1(纯 Reinforce),熵系数 η=1×10⁻³——消融显示 Reinforce 对离散动作显著更好,纯 straight-through 会因偏差在 44/55 任务上变差。
  • 连续控制:ρ=0(纯动力学反传),η=1×10⁻⁴;humanoid 进一步用 η=1×10⁻⁵、β=2 加速。
  • actor lr 4×10⁻⁵;梯度裁剪 100;Adam ε=10⁻⁵;decoupled weight decay 10⁻⁶。

从 DreamerV1 到 V2 的改动(Appendix C,实测有效的):① 分类隐 + straight-through(替代高斯 + 重参数化);② KL balancing(替代 free nats);③ Atari 上纯 Reinforce(连续控制纯动力学反传);④ 模型放大 13M→22M 参数;⑤ 想象与采数据都用策略熵正则替代外部动作噪声。试过但无明显收益:二值隐、长时程熵、混合 actor 梯度、各种 scheduling、RSSM 里的 layer norm。

Infra(训练 / 推理工程)

  • 训练硬件单张 NVIDIA V100 GPU + 单环境实例;200M 环境步 <10 天(与 Rainbow 报告的单卡 10 天同量级预算)。
  • 并行度来源:不生成图像、只在隐空间推演,使得单卡可并行模拟 2500 条隐轨迹
  • 精度:官方实现(TensorFlow 2)默认混合精度(16-bit),README 注明「无穷梯度范数是 loss scaling 的正常现象」,可用 --precision 32 关闭。
  • 完整消融的算力代价:对全部改动做严格消融需 55 任务 × 5 seed × 10 天/改动 ≈ 6 万 GPU 小时/改动,作者称因此无法穷举、只在正文给关键消融。
  • 与同期 model-based 的工程对比(Table 3,accelerator days):DreamerV2 22M 参数 / 200M 帧 / 10 天、单卡;SimPLe 74M / 4M 帧 / 40 天;MuZero 40M / 20B 帧 / 80 天且非单卡、需 MCTS(难并行)。
  • 推理:Atari control 走标准 action repeat=4;论文未给独立的部署 FPS / 延迟数字(未披露)。

评测 benchmark

Atari 55 游戏 @ 200M 步,四种聚合口径(Table 1,final scores):

AgentGamer MedianGamer MeanRecord MeanClipped Record Mean
DreamerV22.1511.330.440.28
DreamerV2 (schedules)2.6410.450.430.28
IQN1.298.850.210.21
Rainbow1.479.120.170.17
C511.097.700.150.15
DQN0.652.840.120.12

DreamerV2 在全部四个口径上超过四个 model-free baseline(baseline 分数取自 Dopamine,均用 sticky actions),在 record-normalized mean 上优势最大。博客口径:clipped record mean 上 DreamerV2 平均达到人类世界纪录的 约 25%(消融版本口径)。个别游戏上除 Video Pinball(球只占 1 像素、重建损失学不到有意义表征)外均相当或更优;提升最大的是 James Bond、Up N Down、Assault。

消融(Table 2,slightly earlier version,按 clipped record mean 排序):

消融Gamer MedianGamer MeanRecord MeanClipped Record Mean
DreamerV2(完整)1.6411.330.360.25
− Layer Norm1.665.950.380.25
− Reward Gradients1.686.180.370.24
− Discrete Latents(用高斯)1.083.710.240.19
− KL Balancing0.843.490.190.16
− Policy Reinforce0.692.740.160.15
− Image Gradients0.040.310.010.01

逐任务胜负:分类 vs 高斯——分类在 42 任务更优、8 更差、5 平;KL balancing 在 44 更优、6 更差、5 平;停 image 梯度 51 任务变差(世界模型高度依赖图像的学习信号);停 reward 梯度 22 变差 / 15 变好 / 18 平(差异小,说明表征即使不为预测奖励而训、也能泛化到准确的奖励预测——呼应 CV 里非监督表征学习)。纯 Reinforce vs 混合:只 Reinforce 相对完整版 18 好 / 24 差 / 13 平;只 straight-through 5 好 / 44 差 / 6 平。

其它评测:Montezuma’s Revenge(硬探索)用 γ=0.99,无显式探索机制即达到 Rainbow+Curiosity(ICM) 水平;连续控制在 DeepMind Control humanoid(21 维动作)纯像素下同时解出站立与行走(作者称为首个从纯像素解 humanoid 的公开结果),约 4×10⁷ 步逼近 800 分。

创新点与影响

贡献:① 用分类离散隐状态 + straight-through 梯度替代世界模型里长期默认的高斯隐,实测在 42/55 Atari 上更优;② KL balancing——用不对称学习率让先验(动力学)比后验学得快,是把世界模型学准的关键(44/55 更优);③ 由此成为第一个纯在世界模型内学 behavior 就达 Atari 人类水平的 agent,且用可复现的单卡 <10 天预算超过 Rainbow/IQN,证明 model-based RL 能在最竞争的 benchmark 上击败顶级 model-free;④ 提出 Atari 分数聚合的方法论批评并推荐 clipped record mean;⑤ 与 MuZero 的对照点:DreamerV2 只靠图像的通用学习信号学表征(不用任务特定的 value 梯度、无 MCTS),MuZero 的规划组件与之正交、可叠加。

影响:把「离散 RSSM + 隐空间想象 actor-critic」定型为世界模型 RL 的主干范式,直接催生 dreamer-v3(一套超参跨 150+ 任务、Minecraft 从零挖钻石);离散 latent + straight-through 也成为后续世界模型 / tokenizer 的常见选择。

作者自述局限:不知道分类隐为何更好(只给出若干假设:分类先验能拟合聚合后验、稀疏性利于泛化、straight-through 忽略一个缩放项可能缓解梯度爆炸/消失、对 Atari 非光滑变化是更好的归纳偏置);因算力无法对全部改动做穷举消融;Video Pinball 这类关键物体仅占极少像素的游戏,重建损失学不到有用表征。

原始链接

一手源存档(sources/)