更改

删除6,990字节 、 2025年5月17日 (六) 22:59
第1行: 第1行: −
='''概述'''=
   
Dreamer框架是一个基于模型的强化学习方法,其特征在于通过学习环境的潜在模型来进行高效的规划与决策,其中的潜在模型也被称为世界模型。Dreamer由Danijar Hafner等人于2019年提出,其核心思想是通过训练一个潜在的世界模型(world model),该模型通过对环境进行内在表示建模,来模拟未来的状态变化,并基于此进行长期规划以及策略学习。与传统的强化学习方法(如基于值函数的Q学习或策略梯度方法)不同,Dreamer不直接依赖于与环境的交互,而是通过学习环境的动态模型,结合模型预测进行策略优化,从而提高了样本效率,尤其在复杂任务中能显著减少对环境交互的依赖。该方法使得强化学习能够在有限的交互次数内达到较高的性能,并在多个控制任务中取得了显著的成功。
 
Dreamer框架是一个基于模型的强化学习方法,其特征在于通过学习环境的潜在模型来进行高效的规划与决策,其中的潜在模型也被称为世界模型。Dreamer由Danijar Hafner等人于2019年提出,其核心思想是通过训练一个潜在的世界模型(world model),该模型通过对环境进行内在表示建模,来模拟未来的状态变化,并基于此进行长期规划以及策略学习。与传统的强化学习方法(如基于值函数的Q学习或策略梯度方法)不同,Dreamer不直接依赖于与环境的交互,而是通过学习环境的动态模型,结合模型预测进行策略优化,从而提高了样本效率,尤其在复杂任务中能显著减少对环境交互的依赖。该方法使得强化学习能够在有限的交互次数内达到较高的性能,并在多个控制任务中取得了显著的成功。
−
----
      
='''背景知识'''=
 
='''背景知识'''=
−
世界模型(World Models)的研究兴起于对强化学习中环境建模能力的不断探索,其本质上是'''基于模型的强化学习(Model-Based Reinforcement Learning, MBRL)'''的一种实现形式。与传统的基于模型方法相同,世界模型旨在构建一个能够模拟环境动态的内部模型,从而支持智能体在模拟空间中的推理、预测与规划。相较于基于模型的强化学习这一更为宽泛的范畴,世界模型更强调通过'''学习潜在空间的紧凑表示''',构建可预测、可推理的环境内部结构,常与神经网络的生成能力和结构建模相结合。
+
世界模型(World Models)的研究兴起于对强化学习中环境建模能力的不断探索,其本质上是'''基于模型的强化学习(Model-Based Reinforcement Learning, MBRL)'''的一种实现形式。与传统的基于模型方法相同,世界模型旨在构建一个能够模拟环境动态的内部模型,从而支持智能体在模拟空间中的推理、预测与规划。通过VAE将观测序列编码为潜在状态,再利用循环神经网络(RNN)建模潜在动力学,预测下一时刻的潜在状态,然后,解码器从下一时刻的潜在状态重构观测并预测即时奖励。相较于基于模型的强化学习这一更为宽泛的范畴,世界模型更强调通过'''学习潜在空间的紧凑表示''',构建可预测、可推理的环境内部结构,常与神经网络的生成能力和结构建模相结合。
    
早期的 model-based RL 方法以 Sutton 在 1990 年代提出的 '''Dyna 框架'''为代表,其核心思想是结合模型学习与基于模型的规划,通过学习一个环境模型来辅助策略更新。然而,受限于当时模型建模能力的不足以及高维输入场景中的泛化难题,早期方法在复杂任务中表现有限。
 
早期的 model-based RL 方法以 Sutton 在 1990 年代提出的 '''Dyna 框架'''为代表,其核心思想是结合模型学习与基于模型的规划,通过学习一个环境模型来辅助策略更新。然而,受限于当时模型建模能力的不足以及高维输入场景中的泛化难题,早期方法在复杂任务中表现有限。
第12行: 第10行:  
在此基础上,Hafner 等人于 2019 年提出了 '''PlaNet(Planning Network)''',引入了更强表达能力的'''循环状态空间模型(Recurrent State Space Model, RSSM)''',并通过基于潜在空间的MPC(模型预测控制)实现了在像素级输入下的强化学习任务。PlaNet 不仅提升了建模精度,还首次系统地验证了世界模型在标准 RL 基准任务中的可行性。
 
在此基础上,Hafner 等人于 2019 年提出了 '''PlaNet(Planning Network)''',引入了更强表达能力的'''循环状态空间模型(Recurrent State Space Model, RSSM)''',并通过基于潜在空间的MPC(模型预测控制)实现了在像素级输入下的强化学习任务。PlaNet 不仅提升了建模精度,还首次系统地验证了世界模型在标准 RL 基准任务中的可行性。
   −
随后,Hafner 团队持续优化该系列框架,陆续提出了 '''DreamerV1(2020)'''、'''DreamerV2(2021)''' 和 '''DreamerV3(2023)'''。DreamerV1 在 PlaNet 的基础上引入了基于潜在空间的 actor-critic 学习机制,实现了端到端的策略优化。DreamerV2 则首次在 Atari 游戏中达到了与基于模型无关方法相当甚至更优的性能,表明世界模型已具备强大的泛化能力和策略学习效率。DreamerV3 进一步提高了算法的稳定性与适应性,在多种强化学习基准测试中展现出前所未有的性能突破,并于 '''2025 年发表在《Nature》杂志上''',成为世界模型领域迈向主流通用智能路径的重要里程碑。
+
随后,Hafner 团队持续优化该系列框架,陆续提出了 '''DreamerV1(2020)'''、'''DreamerV2(2021)''' 和 '''DreamerV3(2023)'''。DreamerV1 在 PlaNet 的基础上引入了基于潜在空间的 actor-critic 学习机制,实现了端到端的策略优化,显著提升了数据效率和计算效率。DreamerV2 则首次在 Atari 游戏中达到了与基于模型无关方法相当甚至更优的性能,表明世界模型已具备强大的泛化能力和策略学习效率。DreamerV3 进一步加入归一化和平衡技术,提高了算法的稳定性与适应性,在多种强化学习基准测试中展现出前所未有的性能突破,实现了在 150 多个不同任务中的高度鲁棒性和优异性能,并于 '''2025 年发表在《Nature》杂志上''',成为世界模型领域迈向主流通用智能路径的重要里程碑。
−
 
  −
=== 世界模型(World Models)简介 ===
  −
世界模型旨在构建一个能够“梦”出未来的生成式动态模型。首先,令观测序列为<math>o_t</math> ,通过 VAE 将其编码为潜在状态<math>z_t</math>:
  −
 
  −
<math>z_t \sim q_\phi(z_t\mid o_t)</math>,
  −
 
  −
其中 <math>o_t</math> 表示时刻 <math>t</math>的观测(如图像),<math>z_t</math> 为对应的潜在变量,<math>q_\phi</math>是参数为 <math>\phi</math>的近似后验分布,通常设为高斯分布,用于提取和压缩空间特征。接下来,利用循环神经网络(RNN)建模潜在动力学,预测下一时刻的潜在状态:
  −
 
  −
<math>\hat{z}_t = f_\theta(z_{t-1}, a_{t-1})</math>,
  −
 
  −
