更改

跳到导航 跳到搜索
删除24字节 、 2025年5月26日 (一) 10:05
第126行: 第126行:  
尽管基于世界模型的在线规划方法(如 PlaNet 的 MPC-CEM 策略)能够充分利用模型的预测能力,并在任务早期提供良好性能,但这类方法在每一步都需高频、实时地执行代价昂贵的轨迹优化,因此在长期训练和高频交互任务中难以扩展。为了解决这一瓶颈,Dreamer 系列算法提出了一种新的路径:通过在潜在空间中生成高质量的 imagined trajectories,用于训练策略网络与价值网络,从而实现“思维先行”的策略学习。这一机制允许智能体脱离实际环境、在模型内部高效地反复试错,并通过 Actor-Critic 框架在潜在空间内持续优化其行为策略。下面将详细介绍 Dreamer 如何在这一模拟世界中训练策略网络(actor)与价值函数(critic),并探讨其在稳定性与泛化能力上的一系列优化设计。
 
尽管基于世界模型的在线规划方法(如 PlaNet 的 MPC-CEM 策略)能够充分利用模型的预测能力,并在任务早期提供良好性能,但这类方法在每一步都需高频、实时地执行代价昂贵的轨迹优化,因此在长期训练和高频交互任务中难以扩展。为了解决这一瓶颈,Dreamer 系列算法提出了一种新的路径:通过在潜在空间中生成高质量的 imagined trajectories,用于训练策略网络与价值网络,从而实现“思维先行”的策略学习。这一机制允许智能体脱离实际环境、在模型内部高效地反复试错,并通过 Actor-Critic 框架在潜在空间内持续优化其行为策略。下面将详细介绍 Dreamer 如何在这一模拟世界中训练策略网络(actor)与价值函数(critic),并探讨其在稳定性与泛化能力上的一系列优化设计。
   −
=== '''从在线规划到潜在空间策略学习''' ===
+
=== 从在线规划到潜在空间策略学习 ===
 
在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>)作为想象轨迹'''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>
 
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>
   −
=== '''价值函数训练''' ===
+
=== 价值函数训练 ===
 
在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>\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框架中,策略网络(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>,一般来说,<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或奖励模型。这种设计保证了策略训练是在一个静态、稳定的模拟环境中进行,符合策略梯度理论假设,避免了模型和策略间相互干扰导致的震荡与不稳定。
 
----
 
----
761

个编辑

导航菜单