“Dreamer”的版本间的差异

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
跳到导航 跳到搜索
念(讨论 | 贡献)
第66行: 第66行:
 
<br>
 
<br>
 
*'''策略网络的训练与优化''':在Dreamer框架中,策略网络(actor)的目标是输出能够最大化长期累积奖励的动作。策略的训练完全基于模型想象(imagination)生成的数据,而不是直接从真实环境中采样梯度信号。在一条想象轨迹中,策略网络希望在每一个潜在状态<math>z_t</math>选择动作,使得后继状态的价值<math>v_\psi(z_{t+1})</math>最大化。换言之,策略优化的目标可以简化为在每一步最大化<math>v_\psi(z_t)</math>,因此常通过最小化负的价值估计<math>-v_\psi(z_t)</math>来训练。<br>Dreamer采用**策略梯度(policy gradient)**方法来优化这一目标。由于世界模型提供了可微分的潜在空间动力系统,Dreamer能够直接在潜在轨迹上进行梯度计算,实现高效的策略更新。<br>'''策略梯度计算与损失构建'''<br>在训练过程中,策略网络根据当前潜在状态<math>z_t</math>输出动作分布<math>\pi_\theta(a_t|z_t)</math>,并通过采样获得动作<math>a_t</math>。RSSM根据<math>a_t</math>与<math>z_t</math>生成下一个潜在状态<math>z_{t+1}</math>,并由价值网络估计<math>v_\psi(z_{t+1})</math>。为了统一适配连续与离散动作环境,Dreamer在想象轨迹中使用REINFORCE策略梯度近似目标:<math>\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>R_t^\lambda</math>是基于λ-return构建的多步累计回报,<math>v_\psi(z_t)</math>为价值网络提供的基线,二者之差作为优势估计(advantage),用于减少策略梯度估计的方差。策略网络的整体损失函数定义为:<math>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>\eta</math>为熵系数),用于鼓励策略的随机性与探索。<br>'''鲁棒回报归一化'''<br>为了进一步提升训练稳定性,Dreamer引入了**鲁棒回报归一化(robust return normalization)**机制,以应对不同任务中奖励尺度差异带来的训练不平衡问题。具体做法是:在每个模拟批次中,收集所有<math>R_t^\lambda</math>,取第5百分位<math>P_5</math>与第95百分位<math>P_{95}</math>,定义有效范围:<math>S = P_{95} - P_5</math>。并对<math>S</math>进行指数滑动平均平滑处理。归一化优势的计算公式为:<math>\text{Advantage} = \frac{R_t^\lambda - v_\psi(z_t)}{\max(1, S)}</math>。这种归一化确保了在稀疏奖励或密集奖励环境中,优势尺度大致统一,熵正则项<math>\eta H(\pi)</math>的相对影响力保持一致,有效避免了熵项在不同任务中失衡的问题。此外,Dreamer统一采用固定的小熵系数(如<math>\eta = 3 \times 10^{-4}</math>),无需根据任务单独调整。<br>'''世界模型冻结策略'''<br>为了保证训练的稳定性,Dreamer在策略优化阶段冻结世界模型参数,即策略网络更新过程中不会反向修改RSSM或奖励模型。这种设计保证了策略训练是在一个静态、稳定的模拟环境中进行,符合策略梯度理论假设,避免了模型和策略间相互干扰导致的震荡与不稳定。
 
*'''策略网络的训练与优化''':在Dreamer框架中,策略网络(actor)的目标是输出能够最大化长期累积奖励的动作。策略的训练完全基于模型想象(imagination)生成的数据,而不是直接从真实环境中采样梯度信号。在一条想象轨迹中,策略网络希望在每一个潜在状态<math>z_t</math>选择动作,使得后继状态的价值<math>v_\psi(z_{t+1})</math>最大化。换言之,策略优化的目标可以简化为在每一步最大化<math>v_\psi(z_t)</math>,因此常通过最小化负的价值估计<math>-v_\psi(z_t)</math>来训练。<br>Dreamer采用**策略梯度(policy gradient)**方法来优化这一目标。由于世界模型提供了可微分的潜在空间动力系统,Dreamer能够直接在潜在轨迹上进行梯度计算,实现高效的策略更新。<br>'''策略梯度计算与损失构建'''<br>在训练过程中,策略网络根据当前潜在状态<math>z_t</math>输出动作分布<math>\pi_\theta(a_t|z_t)</math>,并通过采样获得动作<math>a_t</math>。RSSM根据<math>a_t</math>与<math>z_t</math>生成下一个潜在状态<math>z_{t+1}</math>,并由价值网络估计<math>v_\psi(z_{t+1})</math>。为了统一适配连续与离散动作环境,Dreamer在想象轨迹中使用REINFORCE策略梯度近似目标:<math>\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>R_t^\lambda</math>是基于λ-return构建的多步累计回报,<math>v_\psi(z_t)</math>为价值网络提供的基线,二者之差作为优势估计(advantage),用于减少策略梯度估计的方差。策略网络的整体损失函数定义为:<math>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>\eta</math>为熵系数),用于鼓励策略的随机性与探索。<br>'''鲁棒回报归一化'''<br>为了进一步提升训练稳定性,Dreamer引入了**鲁棒回报归一化(robust return normalization)**机制,以应对不同任务中奖励尺度差异带来的训练不平衡问题。具体做法是:在每个模拟批次中,收集所有<math>R_t^\lambda</math>,取第5百分位<math>P_5</math>与第95百分位<math>P_{95}</math>,定义有效范围:<math>S = P_{95} - P_5</math>。并对<math>S</math>进行指数滑动平均平滑处理。归一化优势的计算公式为:<math>\text{Advantage} = \frac{R_t^\lambda - v_\psi(z_t)}{\max(1, S)}</math>。这种归一化确保了在稀疏奖励或密集奖励环境中,优势尺度大致统一,熵正则项<math>\eta H(\pi)</math>的相对影响力保持一致,有效避免了熵项在不同任务中失衡的问题。此外,Dreamer统一采用固定的小熵系数(如<math>\eta = 3 \times 10^{-4}</math>),无需根据任务单独调整。<br>'''世界模型冻结策略'''<br>为了保证训练的稳定性,Dreamer在策略优化阶段冻结世界模型参数,即策略网络更新过程中不会反向修改RSSM或奖励模型。这种设计保证了策略训练是在一个静态、稳定的模拟环境中进行,符合策略梯度理论假设,避免了模型和策略间相互干扰导致的震荡与不稳定。
−
 