其中 <math>f_\theta</math>表示参数为 <math>\theta</math>的 RNN(例如 GRU 或 LSTM),它接收前一时刻的潜在状态<math>z_{t-1}</math>与动作<math>a_{t-1}</math>,输出对下一潜在状态的预测<math>\hat{z}_t</math>。然后,解码器 <math>p_\psi</math>从 <math>\hat{z}_t</math>重构观测并预测即时奖励:
  −
 
  −
<math>\hat{o}_t \sim p_\psi(o_t\mid \hat{z}_t), \quad \hat{r}_t = r_\psi(\hat{z}_t)</math>,
  −
 
  −
其中<math>\hat{o}_t</math>表示对原始观测<math>o_t</math>的重构,<math>\hat{r}_t</math>表示对真实奖励<math>r_t</math>的预测,<math>\psi</math>为解码及奖赏网络参数。模型通过最小化以下总损失进行训练:
  −
 
  −
<math>\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>\mathrm{KL}(\cdot\|\cdot)</math>为 Kullback–Leibler 散度,先验分布<math>p(z_t\mid z_{t-1},a_{t-1})</math>即由 RNN 隐状态给出的预测分布。
  −
 
  −
=== Dreamer所继承或改进的相关方法(如PlaNet) ===
  −
Dreamer在 PlaNet的世界模型基础上,引入了端到端的潜在想象与策略—价值梯度更新,显著提升了数据效率和计算效率。PlaNet 首先学习潜在动力学模型,并使用交叉熵方法(CEM)在潜在空间中规划动作:
  −
 
  −
<math>\max_{a_{t:t+H-1}} \sum_{i=0}^{H-1} \gamma^i\,r_\psi(\hat{z}_{t+i}) \quad\text{s.t.}\quad \hat{z}_{t+i+1}=f_\theta(\hat{z}_{t+i},a_{t+i})</math>
  −
 
  −
其中<math>\hat{z}_{t+i}</math>是潜在状态预测,<math>r_\psi</math>为奖励模型,CEM 通过迭代采样和重采样寻找最优动作,但计算代价高昂。Dreamer 则在已学到的潜在模型中,从当前潜在状态<math>\hat{z}_t</math>出发,使用策略网络 <math>\pi_\omega(a\mid z)</math>在潜在空间中想象多步轨迹:
  −
 
  −
<math>\hat{z}_{t+1:t+T},\quad \hat{a}_{t:t+T-1}\sim \pi_\omega(\cdot\mid \hat{z}_{t:t+T-1})</math>
  −
 
  −
并在想象轨迹上同时优化策略网络和价值网络<math>V_\eta</math>。其策略损失和价值损失分别为:
  −
 
  −
<math>\mathcal{L}_{\mathrm{actor}} = -\mathbb{E}\Bigl[\sum_{i=0}^{T-1}\gamma^i\,\hat{r}_{t+i} + \gamma^T V_\eta(\hat{z}_{t+T})\Bigr],  </math>
  −
 
  −
<math>\mathcal{L}_{\mathrm{critic}} = \mathbb{E}\Bigl[\bigl(V_\eta(\hat{z}_t) - \sum_{i=0}^{T-1}\gamma^i\,\hat{r}_{t+i} - \gamma^T V_\eta(\hat{z}_{t+T})\bigr)^2\Bigr], </math>
  −
 
  −
其中<math>\hat{r}_{t+i}=r_\psi(\hat{z}_{t+i})</math>是对即时奖励的预测,<math>\omega</math>为策略网络参数,<math>\eta</math>为价值网络参数,通过反向传播实现“在梦中”高效学习。最新的第三代 Dreamer 进一步加入归一化和平衡技术,实现了在 150 多个不同任务中的高度鲁棒性和优异性能。
   
----
 
----
   第58行: 第20行:  
在Dreamer框架中,深度模型基于编码器-解码器架构,从高维感知输入(如图像)中学习紧凑的潜在表示。编码器通常由卷积神经网络(CNN)构成,用于提取图像观测的高层特征。具体地,编码器将每个观测<math>x_t</math>映射为随机潜在变量<math>z_t</math>的分布参数,例如连续高斯分布的均值和方差,或离散多分类分布的概率值。在早期方法(如PlaNet和DreamerV1)中,潜在变量<math>z_t</math>采用连续高斯分布表示。编码器输出均值<math>\mu_t</math>和标准差<math>\sigma_t</math>,并通过重参数化采样获得<math>z_t</math>。DreamerV2进一步引入了离散潜在表示:将图像编码为多个独立的分类随机变量,每个变量取值于有限类别集合。例如,DreamerV2将每幅图像映射为32个独立的分类分布,每个分布有32个可能类别,通过采样生成32个独热向量,最终连接形成潜在表示<math>z_t</math>。这种离散潜变量设计提升了模型对多模态不确定性的表达能力,使得世界模型能够更好地捕捉环境中潜在的离散变化。为了在反向传播中处理离散采样带来的不可导问题,Dreamer采用了**直通梯度(straight-through gradient)**技巧:1. 在前向传播中,从每个分类分布中采样硬的独热向量;2. 在反向传播时,使用对应的软概率分布作为梯度近似。这种处理方式兼顾了离散表示的表达力和可微分性,使得整个编码器模块能够通过标准反向传播高效训练。
 
在Dreamer框架中,深度模型基于编码器-解码器架构,从高维感知输入(如图像)中学习紧凑的潜在表示。编码器通常由卷积神经网络(CNN)构成,用于提取图像观测的高层特征。具体地,编码器将每个观测<math>x_t</math>映射为随机潜在变量<math>z_t</math>的分布参数,例如连续高斯分布的均值和方差,或离散多分类分布的概率值。在早期方法(如PlaNet和DreamerV1)中,潜在变量<math>z_t</math>采用连续高斯分布表示。编码器输出均值<math>\mu_t</math>和标准差<math>\sigma_t</math>,并通过重参数化采样获得<math>z_t</math>。DreamerV2进一步引入了离散潜在表示:将图像编码为多个独立的分类随机变量,每个变量取值于有限类别集合。例如,DreamerV2将每幅图像映射为32个独立的分类分布,每个分布有32个可能类别,通过采样生成32个独热向量,最终连接形成潜在表示<math>z_t</math>。这种离散潜变量设计提升了模型对多模态不确定性的表达能力,使得世界模型能够更好地捕捉环境中潜在的离散变化。为了在反向传播中处理离散采样带来的不可导问题,Dreamer采用了**直通梯度(straight-through gradient)**技巧:1. 在前向传播中,从每个分类分布中采样硬的独热向量;2. 在反向传播时,使用对应的软概率分布作为梯度近似。这种处理方式兼顾了离散表示的表达力和可微分性,使得整个编码器模块能够通过标准反向传播高效训练。
   −
<br>
   
*'''编码器''':在Dreamer框架中,编码器(Encoder)承担着将高维原始观测<math>x_t</math>映射为低维潜在表示<math>z_t</math>的关键任务。其设计不仅要高效提取观测中的关键信息,还需保证潜在表示能够支持环境动力学建模与未来轨迹模拟。Dreamer系列方法通常采用卷积神经网络(CNN)作为编码器的主体结构,主要特点包括:逐层卷积提取图像观测中的局部与全局特征;将输入<math>x_t</math>映射为一组潜在分布参数(如均值、标准差或分类概率)。编码器最终输出的不是一个确定值,而是潜在变量<math>z_t</math>的概率分布参数,以便支持下游的随机采样与不确定性建模。
 
