DREAM论文笔记
DREAM TO CONTROL: LEARNING BEHAVIORS BY LATENT IMAGINATION
摘要及引言部分
Dreamer是一个纯粹通过潜在想象(latent imagination)来解决基于图像的长视野(long-horizon)任务的强化学习智能体

通过潜在想象学习长视野行为:如果基于模型的智能体使用有限的想象视野,它们可能会显得短视。我们通过预测动作和状态值来应对这一限制。在潜在空间中纯粹通过想象进行训练,让我们能够通过将解析的价值梯度在潜在动力学中进行反向传播来高效地学习策略。
视觉控制领域的实证表现:我们将 Dreamer 与现有的表征学习方法结合,并在以图像为输入的 DeepMind Control Suite 上对其进行了评估,如图2所示。在所有任务中使用相同的超参数,Dreamer 在数据效率、计算时间以及最终表现上超越了以往的基于模型(model-based)和无模型(model-free)的智能体。
基于世界模型的控制(CONTROL WITH WORLD MODELS)
图 3:Dreamer 的组成部分。 (a)从经验中学习动力学。 智能体利用过去收集到的经验数据集,将观测和动作编码为紧凑的潜在状态(例如通过图像重建进行学习),并预测环境奖励。 (b)在想象中学习行为。 在紧凑的潜在空间中,Dreamer 同时预测状态价值和动作,并通过将价值梯度沿着想象轨迹反向传播,学习能够最大化未来价值的策略。 (c)在真实环境中执行动作。 智能体根据当前回合的历史观测计算当前潜在状态,并利用动作模型预测下一步需要执行的动作。有关完整算法流程,请参见论文中的算法 1。
强化学习
离散的时间步 t∈[1;T] 由智能体生成的连续向量值动作 at∼p(at) 由未知环境生成的高维观测值 o≤t 标量奖励 rt∼p(ot,rt∣o<t,a<t) 目标是开发一个能够最大化期望奖励总和 Ep(∑t=1Trt) 的智能体
智能体组件
在想象中进行学习的智能体的经典组件包括:动力学学习(dynamics learning)、行为学习(behavior learning)以及环境交互(environment interaction)
Dreamer 在智能体的整个生命周期中交替或并行执行以下操作:
- 从过往经验的数据集中学习潜在动力学模型,从而根据动作和过去的观察来预测未来的奖励。任何针对世界模型的学习目标都可以与 Dreamer 结合使用。
- 从预测的潜在轨迹中学习动作模型(action model)和价值模型(value model)。价值模型针对想象的奖励优化贝尔曼一致性(Bellman consistency),而动作模型则是通过将价值估计的梯度通过神经网络动力学进行反向传播来更新。
- 在真实世界中执行学到的动作模型以收集新经验,从而扩充数据集。
潜在动力学
Dreamer 使用的潜在动力学模型由三个部分组成: 表征模型:p(st∣st−1,at−1,ot)
转移模型:q(st∣st−1,at−1)
奖励模型:q(rt∣st)
使用 p 来表示在真实环境中生成样本的分布,使用 q 表示用于实现潜在想象的近似分布
算法 1:Dreamer (Algorithm 1: Dreamer)
模型组件 (Model components)
- 表征 (Representation): pθ(st∣st−1,at−1,ot)
- 转移 (Transition): qθ(st∣st−1,at−1)
- 奖励 (Reward): qθ(rt∣st)
- 动作 (Action): qϕ(at∣st)
- 价值 (Value): vψ(st)
超参数 (Hyper parameters)
- 种子片段 (Seed episodes): S
- 收集间隔 (Collect interval): C
- 批大小 (Batch size): B
- 序列长度 (Sequence length): L
- 想象视野 (Imagination horizon): H
- 学习率 (Learning rate): α
使用 S 个随机种子片段(episodes)初始化数据集 D。 随机初始化神经网络参数 θ,ϕ,ψ。
当未收敛时执行 (while not converged do)
对于更新步 c=1..C 执行 (for update step c=1..C do)
// 动力学学习 (Dynamics learning) 抽取 B 个数据序列 {(at,ot,rt)}t=kk+L∼D。 计算模型状态 st∼pθ(st∣st−1,at−1,ot)。 使用表征学习更新 θ。 // 行为学习 (Behavior learning) 从每个 st 想象轨迹 {(sτ,aτ)}τ=tt+H。 预测奖励 E(qθ(rτ∣sτ)) 和价值 vψ(sτ)。 通过公式 6 计算价值估计 Vλ(sτ)。 更新 ϕ←ϕ+α∇ϕ∑τ=tt+HVλ(sτ)。 更新 ψ←ψ−α∇ψ∑τ=tt+H21∥vψ(sτ)−Vλ(sτ)∥2。
// 环境交互 (Environment interaction)o1←env.reset()对于时间步 t=1..T 执行 (for time step t=1..T do)
根据历史记录计算 st∼pθ(st∣st−1,at−1,ot)。 使用动作模型计算 at∼qϕ(at∣st)。 向动作中添加探索噪声。 rt,ot+1←env.step(at)。
将经验添加到数据集 D←D∪{(ot,at,rt)t=1T}。
Dreamer 保留了 PlaNet 的世界模型,但把"在线规划(Planning)"变成了"Actor-Critic 学习(Learning)":Actor 学会直接输出动作,取代了 CEM;Critic 学会估计长期价值,并通过 λ-return 和梯度反向传播,让 Actor 能够学习长时序行为。
正是这两大模型的引入解决了 PlaNet 的核心痛点:
- 动作模型(相当于 Actor):取代 CEM,实现“直觉”决策PlaNet 的痛点:
- 每次遇到新状态,都要靠 CEM 这种无导数优化算法(在线规划)临时往后推演很多步、生成大量候选轨迹来寻找最优动作 。这导致其在环境交互阶段计算量极大、动作极慢。
- Dreamer 的解法: 动作模型的目的是直接预测能够解决想象环境的动作 。它提前在“梦境”(潜在空间)里把策略网络训练好了。实机交互时,只需把当前潜在状态丢给动作模型,进行一次极快的网络前向传播即可输出动作,彻底摆脱了实时的 CEM 规划。
- 价值模型(相当于 Critic):突破视野限制,实现“长远”规划PlaNet 的痛点:
- 受限于计算力,规划时只能往前推演有限的步数(想象视野,例如 15 步)。它只最大化这 15 步内的奖励,导致行为非常短视(Shortsighted),遇到需要长期信用分配(比如把单摆甩几圈再立起来)的任务就容易失败 。
- Dreamer 的解法: 价值模型用来估计想象视野之外的预期奖励 。它充当了一个“长期价值评估器”。即便动作模型只在梦里往前推演了 15 步,价值模型也能告诉它:“第 15 步的这个状态,在遥远的未来大概能拿到多少总分”。这就让 Dreamer 对视野长度更具鲁棒性,能够成功解决长视野任务 。
基于潜在想象的行为学习(LEARNING BEHAVIORS BY LATENT IMAGINATION)
Dreamer 通过高效利用神经网络潜在动力学,在学习到的世界模型的紧凑潜在空间中学习长视野(long-horizon)行为. 利用重参数化(reparameterization)技术,将多步回报(multi-step returns)的随机梯度穿过神经网络对动作、状态、奖励和价值的预测进行反向传播
想象环境 (Imagination environment)
用 τ 作为时间索引来表示想象中的量。 想象轨迹始于智能体过去经验中提取的观察序列的真实模型状态 st。它们遵循转移模型 sτ∼q(sτ∣sτ−1,aτ−1)、奖励模型 rτ∼q(rτ∣sτ) 以及策略 aτ∼q(aτ∣sτ) 的预测。目标是针对策略去最大化期望的想象奖励 Eq(∑τ=t∞γτ−trτ)。
动作与价值模型 (Action and value models)
Dreamer 使用了一种演员-评论家(actor critic)方法,以学习那些将视野之外奖励纳入考虑的行为
在世界模型的潜在空间中学习一个动作模型和一个价值模型。 动作模型实现了策略功能,旨在预测能解决想象环境的动作。 动作模型:aτ∼qϕ(aτ∣sτ)
价值模型则估计动作模型从每个状态 sτ 所能获得的预期想象奖励:
价值模型:vψ(sτ)≈Eq(⋅∣sτ)(∑τ=tt+Hγτ−trτ)
动作模型旨在最大化对价值的估计,而价值模型旨在拟合随着动作模型变化而改变的价值估计值
价值估计 (Value estimation)
为了学习动作和价值模型,我们需要估计想象轨迹的状态价值。
Dreamer 使用 Vλ,这是不同 k 值下的估计值的指数加权平均,以此来平衡偏差和方差。 Vλ(sτ)≐(1−λ)∑n=1H−1λn−1VNn(sτ)+λH−1VNH(sτ)
图 4:推演视野(想象步数)。本文对比了三种方案的最终性能:Dreamer、仅训练动作模型而不做价值预测的模型、采用 PlaNet 进行在线规划的模型。通过训练状态价值模型来预估推演视野之外的远期奖励,让 Dreamer 对推演步数的长短具备更强鲁棒性。所有智能体均采用像素重构方式开展表征学习,动作重复次数统一设置为R=2。
学习目标 (Learning objective)
价值估计 Vλ(sτ)在更新模型之前,系统会先计算出想象轨迹中每一个状态的“综合评分”——也就是价值估计 Vλ(sτ) 。这个评分综合了未来的预期奖励。
- 价值模型(Critic)怎么练?(公式 8)
- 目标: 价值模型 vψ(sτ) 的任务是精准预测刚才算出来的那个综合评分 Vλ(sτ) 。
- 做法: 通过最小化均方误差(公式 8 中的 21∣∣vψ(sτ)−Vλ(sτ)∣∣2),让自己的预测值逼近目标值 。
- 细节: 在向目标值回归时,使用了“停止梯度(stop the gradient)”的技术,意思是把 Vλ(sτ) 当作一个固定的标靶,不去改变它 。
- minψEqθ,qϕ(∑τ=tt+H21∣∣vψ(sτ)−Vλ(sτ)∣∣2) (公式 8)
- 动作模型(Actor)怎么练?(公式 7)
- 目标: 动作模型 qϕ(aτ∣sτ) 的任务是最大化未来的收益 。
- 做法: 调整自身的参数 ϕ,使得输出的动作能够导向那些具有极高价值估计的状态(公式 7 中的 maxϕ) 。
- maxϕEqθ,qϕ(∑τ=tt+HVλ(sτ)) (公式 7)
与演员-评论家方法的比较 (Comparison to actor critic methods)
Dreamer 也是 Actor-Critic,但它最大的不同是:Dreamer 可以把梯度一直穿过世界模型(Dynamics Model)反向传播,而传统 Actor-Critic 做不到。
学习潜在动力学 (LEARNING LATENT DYNAMICS)
回顾了三种与 Dreamer 配合使用的表征学习方法:奖励预测、图像重建以及对比估计
奖励预测 (Reward prediction)
如果数据无限,仅预测奖励就足够了;但现实中的强化学习数据有限、奖励又很稀疏,因此世界模型需要学习比奖励更多的信息(如场景结构和环境动力学),这样得到的潜在表示才更有利于后续控制。
重建 (Reconstruction)
Dreamer 完全继承了 PlaNet 的 RSSM 世界模型,通过联合训练 Encoder、Decoder、Transition 和 Reward 四个模块,并利用图像重建、奖励预测以及 KL 正则共同优化,使潜在状态既能够保留图像信息,又能够描述环境动力学,为后续在潜在空间中的想象提供准确的世界模型。
对比估计 (Contrastive estimation)
对比估计(Contrastive Estimation)通过让模型直接提取能将当前图像与其他图像区分开来的特征(状态),而不是费力地去逐个还原整张图像的像素,从而降低计算负担并防止模型“偷懒”把所有图像认成同一个状态.
实验
Dreamer 实验总结 · 性能验证:在 DeepMind Control Suite 的 20 个视觉控制任务上,Dreamer 以 500 万环境步达到 823 的平均得分,超过了需要 1 亿环境步才能达到 786 分的 D4PG,同时保持了 PlaNet 的高样本效率。 · 长视野验证:通过对比 Dreamer、No Value 和 PlaNet,证明 Value Network(Critic) 能够估计想象视野之外的未来回报,使算法对 imagination horizon 不敏感,并能稳定学习长期行为。 · 表征学习验证:比较了 图像重建(Reconstruction)、对比学习(Contrastive) 和 奖励预测(Reward Prediction) 三种世界模型训练方式,结果表明图像重建能够学习到质量最高的世界模型,从而获得最佳控制性能。 · 计算效率验证:由于使用 Actor 直接输出动作替代 PlaNet 的 CEM 在线规划,Dreamer 的训练和推理效率显著提高,每百万环境步训练约需 3 小时,明显快于 PlaNet(11 小时)和 D4PG(24 小时)。
Dreamer对比PlaNet的提升
Dreamer 保留了 PlaNet 的 RSSM 世界模型,但新增了 Actor 和 Critic,将基于 CEM 的在线规划转化为基于潜在想象的 Actor-Critic 学习:Actor 直接输出动作替代在线规划,Critic 估计长期价值并通过可微世界模型反向传播梯度,从而在保持高样本效率的同时提升了最终性能、长期规划能力和计算效率。
| 对比项 | PlaNet | Dreamer | 提升 |
|---|---|---|---|
| 世界模型 | RSSM | RSSM(基本相同) | 基本无变化 |
| 动作选择 | CEM 在线规划 | Actor 网络直接输出 | ✅ 推理速度更快 |
| 长期价值 | 固定 Horizon 奖励 | Critic + λ-return | ✅ 能学习长期行为 |
| 策略优化 | 黑盒搜索 | 可微 Actor-Critic | ✅ 梯度可穿过世界模型 |
| 推理效率 | 每步重新规划 | 一次前向传播 | ✅ 更适合实际部署 |
| 样本效率 | 很高 | 保持很高 | 基本持平 |
| 最终性能 | 优秀 | 更高 | ✅ 超过 PlaNet 和 D4PG |