Dreamer
概述
Dreamer框架是一个基于世界模型的强化学习方法,主要用于通过学习环境的隐式模型来进行高效的规划与决策。它属于强化学习领域中的一种重要方法,特别是在模型学习和模型预测控制(MPC)方面。Dreamer由Danijar Hafner等人于2019年提出,其核心思想是通过训练一个潜在的世界模型(world model),该模型通过对环境的内在表示进行建模,来模拟未来的状态变化,并基于此进行长期规划。与传统的强化学习方法(如基于值函数的Q学习或策略梯度方法)不同,Dreamer不直接依赖于与环境的交互,而是通过学习环境的动态模型,结合模型预测进行策略优化,从而提高了样本效率,尤其在复杂任务中能显著减少对环境交互的依赖。该方法使得强化学习能够在有限的交互次数内达到较高的性能,并在多个控制任务中取得了显著的成功。
背景知识
世界模型通过变分自编码器(VAE)和循环网络(RNN)从高维感知数据中学习环境的潜在表示,使得智能体可以在“内心”模拟未来轨迹,从而提高决策效率和样本利用率。
模型预测控制(MPC)基于已知或学习到的动力学模型,在有限时域内不断地在线优化动作序列,以滚动时域策略实现对系统的精确控制。
Dreamer 则在 PlaNet 的潜在动力学模型基础上,进一步引入潜在空间中的“想象”轨迹和端到端的策略—价值梯度更新,通过反向传播使得策略和价值网络能够在梦中高效学习,无需昂贵的在线规划。
世界模型(World Models)简介
世界模型旨在构建一个能够“梦”出未来的生成式动态模型。首先,令观测序列为[math]\displaystyle{ o_t }[/math] ,通过 VAE 将其编码为潜在状态[math]\displaystyle{ z_t }[/math]:
[math]\displaystyle{ z_t \sim q_\phi(z_t\mid o_t) }[/math],
其中 [math]\displaystyle{ o_t }[/math] 表示时刻 [math]\displaystyle{ t }[/math]的观测(如图像),[math]\displaystyle{ z_t }[/math] 为对应的潜在变量,[math]\displaystyle{ q_\phi }[/math]是参数为 [math]\displaystyle{ \phi }[/math]的近似后验分布,通常设为高斯分布,用于提取和压缩空间特征。接下来,利用循环神经网络(RNN)建模潜在动力学,预测下一时刻的潜在状态:
[math]\displaystyle{ \hat{z}_t = f_\theta(z_{t-1}, a_{t-1}) }[/math],
其中 [math]\displaystyle{ f_\theta }[/math]表示参数为 [math]\displaystyle{ \theta }[/math]的 RNN(例如 GRU 或 LSTM),它接收前一时刻的潜在状态[math]\displaystyle{ z_{t-1} }[/math]与动作[math]\displaystyle{ a_{t-1} }[/math],输出对下一潜在状态的预测[math]\displaystyle{ \hat{z}_t }[/math]。然后,解码器 [math]\displaystyle{ p_\psi }[/math]从 [math]\displaystyle{ \hat{z}_t }[/math]重构观测并预测即时奖励:
[math]\displaystyle{ \hat{o}_t \sim p_\psi(o_t\mid \hat{z}_t), \quad \hat{r}_t = r_\psi(\hat{z}_t) }[/math],
其中[math]\displaystyle{ \hat{o}_t }[/math]表示对原始观测[math]\displaystyle{ o_t }[/math]的重构,[math]\displaystyle{ \hat{r}_t }[/math]表示对真实奖励[math]\displaystyle{ r_t }[/math]的预测,[math]\displaystyle{ \psi }[/math]为解码及奖赏网络参数。模型通过最小化以下总损失进行训练:
[math]\displaystyle{ \mathcal{L} = \sum_t \Bigl[\underbrace{\|o_t - \hat{o}_t\|^2}_{\text{重构误差}} + \underbrace{(r_t - \hat{r}_t)^2}_{\text{奖励预测误差}} + \underbrace{\mathrm{KL}\bigl(q_\phi(z_t\mid o_t)\,\|\,p(z_t\mid z_{t-1},a_{t-1})\bigr)}_{\text{先验正则}}\Bigr] }[/math],
其中[math]\displaystyle{ \mathrm{KL}(\cdot\|\cdot) }[/math]为 Kullback–Leibler 散度,先验分布[math]\displaystyle{ p(z_t\mid z_{t-1},a_{t-1}) }[/math]即由 RNN 隐状态给出的预测分布。
模型预测控制(Model Predictive Control, MPC)简介
MPC 利用系统的动力学模型,在每个决策时刻通过有限时域优化实时生成控制输入。假设系统状态为[math]\displaystyle{ p(z_t\mid z_{t-1},a_{t-1}) }[/math][math]\displaystyle{ s_t \lt math\gt ,作用于系统的控制动作为 ata_t,动力学模型表示为 st+1=f(st,at),s_{t+1} = f(s_t, a_t), 其中 ff 可以是通过系统辨识获得的线性或非线性模型,用于预测系统在当前状态 sts_t 及动作 ata_t 下的下一状态 st+1s_{t+1}。在时刻 tt,MPC 求解以下有限预测时域 HH 上的最优动作序列: {at∗,…,at+H−1∗}=argmaxat:t+H−1∑i=0H−1γi r(st+i,at+i)s.t.st+i+1=f(st+i,at+i),\{a_t^*,\dots,a_{t+H-1}^*\} = \arg\max_{a_{t:t+H-1}} \sum_{i=0}^{H-1} \gamma^i\,r\bigl(s_{t+i},a_{t+i}\bigr) \quad\text{s.t.}\quad s_{t+i+1}=f\bigl(s_{t+i},a_{t+i}\bigr), 其中 γ∈(0,1]\gamma\in(0,1] 为折扣因子,r(s,a)r(s,a) 为即时奖赏函数,HH 称为预测时域,优化结果是一组使未来累积折扣奖赏最大的动作序列。随后仅执行序列中的第一个动作 at∗a_t^*,环境推进后更新状态并重新求解优化问题,形成“滚动时域”(receding horizon)控制策略。MPC 的优点在于能够自然处理状态和动作约束,并具有对未来事件的预测能力;缺点则是每个时刻都要在线求解优化问题,计算开销较大,且对模型精度要求较高。 === Dreamer所继承或改进的相关方法(如PlaNet) === ---- ='''Dreamer框架原理'''= ==='''系统架构'''=== ==== 编码器-解码器(Encoder-Decoder) ==== 在Dreamer框架中,深度模型基于编码器-解码器架构,从高维感知输入(如图像)中学习紧凑的潜在表示。编码器通常由卷积神经网络(CNN)构成,用于提取图像观测的高层特征。具体地,编码器将每个观测\lt math\gt x_t }[/math]映射为随机潜在变量[math]\displaystyle{ z_t }[/math]的分布参数,例如连续高斯分布的均值和方差,或离散多分类分布的概率值。在早期方法(如PlaNet和DreamerV1)中,潜在变量[math]\displaystyle{ z_t }[/math]采用连续高斯分布表示。编码器输出均值[math]\displaystyle{ \mu_t }[/math]和标准差[math]\displaystyle{ \sigma_t }[/math],并通过重参数化采样获得[math]\displaystyle{ z_t }[/math]。DreamerV2进一步引入了离散潜在表示:将图像编码为多个独立的分类随机变量,每个变量取值于有限类别集合。例如,DreamerV2将每幅图像映射为32个独立的分类分布,每个分布有32个可能类别,通过采样生成32个独热向量,最终连接形成潜在表示[math]\displaystyle{ z_t }[/math]。这种离散潜变量设计提升了模型对多模态不确定性的表达能力,使得世界模型能够更好地捕捉环境中潜在的离散变化。为了在反向传播中处理离散采样带来的不可导问题,Dreamer采用了**直通梯度(straight-through gradient)**技巧:1. 在前向传播中,从每个分类分布中采样硬的独热向量;2. 在反向传播时,使用对应的软概率分布作为梯度近似。这种处理方式兼顾了离散表示的表达力和可微分性,使得整个编码器模块能够通过标准反向传播高效训练。
- 编码器:在Dreamer框架中,编码器(Encoder)承担着将高维原始观测[math]\displaystyle{ x_t }[/math]映射为低维潜在表示[math]\displaystyle{ z_t }[/math]的关键任务。其设计不仅要高效提取观测中的关键信息,还需保证潜在表示能够支持环境动力学建模与未来轨迹模拟。Dreamer系列方法通常采用卷积神经网络(CNN)作为编码器的主体结构,主要特点包括:逐层卷积提取图像观测中的局部与全局特征;将输入[math]\displaystyle{ x_t }[/math]映射为一组潜在分布参数(如均值、标准差或分类概率)。编码器最终输出的不是一个确定值,而是潜在变量[math]\displaystyle{ z_t }[/math]的概率分布参数,以便支持下游的随机采样与不确定性建模。
- 解码器与观测重构:解码器(observation model)负责从潜在状态重构原始观测[math]\displaystyle{ \hat{x}_t }[/math]。通常,解码器由卷积神经网络(CNN)的反向结构(如转置卷积)构成,用于将潜在表示还原为观测空间的分布参数。在Dreamer框架中,给定当前潜在状态(包括确定性隐状态[math]\displaystyle{ h_t }[/math]和随机成分[math]\displaystyle{ z_t }[/math]),解码器输出观测的概率分布,如图像像素的强度分布。具体地,对于图像重建任务:
1. PlaNet和DreamerV1/V2多采用高斯分布或伯努利分布对像素值建模;
2. 优化过程中,分别对应于均方误差(MSE)损失或对数似然损失。
3. DreamerV3进一步在解码器输出中引入了symlog变换处理:将原空间的像素或向量值应用对称对数压缩变换:[math]\displaystyle{ \text{symlog}(x) = \text{sign}(x) \cdot \log(1 + |x|) }[/math]。
4. 在symlog空间计算均方误差损失。
这种变换能够在保持小值分辨率的同时压缩极端取值范围,提升了模型在不同尺度环境下的重构稳定性,避免了因大幅度数值变化导致的训练不稳定问题。
Dreamer根据不同版本引入了两类潜在变量设计:
连续潜变量(PlaNet, DreamerV1):1. 潜变量[math]\displaystyle{ z_t }[/math]建模为多维对角高斯分布;2. 编码器输出每一维的均值[math]\displaystyle{ \mu_t }[/math]和标准差[math]\displaystyle{ \sigma_t }[/math];3. 使用**重参数化技巧(reparameterization trick)**进行采样: [math]\displaystyle{ z_t = \mu_t + \sigma_t \odot \epsilon }[/math],其中[math]\displaystyle{ \epsilon \sim \mathcal{N}(0, I) }[/math];4. 保证采样过程可微,支持反向传播训练。
离散潜变量(DreamerV2及之后):1. 潜变量[math]\displaystyle{ z_t }[/math]由多个独立的分类随机变量组成;2. 编码器输出每个分类变量的类别概率分布;3. 每个变量通过从分类分布中采样独热向量(one-hot vector)获得;4. 采样时采用直通梯度(straight-through gradient estimator)。这种离散化设计增强了模型捕捉环境中多模态、离散变化特征的能力,提升了世界模型在复杂动态系统中的建模灵活性。
- 潜在表示的先验与后验分布选择':在Dreamer框架中,世界模型为每个潜在变量指定先验分布[math]\displaystyle{ p_\theta(z_t|h_t) }[/math]与后验分布[math]\displaystyle{ q_\phi(z_t|h_t, x_t) }[/math]。其中:先验分布描述在缺乏真实观测[math]\displaystyle{ x_t }[/math]时,模型基于确定性隐状态[math]\displaystyle{ h_t }[/math]对下一个潜在状态的预测;后验分布则是在观察到[math]\displaystyle{ x_t }[/math]后,对潜在状态[math]\displaystyle{ z_t }[/math]的推断。当使用连续高斯潜变量时,先验和后验均建模为对角高斯分布;当使用离散潜变量时,则为多分类分布,如独热向量的离散采样表示。训练过程中,通过最大化变分证据下界(ELBO)联合优化编码器与解码器参数,目标包含:重构对数似然(观测、奖励、终止标志);潜在变量先验-后验之间的KL正则项。重构损失[math]\displaystyle{ L_{\text{pred}} }[/math]通常由以下部分组成:观测重建误差([math]\displaystyle{ -\ln p_\theta(x_t|h_t,z_t) }[/math]);奖励预测误差([math]\displaystyle{ -\ln p_\theta(r_t|h_t,z_t) }[/math]);终止信号预测误差。同时,引入KL正则项:[math]\displaystyle{ D_{\text{KL}}(q_\phi(z_t|h_t,x_t) \parallel p_\theta(z_t|h_t)) }[/math],以约束编码器后验接近动力学先验,防止编码器提取过多无关信息,提升潜在表示的可预测性与泛化能力。整体训练目标可表示为:[math]\displaystyle{ L = \mathbb{E}{q\phi} \left[ \sum_t \left( L_{\text{pred},t} + L_{\text{KL},t} \right) \right] }[/math]。
潜在动力学模型(Latent Dynamics Model)
PlaNet引入了循环状态空间模型(RSSM),用于在潜在空间中建模环境动力学。RSSM结合了确定性路径与随机路径:每个时间步的隐状态由一个确定性递归状态[math]\displaystyle{ h_t }[/math]和一个随机潜变量[math]\displaystyle{ s_t }[/math](亦记作[math]\displaystyle{ z_t }[/math])共同组成。RSSM包含以下子模块:
- 状态转移模型: [math]\displaystyle{ h_t = f_\phi(h_{t-1}, s_{t-1}, a_{t-1}) }[/math]。通常由GRU等递归神经网络实现,依据前一时刻的[math]\displaystyle{ h_{t-1} }[/math]、[math]\displaystyle{ s_{t-1} }[/math]及动作[math]\displaystyle{ a_{t-1} }[/math],更新新的确定性状态[math]\displaystyle{ h_t }[/math],赋予模型记忆能力,捕捉复杂非线性动态。
- 动力学预测模型:采样规则为: [math]\displaystyle{ \hat{s}t \sim p\phi(s_t \mid h_t) }[/math]。在缺乏观测时,根据当前[math]\displaystyle{ h_t }[/math]预测未来[math]\displaystyle{ s_t }[/math]。PlaNet和DreamerV1使用高斯分布,DreamerV2/V3则采用独立分类分布。先验使智能体可在潜在空间内递归生成潜在轨迹。
- 编码器(后验估计)模型:[math]\displaystyle{ s_t \sim q_\phi(s_t \mid h_t, x_t) }[/math]。给定真实观测[math]\displaystyle{ x_t }[/math],编码器推断[math]\displaystyle{ s_t }[/math]的后验分布。训练时通过重构损失和KL散度正则化校正先验预测。
- 观测解码器模型: [math]\displaystyle{ \hat{x}t \sim p\phi(x_t \mid h_t, s_t) }[/math]。从[math]\displaystyle{ h_t }[/math]与[math]\displaystyle{ s_t }[/math]解码出[math]\displaystyle{ x_t }[/math],通过最大化观测似然或最小化重构误差进行训练。
- 奖励预测模型:[math]\displaystyle{ \hat{r}t \sim p\phi(r_t \mid h_t, s_t) }[/math]。用以在潜在空间中预测奖励,辅助世界模型训练,并为策略优化提供模拟反馈。
- 继续标志(终止预测)模型:[math]\displaystyle{ \hat{c}t \sim p\phi(c_t \mid h_t, s_t) }[/math]。预测episode是否终止([math]\displaystyle{ c_t \in {0,1} }[/math]),即预测折扣因子[math]\displaystyle{ \gamma_t }[/math]。DreamerV2起引入此机制,以在想象轨迹中判定何时停止推理。
RSSM将环境建模为部分可观察马尔可夫决策过程(POMDP),确定性隐状态[math]\displaystyle{ h_t }[/math]累积历史信息,维持跨步连续性;随机潜变量[math]\displaystyle{ s_t }[/math]捕捉观测不确定性及新输入信息。这种设计具备重要意义:
- 确定性路径([math]\displaystyle{ h_t }[/math]):**通过递归网络(如GRU)累积特征,有效建模长期依赖与连贯记忆。
- 随机路径([math]\displaystyle{ s_t }[/math]):**引入建模灵活性,表达环境随机性、观测噪声与局部不可预测性。
- 多步预测与潜在轨迹训练:
由于RSSM需要支持智能体在潜在空间中进行规划与“想象”未来,其多步预测的准确性至关重要。传统的序列变分自编码器(VAE)训练方法——即在每个时间步重构观测并施加一次KL正则化——实际上只直接优化了单步状态转移,使得梯度仅能感知到单步预测误差。这种训练方式虽然在单步预测上效果良好,但在多步滚动预测中,误差易于累积,显著削弱了长期推理与规划的能力。为了解决这一问题,PlaNet提出了**潜在超前(latent overshooting)**的多步变分训练目标。其核心思想是:不仅对单步转移(即先验分布[math]\displaystyle{ p(s_t \mid s_{t-1}, a_{t-1}) }[/math]与后验分布[math]\displaystyle{ q(s_t \mid h_t, x_t) }[/math])施加KL正则化,还在潜在空间中引入跨越多个时间步的变分监督。以两步超前训练为例,模型从时刻[math]\displaystyle{ t-2 }[/math]起,仅基于先验动力学连续预测[math]\displaystyle{ \hat{s}_{t-1} }[/math]和[math]\displaystyle{ \hat{s}_t }[/math],然后将预测得到的[math]\displaystyle{ \hat{s}t }[/math]与基于真实观测得到的后验[math]\displaystyle{ q(s_t \mid o{\leq t}) }[/math]进行KL正则化,从而优化连续转移过程中的准确性。更一般地,对于超前[math]\displaystyle{ d }[/math]步的overshooting,训练目标中引入了如下KL项:
其中,[math]\displaystyle{ p(s_t \mid s_{t-d:t-1}) }[/math]表示从[math]\displaystyle{ t-d }[/math]到[math]\displaystyle{ t-1 }[/math]的先验连续预测,[math]\displaystyle{ q(s_t \mid o_{\leq t}) }[/math]则是基于真实观测的后验分布(具体推导详见PlaNet附录)。通过这种overshooting策略,RSSM的随机状态转移机制能够接收到连续多步的训练信号,梯度得以沿着多步预测链条反向传播,从而显著提升长时间尺度上的预测准确性。PlaNet的实验验证了latent overshooting在提升基于潜在模型的规划性能方面的有效性。
- KL正则化与平衡技术:在RSSM的训练过程中,每一个时间步都需要保持先验预测[math]\displaystyle{ \hat{s}_t }[/math]与后验推断[math]\displaystyle{ s_t }[/math]的一致性,这一目标通常通过引入KL散度损失来实现。然而,在训练中存在一个关键挑战:编码器分布[math]\displaystyle{ q(s_t \mid h_t, x_t) }[/math]与动力学先验分布[math]\displaystyle{ p(s_t \mid h_t) }[/math]之间可能出现学习速度不匹配或“责任分配”(credit assignment)问题。具体而言,当编码器过于强大时,模型可能倾向于仅依赖后验推断,从而使先验动力学变得无关紧要;反之,若动力学先验过强,则编码器可能无法有效地从观测数据中提取信息。为了应对这一问题,DreamerV2提出了KL balancing技巧,通过分别调整先验与后验的更新路径以实现平衡。具体做法是:将KL散度分解为两个部分;其中一部分以**停止梯度(stop gradient)**的后验分布为参考,用于更新动力学先验,促使先验动态更好地跟随后验推断;另一部分则以停止梯度的先验分布为参考,用于更新编码器后验,防止后验偏离潜在动态建模。这种双路径更新机制,有效避免了模型在训练过程中过度依赖后验推断的问题,促使动态预测模块与观测编码模块在训练中保持合理协作。在此基础上,DreamerV3进一步引入了**自由nats(free nats)**的机制,即为KL散度设定一个最小阈值。当实际KL值低于该阈值时,不再继续压缩KL损失,从而防止潜在状态退化为无信息的情况——即虽然动力学先验易于预测,但潜在状态本身携带的信息量极低或接近于零,仅仅是为了最小化KL散度。
- RSSM架构的改进与增强:在DreamerV3中,针对RSSM的模型架构进行了多项重要增强,旨在提升在不同任务环境下的训练稳定性与整体性能表现。具体而言,DreamerV3采用了分块GRU(Block GRU)作为序列建模的核心递归单元,并引入了RMSNorm归一化和SiLU激活函数,以改善梯度传播特性并增强训练过程的数值稳定性。分块GRU是一种将隐藏状态划分为若干独立子块、并在子块内部并行更新的递归结构。这种设计在扩展隐藏规模的同时,能够显著缓解传统RNN在大规模建模时常见的优化不稳定问题。得益于这些架构改进,DreamerV3的世界模型可以根据任务需求灵活扩展参数规模(从数千万到数亿量级),并在不同规模下使用统一的超参数配置而无需专门调整,体现出优异的扩展性与稳健性。此外,在离散潜变量的建模方面,DreamerV3引入了**1%均匀混合(unimix)**策略,即将分类先验分布与均匀分布按99:1的比例进行线性混合。这一策略相当于在先验输出中注入了极小的平滑项,有效防止了预测概率在训练早期快速饱和至0或1的现象,从而提高了潜在动态建模的鲁棒性,减少了陷入局部极值或不稳定优化轨迹的风险。通过这些架构和正则化细节的系统性优化,DreamerV3的世界模型能够在多种不同环境中实现稳定训练——从像素级离散控制任务(如Atari游戏),到连续动作控制任务(如DMControl套件),再到极具挑战性的稀疏奖励开放世界环境(如Minecraft)等。更为重要的是,这种稳健性使得模型在不同任务间几乎无需针对性微调超参数配置,展现出出色的泛化能力与工程实用性。
策略网络与值函数
- 从在线规划到潜在空间策略学习:在PlaNet中,智能体通过在线规划进行决策:每次动作选择时,基于当前学习到的世界模型,在潜在空间中采样并评估多个动作序列(如使用交叉熵方法CEM),选取累计奖励最高的动作执行。尽管该方法充分利用了模型的预测能力,能够动态适应每次决策,但因每步都需大规模模型推演,计算开销极高,难以扩展至大规模或实时任务。Dreamer系列则提出了另一种路径:潜在空间内离线策略学习。Dreamer让智能体在世界模型生成的“想象轨迹”中反复训练,直接学习一个策略网络(Actor)根据潜在状态快速输出动作,同时配备价值网络(Critic)估计潜在状态的长期回报,为策略优化提供梯度信号。通过这一基于模型的Actor-Critic框架,Dreamer不仅继承了模型预测的优势,还显著降低了推理时的计算成本,实现了无需实时规划即可高效决策与执行的能力。
- 想象环境与模拟轨迹:Dreamer通过在潜在空间中进行**想象(imagination)**生成训练数据。整体流程如下:首先,从真实环境交互中收集初步经验,并将其存入经验回放池。随后,智能体在潜在空间中反复执行以下训练循环:
1. 从经验回放池中采样一批真实经历对应的潜在状态(即通过编码器将观测[math]\displaystyle{ o_t }[/math]编码得到的潜在表示[math]\displaystyle{ z_t }[/math])作为想象轨迹的起点;
2. 在世界模型内部展开长度为[math]\displaystyle{ H }[/math]步的潜在轨迹(通常[math]\displaystyle{ H \approx 15 }[/math])扩展流程:1. 策略网络(actor)根据当前潜在状态[math]\displaystyle{ z_t }[/math]采样动作[math]\displaystyle{ a_t }[/math];2. RSSM的转移模型根据[math]\displaystyle{ z_t }[/math]和[math]\displaystyle{ a_t }[/math]生成下一个潜在状态[math]\displaystyle{ z_{t+1} }[/math];3. 奖励模型预测当前步的奖励[math]\displaystyle{ r_t }[/math];4. 终止模型判断是否达到episode结束条件。
通过上述过程,生成一条完全由世界模型预测产生的伪轨迹序列:[math]\displaystyle{ (z_0, a_0, r_0), (z_1, a_1, r_1), \dots, (z_H) }[/math]由于潜在状态的维度远小于原始观测(例如图像),且RSSM模块由神经网络实现,因此整个模拟过程可以在GPU上高度并行。DreamerV2的实验报告显示,其可以在单张GPU上并行生成多达2500条潜在轨迹。在这些模拟轨迹上,Dreamer分别训练价值网络(critic)与策略网络(actor),利用想象经验不断优化策略表现。
- 价值函数训练:在Dreamer框架中,价值网络以潜在状态([math]\displaystyle{ z_t }[/math])或更完整的隐状态对([math]\displaystyle{ h_t }[/math],[math]\displaystyle{ s_t }[/math])作为输入,输出一个标量([math]\displaystyle{ v_\psi(z_t) }[/math]),用于近似当前潜在状态下的期望折扣累积回报。为了高效训练价值网络,Dreamer采用了基于想象轨迹的时序差分学习(temporal difference learning),并结合了λ-return方法,在训练中平衡偏差与方差。具体地,给定一条想象轨迹:[math]\displaystyle{ (z_0, r_0), (z_1, r_1), \dots, (z_H, r_H) }[/math],其中[math]\displaystyle{ z_H }[/math]为轨迹末状态,可以为每个中间潜在状态构造目标价值[math]\displaystyle{ R_t^\lambda }[/math]。
λ-return的基本思路是对不同步长[math]\displaystyle{ n }[/math]的回报进行加权平均,定义为:[math]\displaystyle{ R_t^\lambda = r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \dots + \gamma^{n-1} r_{t+n-1} + \gamma^n v_\psi(z_{t+n}) }[/math],并在[math]\displaystyle{ n }[/math]趋近轨迹末端时截断。直观地说,λ-return在有限长度模拟轨迹内考虑累计奖励,并在终点使用价值网络估计[math]\displaystyle{ v_\psi(z_H) }[/math]近似未来无穷远回报,从而为每个状态提供全局价值估计。随后,价值网络通过最小化以下均方误差损失进行训练:[math]\displaystyle{ \frac{1}{2} (v_\psi(z_t) - R_t^\lambda)^2 }[/math]。
为进一步提升训练的稳定性与鲁棒性,Dreamer引入了以下优化措施:
1. 终止状态折扣修正:对于预测为终止的状态,Dreamer根据折扣因子[math]\displaystyle{ \gamma_t }[/math],对后续步骤的损失贡献进行累积折扣衰减。若模型预测某步后episode结束,相应的价值误差将按[math]\displaystyle{ \gamma_t }[/math]的乘积因子递减,避免无意义误差影响训练。
2. 回报尺度归一化(Symlog变换与Two-Hot编码):为了适应不同任务环境下回报尺度差异,DreamerV3引入了对称log变换(symlog)与Two-Hot编码结合的方法:Symlog变换压缩回报尺度,公式为:[math]\displaystyle{ \text{symlog}(x) = \text{sign}(x) \cdot \log(1 + |x|) }[/math]。训练时,价值网络回归symlog变换后的回报,推理时通过symexp(逆变换)还原实际值。此方法能有效抑制极端大回报带来的梯度爆炸,提升训练稳定性。同时,为了进一步平滑训练目标,DreamerV3将symlog后的目标值离散到相邻的离散桶,并采用Two-Hot编码表示概率分布。价值网络输出每个桶的概率预测,训练时使用交叉熵或KL散度作为损失。相比直接实数回归或One-Hot分桶,Two-Hot编码能减缓因跨度大导致的训练不稳定性,使价值估计更加平滑且精确。
3. 目标网络机制(Exponential Moving Average, EMA):为了防止价值估计在训练中发生不稳定震荡,DreamerV3引入了目标价值网络。具体做法是:维护一个价值网络参数的指数滑动平均版本(EMA),并在训练中添加正则项,促使在线价值网络输出逐步向目标网络靠拢。
- 策略网络的训练与优化:在Dreamer框架中,策略网络(actor)的目标是输出能够最大化长期累积奖励的动作。策略的训练完全基于模型想象(imagination)生成的数据,而不是直接从真实环境中采样梯度信号。在一条想象轨迹中,策略网络希望在每一个潜在状态[math]\displaystyle{ z_t }[/math]选择动作,使得后继状态的价值[math]\displaystyle{ v_\psi(z_{t+1}) }[/math]最大化。换言之,策略优化的目标可以简化为在每一步最大化[math]\displaystyle{ v_\psi(z_t) }[/math],因此常通过最小化负的价值估计[math]\displaystyle{ -v_\psi(z_t) }[/math]来训练。
Dreamer采用**策略梯度(policy gradient)**方法来优化这一目标。由于世界模型提供了可微分的潜在空间动力系统,Dreamer能够直接在潜在轨迹上进行梯度计算,实现高效的策略更新。
策略梯度计算与损失构建
在训练过程中,策略网络根据当前潜在状态[math]\displaystyle{ z_t }[/math]输出动作分布[math]\displaystyle{ \pi_\theta(a_t|z_t) }[/math],并通过采样获得动作[math]\displaystyle{ a_t }[/math]。RSSM根据[math]\displaystyle{ a_t }[/math]与[math]\displaystyle{ z_t }[/math]生成下一个潜在状态[math]\displaystyle{ z_{t+1} }[/math],并由价值网络估计[math]\displaystyle{ v_\psi(z_{t+1}) }[/math]。为了统一适配连续与离散动作环境,Dreamer在想象轨迹中使用REINFORCE策略梯度近似目标:[math]\displaystyle{ \nabla_\theta J \approx \mathbb{E}\left[(R_t^\lambda - v_\psi(z_t)) \nabla_\theta \log \pi_\theta(a_t|z_t)\right] }[/math]。其中,[math]\displaystyle{ R_t^\lambda }[/math]是基于λ-return构建的多步累计回报,[math]\displaystyle{ v_\psi(z_t) }[/math]为价值网络提供的基线,二者之差作为优势估计(advantage),用于减少策略梯度估计的方差。策略网络的整体损失函数定义为:[math]\displaystyle{ L_{\text{actor}} = -\mathbb{E}\left[(R_t^\lambda - v_\psi(z_t)) \log \pi_\theta(a_t|z_t)\right] - \eta \mathbb{E}\left[H(\pi_\theta(\cdot|z_t))\right] }[/math]。其中,第一项是基于优势的策略梯度项,第二项是熵正则项([math]\displaystyle{ \eta }[/math]为熵系数),用于鼓励策略的随机性与探索。
鲁棒回报归一化
为了进一步提升训练稳定性,Dreamer引入了**鲁棒回报归一化(robust return normalization)**机制,以应对不同任务中奖励尺度差异带来的训练不平衡问题。具体做法是:在每个模拟批次中,收集所有[math]\displaystyle{ R_t^\lambda }[/math],取第5百分位[math]\displaystyle{ P_5 }[/math]与第95百分位[math]\displaystyle{ P_{95} }[/math],定义有效范围:[math]\displaystyle{ S = P_{95} - P_5 }[/math]。并对[math]\displaystyle{ S }[/math]进行指数滑动平均平滑处理。归一化优势的计算公式为:[math]\displaystyle{ \text{Advantage} = \frac{R_t^\lambda - v_\psi(z_t)}{\max(1, S)} }[/math]。这种归一化确保了在稀疏奖励或密集奖励环境中,优势尺度大致统一,熵正则项[math]\displaystyle{ \eta H(\pi) }[/math]的相对影响力保持一致,有效避免了熵项在不同任务中失衡的问题。此外,Dreamer统一采用固定的小熵系数(如[math]\displaystyle{ \eta = 3 \times 10^{-4} }[/math]),无需根据任务单独调整。
世界模型冻结策略
为了保证训练的稳定性,Dreamer在策略优化阶段冻结世界模型参数,即策略网络更新过程中不会反向修改RSSM或奖励模型。这种设计保证了策略训练是在一个静态、稳定的模拟环境中进行,符合策略梯度理论假设,避免了模型和策略间相互干扰导致的震荡与不稳定。
3.2 训练过程
DreamerV1是一种强化学习方法,通过学习一个紧凑的潜在世界模型(世界模型,World model),将高维图像输入编码为低维潜在状态,并根据状态预测下一个状态和奖励,从而高效地从图像输入中解决长期目标的任务。其训练过程可以分为多个阶段,每个阶段都有其关键的任务和目标。
表征学习阶段
在训练初期,DreamerV1需要学会从环境中收集的数据中提取出“有用的信息”,即通过一套神经网络将图像、动作以及环境奖励编码成一个较低维度的潜在空间。这个阶段的目标是学习一个世界模型,能够预测智能体在未来的状态和获得的奖励。这个过程是整个系统的基础,因为它为后续的策略优化和长远行为规划提供了所需的潜在表示。
在表征学习阶段,DreamerV1训练了三个关键部分:
- 表征模型(Representation Model):
它负责将观测数据(例如,图像)转化为潜在的连续状态表示。换句话说,模型通过观察图像([math]\displaystyle{ o_t }[/math]),推断出一个潜在状态([math]\displaystyle{ s_t }[/math])。它的目标是根据前一时刻的潜在状态、动作和观测数据来预测当前时刻的潜在状态。其数学公式为:
[math]\displaystyle{ p(s_t \mid s_{t-1}, a_{t-1}, o_t) }[/math]
其中,[math]\displaystyle{ o_t }[/math]是当前的观察,[math]\displaystyle{ s_t }[/math]是历史的潜在状态,[math]\displaystyle{ a_{t-1} }[/math]是动作,[math]\displaystyle{ s_t }[/math]是当前时刻的潜在状态。
- 转移模型(Transition Model):
转移模型的作用是根据历史的潜在状态和动作预测未来的潜在状态,从一个状态转移到下一个状态。它学习在给定当前潜在状态和动作的情况下,如何生成下一个潜在状态。这使得DreamerV1能够在潜在空间中进行“想象”,预测未来的状态。其公式为:
[math]\displaystyle{ q(s_t \mid s_{t-1}, a_{t-1}) }[/math]
- 奖励模型(Reward Model):
奖励模型的任务是预测在某一潜在状态下,环境会给出多少奖励。它通过当前的潜在状态来预测未来可能的奖励。这一部分帮助模型理解每一步的“好坏”,从而更好地优化行为。其公式为:
[math]\displaystyle{ q(r_t \mid s_t) }[/math]
式中,[math]\displaystyle{ r_t }[/math]表示奖励。
表征学习阶段的目标是最大化变分下界(ELBO),目标函数为:
[math]\displaystyle{ \mathcal{J}_{\text{REC}} \doteq \mathbb{E}_p \left( \sum_{t} \left( \mathcal{J}_{\text{O}}^{t} + \mathcal{J}_{\text{R}}^{t} + \mathcal{J}_{\text{D}}^{t} \right) \right) + \text{const} }[/math]
重建观测:[math]\displaystyle{ \mathcal{J}_{\text{O}}^{t} \doteq \ln q(o_t|s_t) }[/math]
重建奖励:[math]\displaystyle{ \mathcal{J}_{\text{R}}^{t} \doteq \ln q(r_t|s_t) }[/math]
KL正则化:[math]\displaystyle{ ③ \mathcal{J}_{\text{D}}^{t} \doteq -\beta \text{KL} \left( p(s_t|s_{t - 1}, a_{t - 1}, o_t) \parallel q(s_t|s_{t - 1}, a_{t - 1}) \right) }[/math]
其中 [math]\displaystyle{ \ln q_\theta(o_t|s_t) }[/math]项衡量根据潜在状态[math]\displaystyle{ s_t }[/math]重建观测[math]\displaystyle{ o_t }[/math]的对数概率,[math]\displaystyle{ \ln q_\theta(r_t|s_t) }[/math]项对应根据[math]\displaystyle{ s_t }[/math]预测奖励[math]\displaystyle{ r_t }[/math]的对数概率,而[math]\displaystyle{ D_{KL}(\cdot|\cdot) }[/math]则是后验分布 [math]\displaystyle{ p_\theta(s_t|\dots) }[/math]与先验分布[math]\displaystyle{ q_\theta(s_t|\dots) }[/math]的KL散度。[math]\displaystyle{ \beta }[/math]:超参数,控制KL散度的权重(通常取1)。
在实现中,表征模型采用卷积网络(CNN)提取图像特征,转移模型使用循环状态空间模型(RSSM)处理时间序列信息 ,并使用重参数化技巧和随机梯度反向传播(Kingma & Welling方法)来训练整个模型 。
基于潜在空间的Rollout与策略优化
当表征学习阶段完成后,DreamerV1就能够在潜在空间中进行“想象”,并基于这种想象进行策略学习。这个阶段的核心任务是通过Rollout(想象轨迹)来优化策略,具体来说,就是通过价值估计来优化策略,使得智能体可以在潜在空间中学到解决长期任务的策略。
具体来说,在Rollout阶段,DreamerV1会生成想象轨迹,每当从环境中收集到一段真实轨迹并得到当前潜在状态[math]\displaystyle{ s_t }[/math]后,DreamerV1 便以该潜在状态为起点,在潜在动力学模型中模拟生成一条长度为[math]\displaystyle{ H }[/math]的想象轨迹。对于想象过程中的每个时间步[math]\displaystyle{ \tau }[/math]:先由策略网络[math]\displaystyle{ q_\phi(a_\tau\mid s_\tau) }[/math] 采样动作 [math]\displaystyle{ a_\tau }[/math],再用转移模型 [math]\displaystyle{ q_\theta(s_{\tau+1}\mid s_\tau,a_\tau) }[/math] 生成下一个潜在状态,并通过奖励模型 [math]\displaystyle{ q_\theta(r_\tau\mid s_\tau) }[/math] 预测相应的奖励 。这样就构造了一个在潜在状态空间中完全可观测的马尔可夫决策过程(MDP) 。这些生成的轨迹是在潜在空间中进行的,并不需要实际执行在真实环境中。换句话说,DreamerV1在潜在状态空间中“提前演练”其行为。
DreamerV1采用了actor-critic方法来优化策略。其中,策略网络通过采样动作来引导智能体的行为,而价值网络则评估每个状态的“好坏”,并将反馈的价值信息回传给策略网络,从而改进策略。
策略网络(Action Model):
该网络通过给定潜在状态[math]\displaystyle{ s_t }[/math]来输出一个动作的分布(通常是高斯分布),从中采样动作:
[math]\displaystyle{ a_t \sim \mathcal{N}(\mu_\phi(s_t), \sigma_\phi(s_t)) }[/math]
价值网络(Value Model):
该网络根据潜在状态预测一个期望的累计奖励,即价值估计。优化的目标是通过反馈给策略网络,最大化这些估计的价值:
[math]\displaystyle{ V_\lambda(s_t) = \sum_{t=1}^{H} \gamma^{t} r_t }[/math]
式中,[math]\displaystyle{ \gamma }[/math]是折扣因子,[math]\displaystyle{ r_t }[/math]是每个时刻的奖励。
通过反向传播,DreamerV1会利用梯度信息来更新策略网络和价值网络,从而确保在想象空间中的策略能够最大化预期的累积奖励。
重参数技巧与ELBO目标函数
在进行策略优化时,DreamerV1使用了重参数化技巧,将随机性引入可微分的路径中,从而使得梯度能够流畅地通过网络,优化潜在状态和策略网络。
例如,假设潜在状态 [math]\displaystyle{ s_t }[/math]服从某个高斯分布[math]\displaystyle{ N(\mu, \sigma^2) }[/math],重参数化技巧允许将其转化为:
[math]\displaystyle{ s_t = \mu + \sigma \cdot \epsilon, \quad \epsilon \sim \mathcal{N}(0,1) }[/math]
这样,智能体可以通过调整 [math]\displaystyle{ \mu }[/math]和 [math]\displaystyle{ \sigma }[/math]来优化潜在状态,而不依赖于直接的随机采样,这使得模型在训练时可以反向传播梯度,从而实现优化。
ELBO目标函数结合了重建观测误差、奖励误差和KL散度,通过最大化ELBO,确保模型在潜在空间中能够高效预测未来状态和奖励,同时保持潜在空间的良好结构。
这一变分目标与使用重参数化技巧相结合,使得潜在动力学模型和策略能够端到端地被深度神经网络优化。
3.3 规划与决策机制
![]()
Dreamer 算法的三阶段流程。左图 (a):学习环境的潜在动力学模型;中图 (b):在潜在空间中基于想象轨迹训练策略网络(Actor)与价值函数(Critic);右图 (c):在真实环境中执行已学习的策略。Dreamer 模型的规划与决策机制依赖于对环境潜在动力学的建模,并在潜在空间中生成“想象”轨迹,用以评估和优化智能体的行为策略。该机制可从两个核心过程展开:其一,在潜在空间中生成未来状态的想象轨迹;其二,基于这些轨迹进行动作序列的评估与选择,方法包括模型预测控制(MPC)与策略梯度优化。
潜在空间中的imagined trajectory
在 Dreamer 中,环境的动态特性由潜在空间中的世界模型进行建模与学习,典型如包含随机与确定性成分的循环状态空间模型(RSSM)。给定当前观测所对应的潜在状态,代理使用该模型沿时间轴向前展开,模拟出一系列未来的潜在状态与对应的奖励。这一模拟过程产生的状态–奖励序列即被称为想象轨迹(imagined trajectory),用于描述在当前策略下,不同动作序列可能导致的未来演化路径。 由于想象是在压缩后的潜在空间中进行,轨迹的生成计算量远低于在高维观测空间中的模拟,因此模型可在 GPU 上高效并行生成成千上万条候选轨迹。代理随后在这些轨迹上评估长期回报:通过计算轨迹的累计奖励总和,或利用价值函数对未来回报进行估计,每一条想象轨迹都可被赋予一个预期回报值。这些预估值可作为策略优化的依据,从而在无需实际交互的前提下,持续提升策略表现。
使用MPC或policy gradient进行action selection
在获得想象轨迹后,智能体需要根据这些虚拟演练的结果选择实际执行的动作。一般而言,可采取两种途径在想象轨迹上进行决策:其一是采用模型预测控制(MPC)进行在线规划;其二是采用策略梯度方法训练出一个策略网络直接输出动作。
- 模型预测控制(MPC):模型预测控制(Model Predictive Control, MPC)将决策问题转化为基于模型的序列优化过程:在每一个决策时刻,智能体从当前的潜在状态出发,搜索一系列未来动作,旨在最大化预期的累计回报。通常设定有限的规划视野[math]\displaystyle{ H }[/math],通过对候选动作序列进行随机采样与优化(如采用交叉熵法,Cross-Entropy Method, CEM)以评估其预期奖励,并选择回报最高的动作序列,执行其中的首个动作。
PlaNet 算法正是基于此策略,利用 MPC 在潜在空间中实现高效的在线规划。该方法在每一步都结合最新观测信息重新生成规划序列,从而实现动态更新与快速响应。此类基于模型的控制方式充分发挥了世界模型对未来状态与回报的预测能力,即使在策略尚未成熟时,也能辅助代理做出较优的行动决策。然而,MPC 的一个主要限制在于其较高的计算成本——由于每个环境步长均需重新求解优化问题,因此在高频交互任务中可能成为性能瓶颈。 - 策略梯度策略优化:策略梯度方法通过学习参数化策略函数,规避了逐步规划所带来的计算开销。Dreamer 架构采用演员-评论家(actor-critic)方法,在潜在空间中分别训练一个策略网络(actor)作为“动作模型”,以及一个价值网络(critic)用于评估潜在状态的长期价值。在由世界模型生成的想象轨迹上,价值网络为每个潜在状态估计期望的累计回报,而策略网络则基于当前潜在状态生成相应的动作。Dreamer 利用这些估计值沿着想象轨迹反向传播梯度,更新策略参数,使其倾向于生成在模型中预期回报更高的动作序列。本质上,这一过程可被视为在潜在空间中进行基于梯度的“规划”,借助模型的可微结构直接优化策略,从而摆脱了如 PlaNet 中每一步均需从头优化动作序列的负担,实现了规划与执行的有效解耦。通过反复的想象训练,Dreamer 得以获得一个在执行时即可输出近似最优动作的策略模型,从而显著提升了决策的效率与响应速度。
不同版本对比
- Planet
- DreamerV1(NeurIPS 2019)
- DreamerV2(ICLR 2021)
- DreamerV3(2023)
- 主要改进点和性能比较
应用与性能
在Mujoco、Atari、DMC等环境下的表现
DreamerV2
DreamerV3
在连续控制任务中(如 MuJoCo 控制基准套件),DreamerV3 在18个低维状态输入任务上取得了当前最优成绩,其平均得分显著超越此前表现领先的 D4PG 和 DMPO 等算法。在50万步交互的数据预算下,DreamerV3 不仅收敛速度更快,最终得分也更高,显示出强大的样本效率和泛化能力。同样地,在20个基于高维图像输入的 DeepMind Control Suite 控制任务中,DreamerV3 建立了新的性能标杆,全面超越了依赖数据增强的先进方法 DrQ-v2 和 CURL。即使在仅有100万步交互的数据限制下,DreamerV3 依然展现出更高的平均得分和更稳定的收敛趋势。在离散控制任务方面,DreamerV3 在 Atari 游戏基准上表现同样优异。在标准的200M帧设置(约5000万环境步)下,其得分中位数达到人类水平的302%,显著高于前一代 DreamerV2 的219%,也优于模型无关的强化学习方法如 Rainbow 和 IQN。此外,在注重数据效率的 Atari 100k 设置(仅40万环境步)中,DreamerV3 超越了 SimPLe、SPR、IRIS 等此前最佳算法,在26个游戏中的平均人类归一化得分中排名前列,仅略低于采用蒙特卡洛树搜索等技术的 EfficientZero。总体而言,DreamerV3 在不依赖任务特定调参的前提下,凭借统一的超参数配置,在涵盖低维与高维输入、连续与离散控制的多种环境中,均实现了更高的平均得分和更快的学习收敛,展现出卓越的通用性与性能上限。![]()
上图展示了 DreamerV3 在多个基准环境中的平均得分表现。图中横轴对应不同测试环境,纵轴表示任务得分或人类归一化得分。图例中,蓝色柱表示使用统一超参数配置的 DreamerV3,灰色柱代表在各环境中经过精细调参的专家算法,绿色柱则为常用基线方法 PPO。可以看出,DreamerV3 在 Proprio Control(状态输入的连续控制任务)、Visual Control(图像输入的连续控制任务)以及 Atari 100k 和 200M 等典型基准中,均实现了最高的平均得分,全面领先于现有主流方法。
与SAC、TD3、PPO等方法的对比
DreamerV2
DreamerV3
在各类任务环境中,DreamerV3 始终显著优于典型的模型无关深度强化学习算法。
在连续控制领域,DreamerV3 超越了 SAC/TD3 风格的多种方法,包括 DeepMind 提出的 D4PG、DMPO 和 MPO,在相同的交互步数条件下实现了更高的累计奖励。与这些高度依赖环境特定调参的离线策略算法不同,DreamerV3 采用统一超参数配置即可取得更优表现,展现出良好的泛化能力和可迁移性。
在高维视觉输入任务中,DreamerV3 同样领先于依赖数据增强或对比学习的对手,如基于 SAC 的 DrQ-v2 及使用表征学习的 CURL。这进一步体现了 DreamerV3 在从图像观测中提取潜在动态结构方面的强大能力。
在离散动作空间下,DreamerV3 也取得了显著突破。在 Atari 游戏基准中,其最终得分超越了强化学习领域的经典代表 Rainbow 和 IQN,甚至超过了采用蒙特卡洛树搜索的模型规划方法 MuZero,且所需计算资源仅为后者的一小部分。
在具备程序生成特性和复杂视觉干扰的 ProcGen 基准中,DreamerV3 的整体表现与调参后的 PPG 相当,并略有超出,同时显著优于 Rainbow 等传统方法。
在需要高级空间和时间推理能力的 DeepMind Lab (DMLab) 3D 环境中,DreamerV3 在仅使用 1 亿帧(100M)数据的情况下,就已达到甚至超过 DeepMind 的分布式强化学习算法 IMPALA 在 10 亿帧(1B)下的表现,展现出数量级的样本效率提升。
此外,在所有测试环境中,DreamerV3 相较于 PPO 表现出压倒性优势。即使在不进行任务特定调参的情况下,DreamerV3 依然大幅超越高质量实现的 PPO 策略梯度算法。这充分表明,DreamerV3 不仅在最终得分上具有领先优势,更在数据效率和通用性方面实现了全面超越。
在高维视觉输入上的优势
DreamerV2
DreamerV3
DreamerV3 在高维像素观测任务中展现出显著优势,能够无需针对图像任务进行特殊调整,便在视觉控制、Atari、ProcGen、DMLab、Minecraft 等典型像素输入环境中取得领先表现。例如,在视觉控制套件中,DreamerV3 凭借统一配置、无任何额外数据增强,便超越了专为图像环境设计的强化学习算法,如 DrQ-v2 和 CURL,取得更高分数。
在具备程序生成关卡的 ProcGen 游戏中,DreamerV3 在仅使用 5000 万帧数据的情况下,便达到与经过调参优化的 PPO 派生算法(PPG)相当的表现,并显著优于 Rainbow 等传统方法。这些结果表明,DreamerV3 在处理高变异性视觉任务时具备出色的泛化能力和鲁棒性。
更为关键的是,DreamerV3 所构建的世界模型能够从高维像素观测中捕捉环境的潜在结构。上图展示了其在 DMLab 迷宫环境(上)与四足机器人任务(下)中的视频预测示例:在仅观察初始5帧真实图像后(True,左侧),模型可基于其内部状态连续预测未来45帧的环境演化(Model,右侧),而无需进一步依赖真实图像输入。结果显示,预测序列与真实轨迹在空间结构和动态变化上高度一致,表明 DreamerV3 能够有效学习3D迷宫的布局规则和机器人运动的动力学特征。
凭借这一结构化世界模型,DreamerV3 能够在需要复杂时空推理的任务中实现高效探索与长时规划。在 DMLab 的30个三维任务中,DreamerV3 仅用 1 亿帧交互数据(100M)即达到并超过 IMPALA 在 10 亿帧(1B)下的表现,实现了超过 10 倍的数据效率提升。
总体而言,DreamerV3 在高维视觉输入环境中展现出强大的表征学习与前瞻性规划能力,显著超越了多数模型无关强化学习算法的能力上限。
其他应用
DreamerV2
DreamerV3:BSuite 和 Minecraft 等拓展任务性能
除了在常规基准环境中的优异表现,研究者还系统评估了 DreamerV3 在多个具有挑战性的拓展任务中的性能表现。在 DeepMind BSuite 基准测试中(涵盖23个环境共468种配置),DreamerV3 再次取得了新的总体最优成绩,超越了此前表现最好的方法,如 Bootstrapped DQN 和 Muesli。尤其在奖励尺度变化显著的子任务上,DreamerV3 的表现提升尤为显著,体现出其通过归一化和稳定性增强机制在策略泛化方面的优势。
在 Crafter 环境中(一个像素风格的开放世界生存游戏),DreamerV3 同样刷新了当前最高记录。与强调探索和记忆建模的强化学习算法相比(如基于 LSTM-SPCNN 架构的 PPO、OC-SA 探索方法、DreamerV2 及 Rainbow DQN 等),DreamerV3 实现了更高的平均得分和任务完成度,成为该环境下的新状态-of-the-art。这一结果显示,DreamerV3 所构建的世界模型不仅具备稀疏奖励条件下的策略搜索能力,也在长时间跨度的任务中展现出出色的记忆与规划能力。
最具突破性的成果来自于对复杂3D开放世界游戏 Minecraft 的探索。在该环境中,“获取钻石”被视为强化学习领域极具挑战性的长期目标任务。DreamerV3 是首个无需任何人类演示或预训练即可从零开始成功获取钻石的算法。上图展示了其在训练过程中的回报曲线:黑色线代表单次任务中获得钻石的最高回报(成功挖到钻石后回报陡增),灰色线表示回合平均回报。从图中可以看出,DreamerV3 在大约 3000 万步时首次完成钻石任务,随后完成频率稳步上升,至约 1 亿步时,多数运行均能稳定获取钻石。论文报告显示,在 40 个不同随机种子的实验中,有 24 个至少成功获得过一颗钻石,其中表现最优的代理甚至在第6个回合便成功挖掘出钻石。相比之下,多种强基线方法虽然能够推进至获取铁镐等中级目标,但在相同数据预算下无一能成功获得钻石。
综上所述,DreamerV3 在 BSuite、Crafter 以及 Minecraft 等具代表性的高难度任务中均实现了突破性进展,进一步验证了其无需特定调参即可适应多样环境,并在处理稀疏奖励与长期依赖问题中具备显著优势。
上图展示了 DreamerV3 在 Minecraft “获取钻石”任务中的学习曲线。横轴为环境交互步数(采用对数刻度),纵轴表示每个回合的累计奖励,其中包括关键物品获取的进度奖励,成功获得钻石时的单回合得分最高可达约 12 分。图中黑色曲线表示训练过程中达到的单回合最高得分,灰色曲线则表示所有回合的平均得分。从图中可以观察到,DreamerV3 随着训练的深入,逐步学习并解锁关键工具链(如木镐、石镐、铁镐),最终成功获得钻石。值得强调的是,DreamerV3 是首个在完全无任何人类演示或专家数据辅助的条件下,从零开始完成“获取钻石”任务的强化学习算法,标志着其在复杂开放世界任务中的探索与规划能力达到新高度。
影响与发展
- 对后续研究的启发(如DayDreamer、World Model + LLM等)
- 世界模型在通用人工智能中的作用展望
- 与MoPA、Model-Based RL融合趋势
参考文献与外部链接
| 原始论文链接 | 开源代码仓库 | 相关资料及解读 | |
|---|---|---|---|
| DreamerV1 | DreamerV1论文链接 | DreamerV1 tensorflow版本 | DreamerV1项目相关资料及解读 |
| DreamerV2 | DreamerV2论文链接 | DreamerV2 tensorflow版本 | DreamerV2项目相关资料及解读 |
| DreamerV3 | DreamerV3论文链接 | DreamerV3 tensorflow版本 | DreamerV3项目相关资料及解读 |