*'''编码器''':在Dreamer框架中,编码器(Encoder)承担着将高维原始观测<math>x_t</math>映射为低维潜在表示<math>z_t</math>的关键任务。其设计不仅要高效提取观测中的关键信息,还需保证潜在表示能够支持环境动力学建模与未来轨迹模拟。Dreamer系列方法通常采用卷积神经网络(CNN)作为编码器的主体结构,主要特点包括:逐层卷积提取图像观测中的局部与全局特征;将输入<math>x_t</math>映射为一组潜在分布参数(如均值、标准差或分类概率)。编码器最终输出的不是一个确定值,而是潜在变量<math>z_t</math>的概率分布参数,以便支持下游的随机采样与不确定性建模。
   −
<br>
   
*'''解码器与观测重构''':解码器(observation model)负责从潜在状态重构原始观测<math>\hat{x}_t</math>。通常,解码器由卷积神经网络(CNN)的反向结构(如转置卷积)构成,用于将潜在表示还原为观测空间的分布参数。在Dreamer框架中,给定当前潜在状态(包括确定性隐状态<math>h_t</math>和随机成分<math>z_t</math>),解码器输出观测的概率分布,如图像像素的强度分布。具体地,对于图像重建任务:<br> 1. PlaNet和DreamerV1/V2多采用高斯分布或伯努利分布对像素值建模;<br> 2. 优化过程中,分别对应于均方误差(MSE)损失或对数似然损失。<br> 3. DreamerV3进一步在解码器输出中引入了symlog变换处理:将原空间的像素或向量值应用对称对数压缩变换:<math>\text{symlog}(x) = \text{sign}(x) \cdot \log(1 + |x|)</math>。<br> 4. 在symlog空间计算均方误差损失。<br>这种变换能够在保持小值分辨率的同时压缩极端取值范围,提升了模型在不同尺度环境下的重构稳定性,避免了因大幅度数值变化导致的训练不稳定问题。<br>Dreamer根据不同版本引入了两类潜在变量设计:<br>连续潜变量(PlaNet, DreamerV1):1. 潜变量<math>z_t</math>建模为多维对角高斯分布;2. 编码器输出每一维的均值<math>\mu_t</math>和标准差<math>\sigma_t</math>;3. 使用**重参数化技巧(reparameterization trick)**进行采样: <math>z_t = \mu_t + \sigma_t \odot \epsilon</math>,其中<math>\epsilon \sim \mathcal{N}(0, I)</math>;4. 保证采样过程可微,支持反向传播训练。<br>离散潜变量(DreamerV2及之后):1. 潜变量<math>z_t</math>由多个独立的分类随机变量组成;2. 编码器输出每个分类变量的类别概率分布;3. 每个变量通过从分类分布中采样独热向量(one-hot vector)获得;4. 采样时采用直通梯度(straight-through gradient estimator)。这种离散化设计增强了模型捕捉环境中多模态、离散变化特征的能力,提升了世界模型在复杂动态系统中的建模灵活性。
 
*'''解码器与观测重构''':解码器(observation model)负责从潜在状态重构原始观测<math>\hat{x}_t</math>。通常,解码器由卷积神经网络(CNN)的反向结构(如转置卷积)构成,用于将潜在表示还原为观测空间的分布参数。在Dreamer框架中,给定当前潜在状态(包括确定性隐状态<math>h_t</math>和随机成分<math>z_t</math>),解码器输出观测的概率分布,如图像像素的强度分布。具体地,对于图像重建任务:<br> 1. PlaNet和DreamerV1/V2多采用高斯分布或伯努利分布对像素值建模;<br> 2. 优化过程中,分别对应于均方误差(MSE)损失或对数似然损失。<br> 3. DreamerV3进一步在解码器输出中引入了symlog变换处理:将原空间的像素或向量值应用对称对数压缩变换:<math>\text{symlog}(x) = \text{sign}(x) \cdot \log(1 + |x|)</math>。<br> 4. 在symlog空间计算均方误差损失。<br>这种变换能够在保持小值分辨率的同时压缩极端取值范围,提升了模型在不同尺度环境下的重构稳定性,避免了因大幅度数值变化导致的训练不稳定问题。<br>Dreamer根据不同版本引入了两类潜在变量设计:<br>连续潜变量(PlaNet, DreamerV1):1. 潜变量<math>z_t</math>建模为多维对角高斯分布;2. 编码器输出每一维的均值<math>\mu_t</math>和标准差<math>\sigma_t</math>;3. 使用**重参数化技巧(reparameterization trick)**进行采样: <math>z_t = \mu_t + \sigma_t \odot \epsilon</math>,其中<math>\epsilon \sim \mathcal{N}(0, I)</math>;4. 保证采样过程可微,支持反向传播训练。<br>离散潜变量(DreamerV2及之后):1. 潜变量<math>z_t</math>由多个独立的分类随机变量组成;2. 编码器输出每个分类变量的类别概率分布;3. 每个变量通过从分类分布中采样独热向量(one-hot vector)获得;4. 采样时采用直通梯度(straight-through gradient estimator)。这种离散化设计增强了模型捕捉环境中多模态、离散变化特征的能力,提升了世界模型在复杂动态系统中的建模灵活性。
   −
<br>
   
*'''潜在表示的先验与后验分布选择'''':在Dreamer框架中,世界模型为每个潜在变量指定先验分布<math>p_\theta(z_t|h_t)</math>与后验分布<math>q_\phi(z_t|h_t, x_t)</math>。其中:先验分布描述在缺乏真实观测<math>x_t</math>时,模型基于确定性隐状态<math>h_t</math>对下一个潜在状态的预测;后验分布则是在观察到<math>x_t</math>后,对潜在状态<math>z_t</math>的推断。当使用连续高斯潜变量时,先验和后验均建模为对角高斯分布;当使用离散潜变量时,则为多分类分布,如独热向量的离散采样表示。训练过程中,通过最大化变分证据下界(ELBO)联合优化编码器与解码器参数,目标包含:重构对数似然(观测、奖励、终止标志);潜在变量先验-后验之间的KL正则项。重构损失<math>L_{\text{pred}}</math>通常由以下部分组成:观测重建误差(<math>-\ln p_\theta(x_t|h_t,z_t)</math>);奖励预测误差(<math>-\ln p_\theta(r_t|h_t,z_t)</math>);终止信号预测误差。同时,引入KL正则项:<math>D_{\text{KL}}(q_\phi(z_t|h_t,x_t) \parallel p_\theta(z_t|h_t))</math>,以约束编码器后验接近动力学先验,防止编码器提取过多无关信息,提升潜在表示的可预测性与泛化能力。整体训练目标可表示为:<math>L = \mathbb{E}{q\phi} \left[ \sum_t \left( L_{\text{pred},t} + L_{\text{KL},t} \right) \right]</math>。
 
