更改

跳到导航 跳到搜索
添加239字节 、 2025年5月16日 (五) 17:25
小
第64行: 第64行:  
Dreamer 系列框架自最早的 PlaNet 提出以来,经历了一系列的改进与演化。研究者不断在世界模型的建模方式、规划效率以及训练稳定性等方面进行优化,逐步发展出包括 DreamerV1、V2 乃至 V3 等多个版本。每一代框架在继承前一代核心思想的基础上,引入了更先进的模型结构和训练机制,显著提升了基于模型的强化学习方法在复杂环境中的表现力和泛化能力。但其核心思想始终保持一致,即通过重构观测数据来训练世界模型,并在潜在空间中建模环境的动态过程——具体而言,是通过学习循环状态空间模型(Recurrent State Space Model, RSSM)来捕捉环境的时序结构和潜在因果机制。
 
Dreamer 系列框架自最早的 PlaNet 提出以来,经历了一系列的改进与演化。研究者不断在世界模型的建模方式、规划效率以及训练稳定性等方面进行优化,逐步发展出包括 DreamerV1、V2 乃至 V3 等多个版本。每一代框架在继承前一代核心思想的基础上,引入了更先进的模型结构和训练机制,显著提升了基于模型的强化学习方法在复杂环境中的表现力和泛化能力。但其核心思想始终保持一致,即通过重构观测数据来训练世界模型,并在潜在空间中建模环境的动态过程——具体而言,是通过学习循环状态空间模型(Recurrent State Space Model, RSSM)来捕捉环境的时序结构和潜在因果机制。
   −
===系统架构===
+
===世界模型架构===
 
==== 编码器-解码器(Encoder-Decoder) ====
 
==== 编码器-解码器(Encoder-Decoder) ====
 
在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. 在反向传播时,使用对应的软概率分布作为梯度近似。这种处理方式兼顾了离散表示的表达力和可微分性,使得整个编码器模块能够通过标准反向传播高效训练。
第106行: 第106行:  
<br>
 
<br>
   −
==== 策略网络与值函数 ====
+
==== 策略网络与值函数<u><big>[[(单独作为一个小节3.4 策略学习)]]</big></u> ====
 
*'''从在线规划到潜在空间策略学习''':在PlaNet中,智能体通过在线规划进行决策:每次动作选择时,基于当前学习到的世界模型,在潜在空间中采样并评估多个动作序列(如使用交叉熵方法CEM),选取累计奖励最高的动作执行。尽管该方法充分利用了模型的预测能力,能够动态适应每次决策,但因每步都需大规模模型推演,计算开销极高,难以扩展至大规模或实时任务。Dreamer系列则提出了另一种路径:潜在空间内离线策略学习。Dreamer让智能体在世界模型生成的“想象轨迹”中反复训练,直接学习一个策略网络(Actor)根据潜在状态快速输出动作,同时配备价值网络(Critic)估计潜在状态的长期回报,为策略优化提供梯度信号。通过这一基于模型的Actor-Critic框架,Dreamer不仅继承了模型预测的优势,还显著降低了推理时的计算成本,实现了无需实时规划即可高效决策与执行的能力。
 
*'''从在线规划到潜在空间策略学习''':在PlaNet中,智能体通过在线规划进行决策:每次动作选择时,基于当前学习到的世界模型,在潜在空间中采样并评估多个动作序列(如使用交叉熵方法CEM),选取累计奖励最高的动作执行。尽管该方法充分利用了模型的预测能力,能够动态适应每次决策,但因每步都需大规模模型推演,计算开销极高,难以扩展至大规模或实时任务。Dreamer系列则提出了另一种路径:潜在空间内离线策略学习。Dreamer让智能体在世界模型生成的“想象轨迹”中反复训练,直接学习一个策略网络(Actor)根据潜在状态快速输出动作,同时配备价值网络(Critic)估计潜在状态的长期回报,为策略优化提供梯度信号。通过这一基于模型的Actor-Critic框架,Dreamer不仅继承了模型预测的优势,还显著降低了推理时的计算成本,实现了无需实时规划即可高效决策与执行的能力。
 
<br>
 
<br>
第118行: 第118行:  
*'''策略网络的训练与优化''':在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或奖励模型。这种设计保证了策略训练是在一个静态、稳定的模拟环境中进行,符合策略梯度理论假设,避免了模型和策略间相互干扰导致的震荡与不稳定。
   −
===训练过程===
+
===训练过程<u><big>[[(改成世界模型学习,3.2小节)]]</big></u>===
 
DreamerV1是一种强化学习方法,通过学习一个紧凑的'''潜在世界模型(世界模型,World model)''',将高维图像输入编码为低维潜在状态,并根据状态预测下一个状态和奖励,从而高效地从图像输入中解决长期目标的任务。其训练过程可以分为多个阶段,每个阶段都有其关键的任务和目标。
 
DreamerV1是一种强化学习方法,通过学习一个紧凑的'''潜在世界模型(世界模型,World model)''',将高维图像输入编码为低维潜在状态,并根据状态预测下一个状态和奖励,从而高效地从图像输入中解决长期目标的任务。其训练过程可以分为多个阶段,每个阶段都有其关键的任务和目标。
   第197行: 第197行:  
这一变分目标与使用重参数化技巧相结合,使得潜在动力学模型和策略能够端到端地被深度神经网络优化。
 
这一变分目标与使用重参数化技巧相结合,使得潜在动力学模型和策略能够端到端地被深度神经网络优化。
   −
===规划与决策机制===
+
===规划与决策机制<u><big>[[(这部分针对PlaNet的规划决策方法进行介绍,不涉及Dreamer)]]</big></u>===
 
[[File:解释图片.png|400px]]<br>Dreamer 算法的三阶段流程。左图 (a):学习环境的潜在动力学模型;中图 (b):在潜在空间中基于想象轨迹训练策略网络(Actor)与价值函数(Critic);右图 (c):在真实环境中执行已学习的策略。Dreamer 模型的规划与决策机制依赖于对环境潜在动力学的建模,并在潜在空间中生成“想象”轨迹,用以评估和优化智能体的行为策略。该机制可从两个核心过程展开:其一,在潜在空间中生成未来状态的想象轨迹;其二,基于这些轨迹进行动作序列的评估与选择,方法包括模型预测控制(MPC)与策略梯度优化。
 
[[File:解释图片.png|400px]]<br>Dreamer 算法的三阶段流程。左图 (a):学习环境的潜在动力学模型;中图 (b):在潜在空间中基于想象轨迹训练策略网络(Actor)与价值函数(Critic);右图 (c):在真实环境中执行已学习的策略。Dreamer 模型的规划与决策机制依赖于对环境潜在动力学的建模,并在潜在空间中生成“想象”轨迹,用以评估和优化智能体的行为策略。该机制可从两个核心过程展开:其一,在潜在空间中生成未来状态的想象轨迹;其二,基于这些轨迹进行动作序列的评估与选择,方法包括模型预测控制(MPC)与策略梯度优化。
 
====潜在空间中的imagined trajectory====
 
====潜在空间中的imagined trajectory====
761

个编辑

导航菜单