词条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引入了循环状态空间模型(Recurrent State-Space Model, RSSM),用于在潜在空间中建模环境动力学。RSSM结合了确定性路径和随机路径:每个时间步的隐藏状态由一个确定性RNN状态hₜ和一个随机潜在变量sₜ(或记作zₜ)共同组成。具体而言,RSSM包含以下子模型: 状态转移模型:hₜ = f₍ᵩ₎(hₜ₋₁, sₜ₋₁, aₜ₋₁)。该模块通常由GRU等递归神经网络实现。它根据前一时刻的确定性隐状态hₜ₋₁、随机潜在状态sₜ₋₁以及动作aₜ₋₁来更新新的确定性状态hₜ,赋予模型记忆能力并捕捉丰富的非线性动态。 先验(动力学预测)模型:ŝₜ ~ p₍ᵩ₎(sₜ | hₜ)。即在没有观测的情况下,由当前确定性隐状态hₜ预测下一随机潜变量sₜ的分布。在PlaNet和DreamerV1中,先验分布通常建模为高斯分布;而在DreamerV2/V3中,则使用多个独立的分类分布。先验模型使智能体能够在潜在空间中想象未来,通过递归生成潜在状态序列。 编码器(后验估计)模型:sₜ ~ q₍ᵩ₎(sₜ | hₜ, xₜ)。给定真实观测xₜ,编码器推断当前潜在状态sₜ的后验分布。这相当于在观测到xₜ后对先验预测ŝₜ进行校正。训练时,使用编码器输出的sₜ来计算重构损失,并通过KL散度正则化,使其尽可能接近对应的先验ŝₜ。 观测解码器模型:x̂ₜ ~ p₍ᵩ₎(xₜ | hₜ, sₜ)。从当前完整的隐状态(hₜ与sₜ)解码出观测xₜ的分布。这对应于重构观测的过程,训练时通过最大化观测似然或最小化重构误差来优化。 奖励预测模型:r̂ₜ ~ p₍ᵩ₎(rₜ | hₜ, sₜ)。从隐状态预测该状态下的环境奖励rₜ。奖励预测分支在训练世界模型时提供辅助信号,并在策略学习阶段模拟奖励,为智能体提供想象中的奖励反馈。 继续标志(终止预测)模型:ĉₜ ~ p₍ᵩ₎(cₜ | hₜ, sₜ)。预测当前时间步是否为episode的终止(通常cₜ=0或cₜ=1),或者等价地预测折扣因子γₜ。从DreamerV2起,RSSM加入了显式预测episode结束的机制,用于在想象轨迹中判断何时终止,并相应地调整价值计算。例如,通过预测γₜ作为折扣因子,可以在价值估计与损失函数中,对终止状态给予更低的权重处理,从而更好地建模稀疏终止信号。 循环状态空间模型(RSSM)通过多模块协作,将环境建模为一个部分可观察的马尔可夫过程(Partially Observable Markov Decision Process, POMDP)。在这一建模框架中,确定性隐状态hₜ用于捕捉历史信息的积累,维持跨时间步的连续性;而随机潜变量sₜ则用于建模观测数据中的不确定性与新输入的信息量。这一设计具有重要的理论与实践意义。研究表明,同时具备确定性路径与随机路径对于准确描述复杂环境动态是不可或缺的: 1. 确定性路径(hₜ)**通过递归神经网络(如GRU)累积历史特征,能够有效捕捉长期依赖关系,提供连贯且一致的内部记忆。 2. 随机路径(sₜ)**则引入了状态建模中的灵活性,使得模型能够显式表达环境中的固有随机性、观测噪声和局部不可预测性。 PlaNet的实验证实,如果模型仅依赖纯确定性路径(仅使用hₜ)或仅使用纯随机潜变量(仅使用sₜ),在多步未来预测和规划任务中的性能都会显著下降。只有通过将确定性记忆机制与随机建模能力相结合,RSSM才能在潜在空间中进行准确且稳定的长时序推理,支撑智能体基于想象(imagination-based)进行高效决策。这一发现奠定了后续Dreamer系列(如DreamerV1、V2和V3)进一步优化潜在动力学建模的基础,并成为现代基于潜在空间世界模型(latent world models)强化学习算法的核心设计原则。 多步预测与潜在轨迹训练:由于RSSM需要支持智能体在潜在空间中进行规划与“想象”未来,其多步预测的准确性至关重要。传统的序列变分自编码器(VAE)训练方法——即每一步重构观测并施加一次KL正则化——本质上只对单步转移进行了直接优化,使得梯度仅感知到单步预测误差。这种训练方式可能导致模型在单步预测上表现良好,但在多步滚动预测过程中,预测误差逐步累积,从而削弱长期推理与规划能力。为了解决这一问题,PlaNet提出了潜在超前(latent overshooting)的多步变分训练目标。其核心思想是,不仅对一步转移(即先验分布 p(sₜ | sₜ₋₁, aₜ₋₁) 与后验分布 q(sₜ | hₜ, xₜ))施加KL约束,还在潜在空间中引入跨越多个时间步的变分监督。以两步超前训练为例,模型在时刻 t-2 起始,仅基于先验动态连续预测出 ŝₜ₋₁ 和 ŝₜ,然后将预测得到的 ŝₜ 与真实后验 q(sₜ | o≤ₜ)进行KL正则化,从而训练模型在连续转移过程中的准确性。一般而言,对于超前 d 步的overshooting,训练目标中增加了如下KL项:KL[q(st|o≤t)||p(sₜ | st-d:t-1)]。其中,p(sₜ | st-d:t-1)表示仅依靠先验连续转移预测出的状态分布,q(sₜ | o≤ₜ)为基于真实观测的后验分布(具体推导见PlaNet附录)。 通过这种overshooting策略,RSSM的随机状态转移机制能够接收到多步序列的训练信号,梯度能够沿连续多步的预测链条反向传播,从而显著提升模型在长时间尺度上的预测准确性。PlaNet的实验验证了latent overshooting策略在提升基于潜在模型的规划性能方面的有效性。Dreamer系列模型在此基础上进一步发展:DreamerV1沿用了PlaNet提出的RSSM训练机制,并在连续控制任务中系统性地验证了世界模型方法的可行性;DreamerV2和V3虽然在论文中未专门强调overshooting,但在模型训练过程中同样高度重视长时预测的能力,从而保证了对远期奖励与未来结果的准确建模。 KL正则化与平衡技术:在RSSM的训练过程中,每一个时间步都需要保持先验预测ŝₜ与后验推断sₜ的一致性,这一目标通常通过引入KL散度损失来实现。然而,训练中面临一个关键挑战:编码器分布 q(sₜ | hₜ, xₜ) 和动力学先验分布 p(sₜ | hₜ) 之间可能存在学习速度不匹配或“责任分配”(credit assignment)问题。如果编码器过于强大,模型可能倾向于仅依赖后验推断,导致先验模型变得无关紧要;反之亦然,若动力学先验过强,编码器可能失去对观测的有效建模能力。为应对这一问题,DreamerV2提出了KL balancing技巧,通过分别调整先验与后验的更新路径来实现平衡。具体做法是,将KL散度分解为两个部分:一部分以停止梯度(stop gradient)的后验分布作为参考,更新动力学先验,鼓励先验动态更好地跟随后验。另一部分以停止梯度的先验分布作为参考,更新编码器后验,防止后验偏离潜在动态建模。这种处理方式有效避免了训练过程中模型过度依赖后验网络提供信息的问题,从而促使动态预测和观测编码模块在训练中保持合理协作。DreamerV3在此基础上进一步引入了**自由nats(free nats)**的方法,即为KL散度设定一个最小阈值(如1 nat),在实际KL值低于该阈值时不继续压缩KL损失。这一机制能够防止潜在状态退化到无信息的情况——即动力学先验极易预测,但由于过强的KL惩罚,模型可能倾向于让潜在状态携带极少甚至无信息,以最小化KL散度。如Dreamer作者所述,自由nats确保了潜在状态携带足够的信息量,从而使得世界模型优化重点放在提高未来预测准确性上,而不是一味压缩潜在表示的复杂性。 RSSM架构的改进与增强:在DreamerV3中,针对RSSM的模型架构进行了多项增强,旨在提升在不同任务环境下的训练稳定性和整体性能表现。具体而言,DreamerV3采用了分块GRU(Block GRU)作为序列建模的核心递归单元,并引入了RMSNorm归一化和SiLU激活函数,以改善梯度传播特性并增强训练的数值稳定性。分块GRU是一种将隐藏状态划分为若干独立子块、并在子块内部并行更新的递归结构。这种设计能够在扩展隐藏规模的同时,显著缓解传统RNN在大规模建模下常见的优化不稳定问题。得益于这些架构改进,DreamerV3的世界模型可以根据任务需求灵活扩展参数量(从数千万到数亿级别),并在不同规模下使用统一的超参数配置而无需专门调整,体现出优异的扩展性与稳健性。此外,在离散潜变量的建模上,DreamerV3引入了**1%均匀混合(unimix)**策略,即将分类先验的输出概率与均匀分布按照99:1的比例进行线性混合。这相当于在先验分布中注入了极小的平滑项,有效避免了预测概率在训练早期迅速饱和至0或1的现象,从而提高了潜在动态建模的鲁棒性,减少陷入局部极值或不稳定优化轨迹的风险。这些架构和正则化细节的系统性优化,使DreamerV3的世界模型能够在各类不同环境中稳定训练,包括从像素级离散控制(如Atari游戏),到连续动作控制任务(如DMControl套件),再到极具挑战性的稀疏奖励开放世界环境(如Minecraft)等。更重要的是,这种稳健性在各任务之间几乎无需针对性微调超参数。 总体而言,RSSM作为潜在动力学建模的核心框架,自PlaNet首次提出以来,经过了Dreamer系列迭代的持续打磨与完善:通过latent overshooting技术提升了多步长时预测的能力;通过KL balancing与**自由比特(free nats)**技术确保潜在表示既紧凑又信息丰富;通过架构优化增强了模型容量、稳定性与可扩展性。这种经过精细优化训练得到的世界模型,能够在潜在空间中准确模拟环境状态的演化与奖励结果,为智能体基于想象(imagination-based)进行规划与决策提供了坚实可靠的基础。
- 策略网络与值函数 从在线规划到潜在空间策略学习:PlaNet作为早期的基于世界模型的方法,采用了纯模型规划的策略。在每一个决策时刻,智能体通过使用当前学习到的世界模型,进行在线规划来选择动作:具体而言,智能体会通过随机采样或进化算法(如交叉熵方法CEM)生成多个备选动作序列,并在潜在空间中模拟它们的演化轨迹,评估每条序列对应的预计累积奖励,最终选取期望回报最高的动作作为执行。这种方法能够充分发挥世界模型的预测能力,动态适应每一次决策。然而,它的局限性也非常明显:由于每一步决策都需要实时进行大量的模型模拟与动作搜索,计算开销极大,难以扩展到大规模连续控制任务或实时决策需求较高的环境中。为了解决这一问题,Dreamer系列提出了另一条进化路径:潜在空间中策略的离线学习。Dreamer的核心思想是,让智能体在内部建构的“梦境”中反复模拟与练习,通过世界模型生成的虚拟经验,训练一个策略网络(actor),使其能够直接从潜在状态中预测动作输出,从而在实际执行阶段完全摆脱昂贵的在线规划过程。为了高效优化策略,Dreamer还引入了一个价值网络(critic),用于评估每个潜在状态的长期累积价值(return),作为引导策略网络学习的重要信号。这种架构形成了一个闭环:世界模型基于潜在状态生成模拟经验;策略网络根据模拟经验更新动作选择策略;价值网络评估潜在状态的价值并为策略优化提供梯度指导。这一方法属于典型的**基于模型的策略梯度(model-based actor-critic)**框架,不仅兼顾了模型预测的优势,还大幅降低了推理时的计算负担,使得训练出的智能体可以在不依赖实时规划的前提下,高效决策与执行。 想象环境与模拟轨迹:Dreamer通过在潜在空间中进行**想象(imagination)**来生成训练数据。具体流程如下:首先,从真实环境交互中收集初步经验,并将这些数据存入经验回放池。然后,智能体在潜在空间内反复执行以下训练循环:首先,从经验回放池中采样一批真实经历对应的潜在状态(即通过编码器将观测编码得到的隐表示)作为想象轨迹的起点。随后,在世界模型内部展开一段长度为H步的潜在轨迹扩展(通常H约为15步): -从当前潜在状态zₜ出发,策略网络(actor)根据zₜ采样一个动作aₜ; -RSSM的状态转移模型根据当前状态zₜ和动作aₜ生成下一潜在状态zₜ₊₁; -奖励预测模型给出当前步骤的奖励预测rₜ; -终止预测模型判断当前步骤是否到达episode结束条件。 通过上述循环,可以生成一条完全由世界模型预测产生的“伪轨迹”序列:(z₀, a₀, r₀), (z₁, a₁, r₁), …, (zₕ)。由于潜在状态的维度相较原始观测(如图像)大大降低,且RSSM模块采用神经网络实现,这一模拟过程可以在GPU上实现高度并行。DreamerV2的实验报告显示,其能够在单张GPU上并行生成多达2500条潜在轨迹。在这些模拟生成的潜在轨迹上,Dreamer分别对价值网络(critic)和策略网络(actor)进行训练更新,通过想象经验不断优化策略表现。需要特别注意的是,Dreamer在策略学习阶段固定世界模型的参数不再更新。也就是说,在进入基于想象的行为学习环节前,世界模型已经预先训练完毕,并在后续训练中保持冻结。这种设计带来了两大优势:1. 避免策略梯度直接干扰潜在表示学习,使得世界模型训练与策略优化过程有效分离,从而提高整体训练的稳定性;2. 在策略优化过程中无需重建观测图像,仅需在潜在空间内操作,大幅度提升了模拟与训练的计算效率。 价值函数训练:在Dreamer框架中,价值网络以潜在状态zₜ,或更完整的隐状态对(hₜ, sₜ)作为输入,输出一个标量vᵩ(zₜ),用于近似当前潜在状态下的期望折扣累积回报。为了高效训练价值网络,Dreamer采用了基于想象轨迹的时序差分学习(temporal difference learning),并结合了λ-return方法,以在训练中平衡估计的偏差与方差。具体地,给定一条想象轨迹 (z₀, r₀), (z₁, r₁), ..., (zₕ, rₕ),其中zₕ为轨迹末端状态,可以利用λ-return为每个中间潜在状态构造目标价值Rₜ^λ。λ-return的基本思路是对不同步长n的回报进行加权平均,定义为:Rλt = rₜ + γrₜ₊₁ + γ²rₜ₊₂ + … + γⁿ⁻¹rₜ₊ₙ₋₁ + γⁿvᵩ(zₜ₊ₙ)。并在n趋于轨迹终点时进行截断。直观地说,λ-return方法在有限长度的模拟轨迹内考虑累计奖励,并在轨迹末端使用价值网络的估计vᵩ(zₕ)作为未来无穷远回报的近似,从而估计每个状态的全局长期价值。在具体实现中,Dreamer通常设置λ=0.95,以获得较平滑且兼顾偏差和方差的多步回报目标。随后,价值网络通过最小化以下均方误差损失来进行训练:(1/2) × (vᵩ(zₜ) − Rₜ^λ)²。此外,为了进一步提升训练的稳定性与鲁棒性,Dreamer引入了若干优化措施: 1. 终止状态折扣修正:对于模拟轨迹中预测为终止的状态,Dreamer根据预测的折扣因子γₜ,对后续步骤的损失贡献进行适当削弱。如果模型判断某步之后情节可能终止,则对应时间步之后的价值误差会乘以γₜ的累积折扣进行衰减,以降低无意义误差对训练的干扰。 2. 回报尺度归一化(Symlog变换与Two-Hot编码):针对不同任务环境下回报尺度差异悬殊的问题,DreamerV3采用了对称log变换(symlog)结合Two-Hot编码的方式来稳定价值训练。*Symlog变换通过如下公式压缩原始回报:symlog(x) = sign(x) × log(1 + |x|)。*在训练中,价值网络直接回归symlog变换后的值,推理时再通过反变换symexp(·)还原实际尺度。这种压缩方式有效缓解了极端大正负回报导致的梯度爆炸问题,使得价值网络的训练更加稳定可靠。同时,为了进一步平滑回归目标,DreamerV3并未直接预测连续实数,而是将symlog后的目标值离散化到相邻的离散桶之间,并采Two-Hot编码表示目标概率分布。价值网络输出每个桶的预测概率,训练时使用交叉熵或KL散度作为损失。相较于传统的One-Hot分桶或直接回归,Two-Hot编码能够减缓因回报分布跨度大带来的训练不稳定性,使得价值估计更加平滑且精确。 3. 目标网络机制(Exponential Moving Average, EMA):为了进一步稳定训练,DreamerV3引入了目标价值网络机制。具体做法是:维护价值网络参数的指数滑动平均版本,并在训练损失中引入正则项,促使在线价值网络的输出逐步向目标网络靠拢。这一技术与DQN中的目标网络设计类似,能够防止价值估计在训练过程中因交互追逐而产生的不稳定震荡现象。 策略网络的训练与优化:策略网络(actor)的目标是输出能够最大化长期累积奖励的动作。在Dreamer系列中,策略训练完全基于模型想象(imagination)生成的数据,而不是直接从真实环境中采样梯度信号。具体来说,在一条想象轨迹中,策略希望在每一个潜在状态zₜ选择动作,使得后继状态的价值vᵩ(zₜ₊₁)最大化。换言之,策略的优化目标可以等价表述为最大化未来回报,或简化为在每一步最大化vᵩ(zₜ)。因此,策略损失通常定义为负的价值估计,即每步最小化-vᵩ(zₜ)。Dreamer采用策略梯度(policy gradient)方法来优化这一目标。但与传统策略梯度不同的是,由于世界模型提供了一个可微分的动力系统,Dreamer可以利用模型内部的微分结构来计算梯度,拓展了训练方法的灵活性。在DreamerV1中,针对连续动作任务(如DeepMind Control Suite),作者选择了直接通过模型和价值复合网络反向传播的方法进行策略优化。具体过程是: 1. 策略网络输出一个高斯分布πθ(aₜ|zₜ),通过重参数化(reparameterization)采样动作aₜ; 2. RSSM根据aₜ和zₜ生成后继潜在状态zₜ₊₁; 3. 将zₜ₊₁输入价值网络,输出价值估计vᵩ(zₜ₊₁)。 由于上述链路整体可导,DreamerV1直接通过**路径导数(pathwise derivative)**形式,将价值对动作的导数传递到策略参数,实现了解析梯度。这种方法类似于在模型环境上执行确定性策略梯度(如DDPG),但要求动作和状态采样过程均可重参数化。当动作空间是离散的(如Atari游戏)时,重参数化采样不可用,无法直接对离散动作求导。为了统一适配连续与离散动作环境,DreamerV2提出结合两种梯度估计方式:动态模型反传梯度(dynamics backpropagation):在可重参数化时,使用模型可导性进行梯度反传;REINFORCE策略梯度:在不可导时,使用基于采样的无偏估计。其基本形式为:∇θJ ≈ 𝔼[(Rₜ^λ - vᵩ(zₜ)) ∇θ log πθ(aₜ|zₜ)]。其中Rₜ^λ是λ-return累计回报,vᵩ(zₜ)是价值网络估计,二者之差作为优势估计(advantage),用于减小梯度方差。 DreamerV2将两种梯度按权重ρ进行加权融合,形成总的策略损失:L_actor = -𝔼[ρ(Rₜ^λ - vᵩ(zₜ)) log πθ(aₜ|zₜ) + (1-ρ)Rₜ^λ] - η𝔼[H(πθ(·|zₜ))]其中:第一项是基于REINFORCE的策略梯度;第二项是基于模型反传的策略梯度;第三项是熵正则项(H表示策略熵,η为熵系数),鼓励探索。通过调整ρ,可以在纯采样梯度(ρ=1)和纯解析梯度(ρ=0)之间插值。DreamerV2实验发现:在离散动作环境(如Atari)中,采用ρ=1(REINFORCE)效果更好;在连续控制任务中,采用ρ=0(模型反传)收敛更快。两种情况下均加入熵正则,以鼓励策略保持一定的随机性,防止过早收敛到确定性策略。 为进一步提升普适性和稳定性,DreamerV3对策略优化进行了简化和改进: 1. 统一使用REINFORCE梯度:无论动作空间连续或离散,均采用基于采样的策略梯度训练actor,不再使用解析梯度。这一设计提升了算法在各种任务下的一致性和稳定性。 2. 鲁棒回报归一化(Robust Return Normalization):DreamerV3针对不同环境奖励尺度差异巨大带来的训练不稳定问题,引入了分位数归一化技术。 在每个批次想象轨迹中,收集所有Rₜ^λ,取第5百分位P₅和第95百分位P₉₅;定义有效范围S = P₉₅ - P₅,并对S进行指数滑动平均平滑;用S归一化优势:(Rₜ^λ - vᵩ(zₜ)) / max(1, S)。这样归一化后的优势大致落在统一尺度,确保熵正则ηH(π)在不同环境下的相对作用一致,避免稀疏奖励或稠密奖励场景下熵项影响不平衡。此外,DreamerV3继续保留了固定的小熵系数(如η=3×10⁻⁴),统一适用于各种任务,无需任务特定调参。最后,为保证训练稳定性,DreamerV3在策略网络优化时冻结世界模型参数,即策略梯度不会反向更新世界模型。这使得模型模拟环境始终保持固定,符合策略梯度理论假设,有效避免因模型-策略相互干扰导致的不稳定性。 综合想象训练的效果:通过上述机制,Dreamer系列实现了在潜在空间内进行闭环决策训练:世界模型基于真实环境交互不断完善,策略网络与价值网络则在世界模型内部模拟生成的想象轨迹上持续优化,形成了相互促进的学习过程。由于每一次真实交互之后可以利用模型生成大量潜在轨迹供训练,Dreamer展现出了极高的样本效率。这一特性解释了为何DreamerV2即使在单GPU、单环境进程的设置下,也能够在Atari游戏任务中取得超越传统强化学习算法(如Rainbow)的性能表现。 总体而言,从PlaNet到DreamerV3的发展历程体现了强化学习范式的重大转变:从早期“基于世界模型进行在线规划”,转向了“基于世界模型进行离线想象训练政策”,实现了对模型能力的更加系统和高效的利用。具体来说,通过精巧设计的循环状态空间模型(RSSM),结合基于λ-return的actor-critic训练框架,Dreamer系列成功地在潜在空间中实现了高效的决策学习:世界模型为策略提供了可微分的长期动态预测;价值网络为策略学习提供了方向性引导;策略网络则在大量想象数据上不断优化,以最大化累积回报。这种基于世界模型的想象强化学习框架,使得Dreamer能够以单一算法,在连续控制、离散动作游戏、以及稀疏奖励的3D复杂任务等广泛领域中展现卓越的适应性与性能。
- 3.2 训练过程
- 表征学习阶段
- 基于潜在空间的Rollout与策略优化
- 重参数技巧与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. 参考文献与外部链接
- 原始论文链接
- 开源代码仓库
- 相关综述或解读文章