*'''潜在表示的先验与后验分布选择'''':在Dreamer框架中,世界模型为每个潜在变量指定先验分布<math>p_\theta(z_t|h_t)</math>与后验分布<math>q_\phi(z_t|h_t, x_t)</math>。其中:先验分布描述在缺乏真实观测<math>x_t</math>时,模型基于确定性隐状态<math>h_t</math>对下一个潜在状态的预测;后验分布则是在观察到<math>x_t</math>后,对潜在状态<math>z_t</math>的推断。当使用连续高斯潜变量时,先验和后验均建模为对角高斯分布;当使用离散潜变量时,则为多分类分布,如独热向量的离散采样表示。训练过程中,通过最大化变分证据下界(ELBO)联合优化编码器与解码器参数,目标包含:重构对数似然(观测、奖励、终止标志);潜在变量先验-后验之间的KL正则项。重构损失<math>L_{\text{pred}}</math>通常由以下部分组成:观测重建误差(<math>-\ln p_\theta(x_t|h_t,z_t)</math>);奖励预测误差(<math>-\ln p_\theta(r_t|h_t,z_t)</math>);终止信号预测误差。同时,引入KL正则项:<math>D_{\text{KL}}(q_\phi(z_t|h_t,x_t) \parallel p_\theta(z_t|h_t))</math>,以约束编码器后验接近动力学先验,防止编码器提取过多无关信息,提升潜在表示的可预测性与泛化能力。整体训练目标可表示为:<math>L = \mathbb{E}{q\phi} \left[ \sum_t \left( L_{\text{pred},t} + L_{\text{KL},t} \right) \right]</math>。
   第87行: 第46行:  
#  
 
#  
 
# 随机路径(<math>s_t</math>):**引入建模灵活性,表达环境随机性、观测噪声与局部不可预测性。
 
# 随机路径(<math>s_t</math>):**引入建模灵活性,表达环境随机性、观测噪声与局部不可预测性。
−
<br>
+
 
 
*'''多步预测与潜在轨迹训练''':
 
*'''多步预测与潜在轨迹训练''':
 
由于RSSM需要支持智能体在潜在空间中进行规划与“想象”未来,其多步预测的准确性至关重要。传统的序列变分自编码器(VAE)训练方法——即在每个时间步重构观测并施加一次KL正则化——实际上只直接优化了单步状态转移,使得梯度仅能感知到单步预测误差。这种训练方式虽然在单步预测上效果良好,但在多步滚动预测中,误差易于累积,显著削弱了长期推理与规划的能力。为了解决这一问题,PlaNet提出了**潜在超前(latent overshooting)**的多步变分训练目标。其核心思想是:不仅对单步转移(即先验分布<math>p(s_t \mid s_{t-1}, a_{t-1})</math>与后验分布<math>q(s_t \mid h_t, x_t)</math>)施加KL正则化,还在潜在空间中引入跨越多个时间步的变分监督。以两步超前训练为例,模型从时刻<math>t-2</math>起,仅基于先验动力学连续预测<math>\hat{s}_{t-1}</math>和<math>\hat{s}_t</math>,然后将预测得到的<math>\hat{s}t</math>与基于真实观测得到的后验<math>q(s_t \mid o{\leq t})</math>进行KL正则化,从而优化连续转移过程中的准确性。更一般地,对于超前<math>d</math>步的overshooting,训练目标中引入了如下KL项:<div align="center"><math>\mathrm{KL}\left[q(s_t \mid o_{\leq t}) \, \| \, p(s_t \mid s_{t-d:t-1})\right]</math></div>其中,<math>p(s_t \mid s_{t-d:t-1})</math>表示从<math>t-d</math>到<math>t-1</math>的先验连续预测,<math>q(s_t \mid o_{\leq t})</math>则是基于真实观测的后验分布(具体推导详见PlaNet附录)。通过这种overshooting策略,RSSM的随机状态转移机制能够接收到连续多步的训练信号,梯度得以沿着多步预测链条反向传播,从而显著提升长时间尺度上的预测准确性。PlaNet的实验验证了latent overshooting在提升基于潜在模型的规划性能方面的有效性。
 
由于RSSM需要支持智能体在潜在空间中进行规划与“想象”未来,其多步预测的准确性至关重要。传统的序列变分自编码器(VAE)训练方法——即在每个时间步重构观测并施加一次KL正则化——实际上只直接优化了单步状态转移,使得梯度仅能感知到单步预测误差。这种训练方式虽然在单步预测上效果良好,但在多步滚动预测中,误差易于累积,显著削弱了长期推理与规划的能力。为了解决这一问题,PlaNet提出了**潜在超前(latent overshooting)**的多步变分训练目标。其核心思想是:不仅对单步转移(即先验分布<math>p(s_t \mid s_{t-1}, a_{t-1})</math>与后验分布<math>q(s_t \mid h_t, x_t)</math>)施加KL正则化,还在潜在空间中引入跨越多个时间步的变分监督。以两步超前训练为例,模型从时刻<math>t-2</math>起,仅基于先验动力学连续预测<math>\hat{s}_{t-1}</math>和<math>\hat{s}_t</math>,然后将预测得到的<math>\hat{s}t</math>与基于真实观测得到的后验<math>q(s_t \mid o{\leq t})</math>进行KL正则化,从而优化连续转移过程中的准确性。更一般地,对于超前<math>d</math>步的overshooting,训练目标中引入了如下KL项:<div align="center"><math>\mathrm{KL}\left[q(s_t \mid o_{\leq t}) \, \| \, p(s_t \mid s_{t-d:t-1})\right]</math></div>其中,<math>p(s_t \mid s_{t-d:t-1})</math>表示从<math>t-d</math>到<math>t-1</math>的先验连续预测,<math>q(s_t \mid o_{\leq t})</math>则是基于真实观测的后验分布(具体推导详见PlaNet附录)。通过这种overshooting策略,RSSM的随机状态转移机制能够接收到连续多步的训练信号,梯度得以沿着多步预测链条反向传播,从而显著提升长时间尺度上的预测准确性。PlaNet的实验验证了latent overshooting在提升基于潜在模型的规划性能方面的有效性。
−
<br>
+
 
 
*'''KL正则化与平衡技术''':在RSSM的训练过程中,每一个时间步都需要保持先验预测<math>\hat{s}_t</math>与后验推断<math>s_t</math>的一致性,这一目标通常通过引入KL散度损失来实现。然而,在训练中存在一个关键挑战:编码器分布<math>q(s_t \mid h_t, x_t)</math>与动力学先验分布<math>p(s_t \mid h_t)</math>之间可能出现学习速度不匹配或“责任分配”(credit assignment)问题。具体而言,当编码器过于强大时,模型可能倾向于仅依赖后验推断,从而使先验动力学变得无关紧要;反之,若动力学先验过强,则编码器可能无法有效地从观测数据中提取信息。为了应对这一问题,DreamerV2提出了KL balancing技巧,通过分别调整先验与后验的更新路径以实现平衡。具体做法是:将KL散度分解为两个部分;其中一部分以**停止梯度(stop gradient)**的后验分布为参考,用于更新动力学先验,促使先验动态更好地跟随后验推断;另一部分则以停止梯度的先验分布为参考,用于更新编码器后验,防止后验偏离潜在动态建模。这种双路径更新机制,有效避免了模型在训练过程中过度依赖后验推断的问题,促使动态预测模块与观测编码模块在训练中保持合理协作。在此基础上,DreamerV3进一步引入了**自由nats(free nats)**的机制,即为KL散度设定一个最小阈值。当实际KL值低于该阈值时,不再继续压缩KL损失,从而防止潜在状态退化为无信息的情况——即虽然动力学先验易于预测,但潜在状态本身携带的信息量极低或接近于零,仅仅是为了最小化KL散度。
 
