根据你今天关于 Dreamer 强化学习模型的学习内容,我整理了一份系统化的学习过程文档,形式化、条理清晰,覆盖概念、机制、训练流程和关键问题。


学习过程文档 — Dreamer 强化学习模型

一、核心概念

  1. World Model(世界模型)

    • 用于在 latent 空间中建模环境的动态和奖励。

    • 组成:

      • Encoder:将观测 (o_t) 编码为 latent 状态 (z_t)

      • Dynamics model:预测 (z{t+1}\sim p\theta(z_{t+1}|z_t,a_t))

      • Reward model:预测 (r_t \sim r_\theta(z_t))

      • Decoder(可选):从 latent 重建观测 (o_t)

  2. Policy / Actor(决策函数)

    • 输入:latent 状态 (z_t)

    • 输出:动作分布 (a_t \sim \pi_\phi(a_t|z_t))

    • 目标:在 imagined rollout 中最大化累积 reward

  3. Value / Critic(价值函数)

    • 估计某个 latent 状态的未来累积回报 (V_\psi(z_t))

    • 用于指导 policy 更新

  4. Imagination Rollout(想象轨迹)

    • 使用 world model + policy 生成未来 latent 轨迹 ((z_t,a_t,r_t),\dots,(z{t+N},a{t+N},r_{t+N}))

    • Rollout horizon (N) 是超参数(一般 15–30 步)

    • Policy 每步参与动作选择,但在 rollout 中参数不更新

  5. Reward 的作用与训练

    • Reward model 不固定,而是与 world model 同步训练

    • 训练目标:拟合真实环境奖励 (\mathcal{L}_{reward} = (\hat r_t - r_t^{env})^2)

    • Imagination rollout 的 reward 用于 policy 更新


二、核心训练流程

  1. 数据收集

    • 从真实环境中收集 ((o_t, a_t, r_t^{env}))

  2. World Model 更新

    • 训练 dynamics, reward, decoder

    • Loss: [ \mathcal{L}\text{world} = \text{MSE}(z{t+1}, \hat z_{t+1}) + \text{MSE}(r_t, \hat r_t) + \text{reconstruction loss} + \text{KL divergence} ]

  3. Imagination Rollout

    • 从真实 (z_t) 出发

    • 交替使用 policy 和 world model 生成 latent 轨迹

    • 记录 ((z_t, a_t, r_t), \dots)

    • 注意:policy 参数不更新,仅生成轨迹

  4. Value / Actor 更新

    • Value Loss:拟合 imagined 累积 reward [ \mathcal{L}\text{value} = \sum{t=0}^{N} (V_\psi(z_t) - R_t^{\text{imagined}})^2 ]

    • Actor Loss:最大化累积 reward [ \mathcal{L}\text{actor} = -\sum{t=0}^{N} V_\psi(z_t) ]

    • 更新 policy 和 value 网络参数

  5. 交互环境执行

    • 用训练好的 policy 选择动作

    • 收集新的真实数据 → 循环以上步骤


三、核心理解点

  1. Rollout 与 Policy 的关系

    • Rollout 中 policy 每一步参与动作生成

    • Rollout 后统一更新 policy,梯度通过整个 imagined trajectory 传播

  2. Reward 的可靠性

    • Reward model 是动态训练的

    • 早期可能不准确,但通过迭代 world model + 想象轨迹,reward 越来越可靠

  3. 未来动作与状态

    • Imagination rollout 的动作不是直接优化的序列

    • 改变的是 policy 的参数,使未来 rollout 的累积 reward 更高

  4. 梯度流向 [ r\theta(z) \rightarrow z{t+1} \rightarrow a_t \rightarrow \phi ]

    • actor / policy 梯度沿 imagined trajectory 传播

  5. 核心原则总结

    Dreamer 不是拟合未来状态,而是让 policy 产生一个高 reward 的未来


四、可视化辅助

  • 你生成了一张 Dreamer 模型计算图,清晰展示了:

    1. 真实观测输入 encoder → latent 状态

    2. Policy 与 world model 联动生成 imagined trajectory

    3. Reward 与 value 网络计算目标

    4. Actor / value / world model loss 及梯度方向

    5. 最终回到 policy 执行真实环境

  • 该图有助于理解 时间顺序 + 数据流 + 前向 rollout + 反向梯度


五、下一步建议学习

  1. 仔细理解 policy loss 的梯度传播路径

  2. 分析 value loss 与 actor loss 如何联合训练

  3. 理解 KL 正则化与 latent space 的稳定性

  4. 结合简单环境尝试 Dreamer 算法伪代码


如果你需要,我可以帮你生成一份图文结合的精简 Dreamer 学习手册,把文字流程和刚才生成的计算图整合在一起,作为快速复习材料。

你希望我生成吗?

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