−
<br>
 
−
*'''综合想象训练的效果''':通过上述机制,Dreamer系列实现了在潜在空间内进行闭环决策训练:世界模型基于真实环境交互不断完善,策略网络与价值网络则在世界模型内部模拟生成的想象轨迹上持续优化,形成了相互促进的学习过程。由于每一次真实交互之后可以利用模型生成大量潜在轨迹供训练,Dreamer展现出了极高的样本效率。这一特性解释了为何DreamerV2即使在单GPU、单环境进程的设置下,也能够在Atari游戏任务中取得超越传统强化学习算法(如Rainbow)的性能表现。  总体而言,从PlaNet到DreamerV3的发展历程体现了强化学习范式的重大转变:从早期“基于世界模型进行在线规划”,转向了“基于世界模型进行离线想象训练政策”,实现了对模型能力的更加系统和高效的利用。具体来说,通过精巧设计的循环状态空间模型(RSSM),结合基于λ-return的actor-critic训练框架,Dreamer系列成功地在潜在空间中实现了高效的决策学习:世界模型为策略提供了可微分的长期动态预测;价值网络为策略学习提供了方向性引导;策略网络则在大量想象数据上不断优化,以最大化累积回报。这种基于世界模型的想象强化学习框架,使得Dreamer能够以单一算法,在连续控制、离散动作游戏、以及稀疏奖励的3D复杂任务等广泛领域中展现卓越的适应性与性能。
 
  
 
==='''3.2 训练过程'''===
 
==='''3.2 训练过程'''===

2025年4月27日 (日) 14:56的版本

词条Dreamer

1. 概述

  • Dreamer框架简介
  • 所属领域:强化学习、世界模型、模型预测控制(MPC)等
  • 提出时间与主要贡献者(如Danijar Hafner等)
  • 与传统强化学习方法的对比简述

2. 背景知识

  • 强化学习简介
  • 世界模型(World Models)简介
  • 模型预测控制(Model Predictive Control, MPC)简介
  • Dreamer所继承或改进的相关方法(如PlaNet)

3. Dreamer框架原理

3.1 系统架构

编码器-解码器(Encoder-Decoder)

潜在动力学模型(Latent Dynamics Model)

PlaNet引入了循环状态空间模型(RSSM),用于在潜在空间中建模环境动力学。RSSM结合了确定性路径与随机路径:每个时间步的隐状态由一个确定性递归状态[math]\displaystyle{ h_t }[/math]和一个随机潜变量[math]\displaystyle{ s_t }[/math](亦记作[math]\displaystyle{ z_t }[/math])共同组成。RSSM包含以下子模块:

  1. 状态转移模型: [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],赋予模型记忆能力,捕捉复杂非线性动态。
  2. 动力学预测模型:采样规则为: [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则采用独立分类分布。先验使智能体可在潜在空间内递归生成潜在轨迹。
  3. 编码器(后验估计)模型:[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散度正则化校正先验预测。
  4. 观测解码器模型: [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],通过最大化观测似然或最小化重构误差进行训练。
  5. 奖励预测模型:[math]\displaystyle{ \hat{r}t \sim p\phi(r_t \mid h_t, s_t) }[/math]。用以在潜在空间中预测奖励,辅助世界模型训练,并为策略优化提供模拟反馈。
  6. 继续标志(终止预测)模型:[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]捕捉观测不确定性及新输入信息。这种设计具备重要意义:

  1. 确定性路径([math]\displaystyle{ h_t }[/math]):**通过递归网络(如GRU)累积特征,有效建模长期依赖与连贯记忆。
  2. 随机路径([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{ \mathrm{KL}\left[q(s_t \mid o_{\leq t}) \, \| \, p(s_t \mid s_{t-d:t-1})\right] }[/math]

其中,[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方法)来训练整个模型 。 1-3.png

基于潜在空间的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 规划与决策机制

潜在空间中的imagined trajectory

使用MPC或policy gradient进行action selection


4. 不同版本对比

  • Planet
  • DreamerV1(NeurIPS 2019)
  • DreamerV2(ICLR 2021)
  • DreamerV3(2023)
  • 主要改进点和性能比较

5. 应用与性能

  • 在Mujoco、Atari、DMC等环境下的表现
  • 与SAC、TD3、PPO等方法的对比
  • 在高维视觉输入上的优势
  • 其他应用

6. 框架实现

  • 常用开源实现(如官方Dreamer GitHub仓库)
  • 可视化与调试工具支持
  • TensorFlow与PyTorch的兼容情况

7. 影响与发展

  • 对后续研究的启发(如DreamerV3、World Model + LLM等)
  • 世界模型在通用人工智能中的作用展望
  • 与MoPA、Model-Based RL融合趋势

8. 参考文献与外部链接

  • 原始论文链接
  • 开源代码仓库
  • 相关综述或解读文章