*'''KL正则化与平衡技术''':在RSSM的训练过程中,每一个时间步都需要保持先验预测<math>\hat{s}_t</math>与后验推断<math>s_t</math>的一致性,这一目标通常通过引入KL散度损失来实现。然而,在训练中存在一个关键挑战:编码器分布<math>q(s_t \mid h_t, x_t)</math>与动力学先验分布<math>p(s_t \mid h_t)</math>之间可能出现学习速度不匹配或“责任分配”(credit assignment)问题。具体而言,当编码器过于强大时,模型可能倾向于仅依赖后验推断,从而使先验动力学变得无关紧要;反之,若动力学先验过强,则编码器可能无法有效地从观测数据中提取信息。为了应对这一问题,DreamerV2提出了KL balancing技巧,通过分别调整先验与后验的更新路径以实现平衡。具体做法是:将KL散度分解为两个部分;其中一部分以**停止梯度(stop gradient)**的后验分布为参考,用于更新动力学先验,促使先验动态更好地跟随后验推断;另一部分则以停止梯度的先验分布为参考,用于更新编码器后验,防止后验偏离潜在动态建模。这种双路径更新机制,有效避免了模型在训练过程中过度依赖后验推断的问题,促使动态预测模块与观测编码模块在训练中保持合理协作。在此基础上,DreamerV3进一步引入了**自由nats(free nats)**的机制,即为KL散度设定一个最小阈值。当实际KL值低于该阈值时,不再继续压缩KL损失,从而防止潜在状态退化为无信息的情况——即虽然动力学先验易于预测,但潜在状态本身携带的信息量极低或接近于零,仅仅是为了最小化KL散度。
−
<br>
+
 
 
*'''RSSM架构的改进与增强''':在DreamerV3中,针对RSSM的模型架构进行了多项重要增强,旨在提升在不同任务环境下的训练稳定性与整体性能表现。具体而言,DreamerV3采用了分块GRU(Block GRU)作为序列建模的核心递归单元,并引入了RMSNorm归一化和SiLU激活函数,以改善梯度传播特性并增强训练过程的数值稳定性。分块GRU是一种将隐藏状态划分为若干独立子块、并在子块内部并行更新的递归结构。这种设计在扩展隐藏规模的同时,能够显著缓解传统RNN在大规模建模时常见的优化不稳定问题。得益于这些架构改进,DreamerV3的世界模型可以根据任务需求灵活扩展参数规模(从数千万到数亿量级),并在不同规模下使用统一的超参数配置而无需专门调整,体现出优异的扩展性与稳健性。此外,在离散潜变量的建模方面,DreamerV3引入了**1%均匀混合(unimix)**策略,即将分类先验分布与均匀分布按99:1的比例进行线性混合。这一策略相当于在先验输出中注入了极小的平滑项,有效防止了预测概率在训练早期快速饱和至0或1的现象,从而提高了潜在动态建模的鲁棒性,减少了陷入局部极值或不稳定优化轨迹的风险。通过这些架构和正则化细节的系统性优化,DreamerV3的世界模型能够在多种不同环境中实现稳定训练——从像素级离散控制任务(如Atari游戏),到连续动作控制任务(如DMControl套件),再到极具挑战性的稀疏奖励开放世界环境(如Minecraft)等。更为重要的是,这种稳健性使得模型在不同任务间几乎无需针对性微调超参数配置,展现出出色的泛化能力与工程实用性。
 
*'''RSSM架构的改进与增强''':在DreamerV3中,针对RSSM的模型架构进行了多项重要增强,旨在提升在不同任务环境下的训练稳定性与整体性能表现。具体而言,DreamerV3采用了分块GRU(Block GRU)作为序列建模的核心递归单元,并引入了RMSNorm归一化和SiLU激活函数,以改善梯度传播特性并增强训练过程的数值稳定性。分块GRU是一种将隐藏状态划分为若干独立子块、并在子块内部并行更新的递归结构。这种设计在扩展隐藏规模的同时,能够显著缓解传统RNN在大规模建模时常见的优化不稳定问题。得益于这些架构改进,DreamerV3的世界模型可以根据任务需求灵活扩展参数规模(从数千万到数亿量级),并在不同规模下使用统一的超参数配置而无需专门调整,体现出优异的扩展性与稳健性。此外,在离散潜变量的建模方面,DreamerV3引入了**1%均匀混合(unimix)**策略,即将分类先验分布与均匀分布按99:1的比例进行线性混合。这一策略相当于在先验输出中注入了极小的平滑项,有效防止了预测概率在训练早期快速饱和至0或1的现象,从而提高了潜在动态建模的鲁棒性,减少了陷入局部极值或不稳定优化轨迹的风险。通过这些架构和正则化细节的系统性优化,DreamerV3的世界模型能够在多种不同环境中实现稳定训练——从像素级离散控制任务(如Atari游戏),到连续动作控制任务(如DMControl套件),再到极具挑战性的稀疏奖励开放世界环境(如Minecraft)等。更为重要的是,这种稳健性使得模型在不同任务间几乎无需针对性微调超参数配置,展现出出色的泛化能力与工程实用性。
 +
    
===世界模型训练过程===
 
===世界模型训练过程===
第137行: 第97行:  
在实现中,表征模型采用卷积网络(CNN)提取图像特征,转移模型使用循环状态空间模型(RSSM)处理时间序列信息 ,并使用重参数化技巧和随机梯度反向传播(Kingma & Welling方法)来训练整个模型 。
 
在实现中,表征模型采用卷积网络(CNN)提取图像特征,转移模型使用循环状态空间模型(RSSM)处理时间序列信息 ,并使用重参数化技巧和随机梯度反向传播(Kingma & Welling方法)来训练整个模型 。
 
[[文件:1-3.png|无框|600x600像素]]
 
[[文件:1-3.png|无框|600x600像素]]
−
  −
====基于潜在空间的Rollout与策略优化[[(这部分内容可以融合到3.4策略学习)]]====
  −
当表征学习阶段完成后,DreamerV1就能够在潜在空间中进行“想象”,并基于这种想象进行策略学习。这个阶段的核心任务是通过'''Rollout(想象轨迹)来优化策略,具体来说,就是通过价值估计'''来优化策略,使得智能体可以在潜在空间中学到解决长期任务的策略。
  −
  −
具体来说,在Rollout阶段,DreamerV1会生成'''想象轨迹''',每当从环境中收集到一段真实轨迹并得到当前潜在状态<math>s_t </math>后,DreamerV1 便以该潜在状态为起点,在潜在动力学模型中模拟生成一条长度为<math>H </math>的想象轨迹。对于想象过程中的每个时间步<math>\tau </math>:先由策略网络<math>q_\phi(a_\tau\mid s_\tau) </math> 采样动作 <math>a_\tau </math>,再用转移模型 <math>q_\theta(s_{\tau+1}\mid s_\tau,a_\tau) </math> 生成下一个潜在状态,并通过奖励模型 <math>q_\theta(r_\tau\mid s_\tau) </math> 预测相应的奖励 。这样就构造了一个在潜在状态空间中'''完全可观测的马尔可夫决策过程(MDP)''' 。这些生成的轨迹是在潜在空间中进行的,并不需要实际执行在真实环境中。换句话说,DreamerV1在潜在状态空间中“提前演练”其行为。
  −
  −
DreamerV1采用了'''actor-critic方法'''来优化策略。其中,策略网络通过采样动作来引导智能体的行为,而价值网络则评估每个状态的“好坏”,并将反馈的价值信息回传给策略网络,从而改进策略。
  −
  −
'''策略网络(Action Model)''':
  −
  −
该网络通过给定潜在状态<math>s_t </math>来输出一个动作的分布(通常是高斯分布),从中采样动作:
  −
  −
<math>a_t \sim \mathcal{N}(\mu_\phi(s_t), \sigma_\phi(s_t)) </math>
  −
  −
'''价值网络(Value Model)''':
  −
  −
该网络根据潜在状态预测一个期望的累计奖励,即价值估计。优化的目标是通过反馈给策略网络,最大化这些估计的价值:
  −
  −
<math>V_\lambda(s_t) = \sum_{t=1}^{H} \gamma^{t} r_t </math>
  −
  −
式中,<math>\gamma </math>是折扣因子,<math>r_t </math>是每个时刻的奖励。
  −
  −
通过反向传播,DreamerV1会利用梯度信息来更新策略网络和价值网络,从而确保在想象空间中的策略能够最大化预期的累积奖励。
      
====重参数技巧与ELBO目标函数====
 
====重参数技巧与ELBO目标函数====
第182行: 第119行:  
在获得想象轨迹后,智能体需要根据这些虚拟演练的结果选择实际执行的动作。一般而言,可采取两种途径在想象轨迹上进行决策:其一是采用模型预测控制(MPC)进行在线规划;其二是采用策略梯度方法训练出一个策略网络直接输出动作。
 
在获得想象轨迹后,智能体需要根据这些虚拟演练的结果选择实际执行的动作。一般而言,可采取两种途径在想象轨迹上进行决策:其一是采用模型预测控制(MPC)进行在线规划;其二是采用策略梯度方法训练出一个策略网络直接输出动作。
 
*'''模型预测控制(MPC)''':MPC 利用系统的动力学模型,在每个决策时刻通过有限时域优化实时生成控制输入。假设系统状态为<math>s_t</math> ,作用于系统的控制动作为<math>a_t</math>,动力学模型表示为<math>s_{t+1} = f(s_t, a_t)</math>。其中<math>f</math>可以是通过系统辨识获得的线性或非线性模型,用于预测系统在当前状态<math>s_t</math>及动作<math>a_t</math>下的下一状态<math>s_{t+1}</math>。在时刻<math>t</math>,MPC 求解以下有限预测时域<math>H</math>上的最优动作序列:<math>\{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)</math>。其中<math>\gamma\in(0,1]</math>为折扣因子,<math>r(s,a)</math>为即时奖赏函数,<math>H</math>称为预测时域,优化结果是一组使未来累积折扣奖赏最大的动作序列。随后仅执行序列中的第一个动作<math>a_t^*</math>,环境推进后更新状态并重新求解优化问题,形成“滚动时域”(receding horizon)控制策略。MPC 的优点在于能够自然处理状态和动作约束,并具有对未来事件的预测能力;缺点则是每个时刻都要在线求解优化问题,计算开销较大,且对模型精度要求较高。<br>模型预测控制(Model Predictive Control, MPC)将决策问题转化为基于模型的序列优化过程:在每一个决策时刻,智能体从当前的潜在状态出发,搜索一系列未来动作,旨在最大化预期的累计回报。通常设定有限的规划视野<math>H</math>,通过对候选动作序列进行随机采样与优化(如采用交叉熵法,Cross-Entropy Method, CEM)以评估其预期奖励,并选择回报最高的动作序列,执行其中的首个动作。PlaNet 算法正是基于此策略,利用 MPC 在潜在空间中实现高效的在线规划。该方法在每一步都结合最新观测信息重新生成规划序列,从而实现动态更新与快速响应。此类基于模型的控制方式充分发挥了世界模型对未来状态与回报的预测能力,即使在策略尚未成熟时,也能辅助代理做出较优的行动决策。然而,MPC 的一个主要限制在于其较高的计算成本——由于每个环境步长均需重新求解优化问题,因此在高频交互任务中可能成为性能瓶颈。
 
*'''模型预测控制(MPC)''':MPC 利用系统的动力学模型,在每个决策时刻通过有限时域优化实时生成控制输入。假设系统状态为<math>s_t</math> ,作用于系统的控制动作为<math>a_t</math>,动力学模型表示为<math>s_{t+1} = f(s_t, a_t)</math>。其中<math>f</math>可以是通过系统辨识获得的线性或非线性模型,用于预测系统在当前状态<math>s_t</math>及动作<math>a_t</math>下的下一状态<math>s_{t+1}</math>。在时刻<math>t</math>,MPC 求解以下有限预测时域<math>H</math>上的最优动作序列:<math>\{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)</math>。其中<math>\gamma\in(0,1]</math>为折扣因子,<math>r(s,a)</math>为即时奖赏函数,<math>H</math>称为预测时域,优化结果是一组使未来累积折扣奖赏最大的动作序列。随后仅执行序列中的第一个动作<math>a_t^*</math>,环境推进后更新状态并重新求解优化问题,形成“滚动时域”(receding horizon)控制策略。MPC 的优点在于能够自然处理状态和动作约束,并具有对未来事件的预测能力;缺点则是每个时刻都要在线求解优化问题,计算开销较大,且对模型精度要求较高。<br>模型预测控制(Model Predictive Control, MPC)将决策问题转化为基于模型的序列优化过程:在每一个决策时刻,智能体从当前的潜在状态出发,搜索一系列未来动作,旨在最大化预期的累计回报。通常设定有限的规划视野<math>H</math>,通过对候选动作序列进行随机采样与优化(如采用交叉熵法,Cross-Entropy Method, CEM)以评估其预期奖励,并选择回报最高的动作序列,执行其中的首个动作。PlaNet 算法正是基于此策略,利用 MPC 在潜在空间中实现高效的在线规划。该方法在每一步都结合最新观测信息重新生成规划序列,从而实现动态更新与快速响应。此类基于模型的控制方式充分发挥了世界模型对未来状态与回报的预测能力,即使在策略尚未成熟时,也能辅助代理做出较优的行动决策。然而,MPC 的一个主要限制在于其较高的计算成本——由于每个环境步长均需重新求解优化问题,因此在高频交互任务中可能成为性能瓶颈。
 +
    
=== 策略网络与值函数 ===
 
=== 策略网络与值函数 ===
−
  −
====基于潜在空间的Rollout与策略优化[[(这部分内容可以融合到3.4策略学习)]]====
  −
当表征学习阶段完成后,DreamerV1就能够在潜在空间中进行“想象”,并基于这种想象进行策略学习。这个阶段的核心任务是通过'''Rollout(想象轨迹)来优化策略,具体来说,就是通过价值估计'''来优化策略,使得智能体可以在潜在空间中学到解决长期任务的策略。
  −
  −
DreamerV1采用了'''actor-critic方法'''来优化策略。其中,策略网络通过采样动作来引导智能体的行为,而价值网络则评估每个状态的“好坏”,并将反馈的价值信息回传给策略网络,从而改进策略。
  −
  −
'''策略网络(Action Model)''':
  −
  −
该网络通过给定潜在状态<math>s_t </math>来输出一个动作的分布(通常是高斯分布),从中采样动作:
  −
  −
<math>a_t \sim \mathcal{N}(\mu_\phi(s_t), \sigma_\phi(s_t)) </math>
  −
  −
'''价值网络(Value Model)''':
  −
  −
该网络根据潜在状态预测一个期望的累计奖励,即价值估计。优化的目标是通过反馈给策略网络,最大化这些估计的价值:
  −
  −
<math>V_\lambda(s_t) = \sum_{t=1}^{H} \gamma^{t} r_t </math>
  −
  −
式中,<math>\gamma </math>是折扣因子,<math>r_t </math>是每个时刻的奖励。
  −
  −
通过反向传播,DreamerV1会利用梯度信息来更新策略网络和价值网络,从而确保在想象空间中的策略能够最大化预期的累积奖励。
      
*'''从在线规划到潜在空间策略学习''':在PlaNet中,智能体通过在线规划进行决策:每次动作选择时,基于当前学习到的世界模型,在潜在空间中采样并评估多个动作序列(如使用交叉熵方法CEM),选取累计奖励最高的动作执行。尽管该方法充分利用了模型的预测能力,能够动态适应每次决策,但因每步都需大规模模型推演,计算开销极高,难以扩展至大规模或实时任务。Dreamer系列则提出了另一种路径:潜在空间内离线策略学习。Dreamer让智能体在世界模型生成的“想象轨迹”中反复训练,直接学习一个策略网络(Actor)根据潜在状态快速输出动作,同时配备价值网络(Critic)估计潜在状态的长期回报,为策略优化提供梯度信号。通过这一基于模型的Actor-Critic框架,Dreamer不仅继承了模型预测的优势,还显著降低了推理时的计算成本,实现了无需实时规划即可高效决策与执行的能力。<br>
 
*'''从在线规划到潜在空间策略学习''':在PlaNet中,智能体通过在线规划进行决策:每次动作选择时,基于当前学习到的世界模型,在潜在空间中采样并评估多个动作序列(如使用交叉熵方法CEM),选取累计奖励最高的动作执行。尽管该方法充分利用了模型的预测能力,能够动态适应每次决策,但因每步都需大规模模型推演,计算开销极高,难以扩展至大规模或实时任务。Dreamer系列则提出了另一种路径:潜在空间内离线策略学习。Dreamer让智能体在世界模型生成的“想象轨迹”中反复训练,直接学习一个策略网络(Actor)根据潜在状态快速输出动作,同时配备价值网络(Critic)估计潜在状态的长期回报,为策略优化提供梯度信号。通过这一基于模型的Actor-Critic框架,Dreamer不仅继承了模型预测的优势,还显著降低了推理时的计算成本,实现了无需实时规划即可高效决策与执行的能力。<br>
   −
*'''想象环境与模拟轨迹''':Dreamer通过在潜在空间中进行**想象(imagination)**生成训练数据。整体流程如下:首先,从真实环境交互中收集初步经验,并将其存入经验回放池。随后,智能体在潜在空间中反复执行以下训练循环:<br>1. 从经验回放池中采样一批真实经历对应的潜在状态(即通过编码器将观测<math>o_t</math>编码得到的潜在表示<math>z_t</math>)作为想象轨迹的起点;<br>2. 在世界模型内部展开长度为<math>H</math>步的潜在轨迹(通常<math>H \approx 15</math>)扩展流程:1. 策略网络(actor)<math>q_\phi(a_\tau\mid s_\tau) </math>根据当前潜在状态<math>z_t</math>采样动作<math>a_t</math>;2. RSSM的转移模型<math>q_\theta(s_{\tau+1}\mid s_\tau,a_\tau) </math>根据<math>z_t</math>和<math>a_t</math>生成下一个潜在状态<math>z_{t+1}</math>;3. 奖励模型<math>q_\theta(r_\tau\mid s_\tau) </math>预测当前步的奖励<math>r_t</math>;4. 终止模型判断是否达到episode结束条件。<br>通过上述过程,生成一条完全由世界模型预测产生的伪轨迹序列:<math>(z_0, a_0, r_0), (z_1, a_1, r_1), \dots, (z_H)</math>。这样就构造了一个在潜在状态空间中'''完全可观测的马尔可夫决策过程(MDP)''' 。这些生成的轨迹是在潜在空间中进行的,并不需要实际执行在真实环境中。换句话说,DreamerV1在潜在状态空间中“提前演练”其行为。由于潜在状态的维度远小于原始观测(例如图像),且RSSM模块由神经网络实现,因此整个模拟过程可以在GPU上高度并行。DreamerV2的实验报告显示,其可以在单张GPU上并行生成多达2500条潜在轨迹。在这些模拟轨迹上,Dreamer分别训练价值网络(critic)与策略网络(actor),利用想象经验不断优化策略表现。
+
*'''想象环境与模拟轨迹''':Dreamer通过在潜在空间中进行想象(imagination)生成训练数据。整体流程如下:首先,从真实环境交互中收集初步经验,并将其存入经验回放池。随后,智能体在潜在空间中反复执行以下训练循环:<br>1. 从经验回放池中采样一批真实经历对应的潜在状态(即通过编码器将观测<math>o_t</math>编码得到的潜在表示<math>z_t</math>)作为想象轨迹'''Rollout'''的起点;<br>2. 在世界模型内部展开长度为<math>H</math>步的潜在轨迹(通常<math>H \approx 15</math>)扩展流程:1. 策略网络(actor)<math>q_\phi(a_\tau\mid s_\tau) </math>根据当前潜在状态<math>z_t</math>采样动作<math>a_t</math>;2. RSSM的转移模型<math>q_\theta(s_{\tau+1}\mid s_\tau,a_\tau) </math>根据<math>z_t</math>和<math>a_t</math>生成下一个潜在状态<math>z_{t+1}</math>;3. 奖励模型<math>q_\theta(r_\tau\mid s_\tau) </math>预测当前步的奖励<math>r_t</math>;4. 终止模型判断是否达到episode结束条件。<br>通过上述过程,生成一条完全由世界模型预测产生的伪轨迹序列:<math>(z_0, a_0, r_0), (z_1, a_1, r_1), \dots, (z_H)</math>。这样就构造了一个在潜在状态空间中'''完全可观测的马尔可夫决策过程(MDP)''' 。这些生成的轨迹是在潜在空间中进行的,并不需要实际执行在真实环境中。换句话说,DreamerV1在潜在状态空间中“提前演练”其行为。由于潜在状态的维度远小于原始观测(例如图像),且RSSM模块由神经网络实现,因此整个模拟过程可以在GPU上高度并行。DreamerV2的实验报告显示,其可以在单张GPU上并行生成多达2500条潜在轨迹。在这些模拟轨迹上,Dreamer分别训练价值网络(critic)与策略网络(actor),利用想象经验不断优化策略表现。<br>
   −
<br>
+
*'''价值函数训练''':在Dreamer框架中,价值网络以潜在状态(<math>z_t</math>)或更完整的隐状态对(<math>h_t</math>,<math>s_t</math>)作为输入,输出一个标量(<math>v_\psi(z_t)</math>),用于近似当前潜在状态下的期望折扣累积回报。为了高效训练价值网络,Dreamer采用了基于想象轨迹的时序差分学习(temporal difference learning),并结合了λ-return方法,在训练中平衡偏差与方差。具体地,给定一条想象轨迹:<math>(z_0, r_0), (z_1, r_1), \dots, (z_H, r_H)</math>,其中<math>z_H</math>为轨迹末状态,可以为每个中间潜在状态构造目标价值<math>R_t^\lambda</math>。<br>λ-return的基本思路是对不同步长<math>n</math>的回报进行加权平均,定义为:<math>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>\gamma </math>是折扣因子,<math>r_t </math>是每个时刻的奖励。并在<math>n</math>趋近轨迹末端时截断。直观地说,λ-return在有限长度模拟轨迹内考虑累计奖励,并在终点使用价值网络估计<math>v_\psi(z_H)</math>近似未来无穷远回报,从而为每个状态提供全局价值估计。随后,价值网络通过最小化以下均方误差损失进行训练:<math>\frac{1}{2} (v_\psi(z_t) - R_t^\lambda)^2</math>。<br>为进一步提升训练的稳定性与鲁棒性,Dreamer引入了以下优化措施:<br>1. 终止状态折扣修正:对于预测为终止的状态,Dreamer根据折扣因子<math>\gamma_t</math>,对后续步骤的损失贡献进行累积折扣衰减。若模型预测某步后episode结束,相应的价值误差将按<math>\gamma_t</math>的乘积因子递减,避免无意义误差影响训练。<br>2. 回报尺度归一化(Symlog变换与Two-Hot编码):为了适应不同任务环境下回报尺度差异,DreamerV3引入了对称log变换(symlog)与Two-Hot编码结合的方法:Symlog变换压缩回报尺度,公式为:<math>\text{symlog}(x) = \text{sign}(x) \cdot \log(1 + |x|)</math>。训练时,价值网络回归symlog变换后的回报,推理时通过symexp(逆变换)还原实际值。此方法能有效抑制极端大回报带来的梯度爆炸,提升训练稳定性。同时,为了进一步平滑训练目标,DreamerV3将symlog后的目标值离散到相邻的离散桶,并采用Two-Hot编码表示概率分布。价值网络输出每个桶的概率预测,训练时使用交叉熵或KL散度作为损失。相比直接实数回归或One-Hot分桶,Two-Hot编码能减缓因跨度大导致的训练不稳定性,使价值估计更加平滑且精确。<br>3. 目标网络机制(Exponential Moving Average, EMA):为了防止价值估计在训练中发生不稳定震荡,DreamerV3引入了目标价值网络。具体做法是:维护一个价值网络参数的指数滑动平均版本(EMA),并在训练中添加正则项,促使在线价值网络输出逐步向目标网络靠拢。<br>
−
*'''价值函数训练''':在Dreamer框架中,价值网络以潜在状态(<math>z_t</math>)或更完整的隐状态对(<math>h_t</math>,<math>s_t</math>)作为输入,输出一个标量(<math>v_\psi(z_t)</math>),用于近似当前潜在状态下的期望折扣累积回报。为了高效训练价值网络,Dreamer采用了基于想象轨迹的时序差分学习(temporal difference learning),并结合了λ-return方法,在训练中平衡偏差与方差。具体地,给定一条想象轨迹:<math>(z_0, r_0), (z_1, r_1), \dots, (z_H, r_H)</math>,其中<math>z_H</math>为轨迹末状态,可以为每个中间潜在状态构造目标价值<math>R_t^\lambda</math>。<br>λ-return的基本思路是对不同步长<math>n</math>的回报进行加权平均,定义为:<math>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>n</math>趋近轨迹末端时截断。直观地说,λ-return在有限长度模拟轨迹内考虑累计奖励,并在终点使用价值网络估计<math>v_\psi(z_H)</math>近似未来无穷远回报,从而为每个状态提供全局价值估计。随后,价值网络通过最小化以下均方误差损失进行训练:<math>\frac{1}{2} (v_\psi(z_t) - R_t^\lambda)^2</math>。<br>为进一步提升训练的稳定性与鲁棒性,Dreamer引入了以下优化措施:<br>1. 终止状态折扣修正:对于预测为终止的状态,Dreamer根据折扣因子<math>\gamma_t</math>,对后续步骤的损失贡献进行累积折扣衰减。若模型预测某步后episode结束,相应的价值误差将按<math>\gamma_t</math>的乘积因子递减,避免无意义误差影响训练。<br>2. 回报尺度归一化(Symlog变换与Two-Hot编码):为了适应不同任务环境下回报尺度差异,DreamerV3引入了对称log变换(symlog)与Two-Hot编码结合的方法:Symlog变换压缩回报尺度,公式为:<math>\text{symlog}(x) = \text{sign}(x) \cdot \log(1 + |x|)</math>。训练时,价值网络回归symlog变换后的回报,推理时通过symexp(逆变换)还原实际值。此方法能有效抑制极端大回报带来的梯度爆炸,提升训练稳定性。同时,为了进一步平滑训练目标,DreamerV3将symlog后的目标值离散到相邻的离散桶,并采用Two-Hot编码表示概率分布。价值网络输出每个桶的概率预测,训练时使用交叉熵或KL散度作为损失。相比直接实数回归或One-Hot分桶,Two-Hot编码能减缓因跨度大导致的训练不稳定性,使价值估计更加平滑且精确。<br>3. 目标网络机制(Exponential Moving Average, EMA):为了防止价值估计在训练中发生不稳定震荡,DreamerV3引入了目标价值网络。具体做法是:维护一个价值网络参数的指数滑动平均版本(EMA),并在训练中添加正则项,促使在线价值网络输出逐步向目标网络靠拢。
     −
<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>,一般来说,<math>a_t \sim \mathcal{N}(\mu_\phi(s_t), \sigma_\phi(s_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或奖励模型。这种设计保证了策略训练是在一个静态、稳定的模拟环境中进行,符合策略梯度理论假设,避免了模型和策略间相互干扰导致的震荡与不稳定。
   
----
 
----
   第309行: 第224行:  
** 引入'''任务自适应正则化(task-adaptive regularization)''',提升跨任务泛化能力。
 
** 引入'''任务自适应正则化(task-adaptive regularization)''',提升跨任务泛化能力。
 
** 世界模型结构更深层次,引入'''更强的隐状态表达能力'''。
 
** 世界模型结构更深层次,引入'''更强的隐状态表达能力'''。
−
  −
       
761

个编辑