返回 强化学习 思维导图
中文·English
🎮 强化学习ID: dyna

Dyna 架构 (Dyna-Q)

Dyna Architecture (Dyna-Q)
🎯核心定义
Dyna 架构(Dyna-Q)是模型学习与无模型学习的混合范式:每次真实交互后,先用真实经验更新 Q,再把学到的世界模型当"免费环境"生成 nn 次想象 rollout,与真实经验混合同步做 Q-learning 更新。伪代码要点: ``` while True: a ← ε-greedy(s) # 真实经验: 策略选动作 r, s' ← env(s, a) # 环境交互 Q(s,a) ← Q(s,a) + α[r + γ·max_a' Q(s',a') − Q(s,a)] # 真实更新 model(s,a) ← (r, s') # 更新世界模型 repeat n 次: # 想象 rollout 混合 s̃ ← 随机已访问状态; ã ← 随机动作 (r̃, s̃') ← model(s̃, ã) # 用模型模拟 Q(s̃,ã) ← Q(s̃,ã) + α[r̃ + γ·max Q(s̃',·) − Q(s̃,ã)] # 想象更新 ``` 其中真实更新与想象更新使用完全相同的 Q-learning 规则,模型只负责扩充经验来源。
💡使用场景
表格型/简单环境的模型增强入门范式;面试常问"最简 Model-Based 范式"与"模型在 RL 中的第一个用途";深度 RL 中对应物为 MBPO(Model-Based Policy Optimization:模型 rollout 数据混入 replay buffer 训练 SAC/PPO)。
解决的核心痛点
真实经验有限时收敛慢;Dyna 把每条真实样本"放大"成 nn 个想象样本,显著加速 Q-learning 收敛。局限:想象状态从已访问状态池随机采样,分布可能与策略实际到达的状态不匹配,模型偏差会被放大。
🎯5 个高频面试考点 (Exam Points)
1
Dyna-Q 的核心思想是什么?写出伪代码的关键步骤。
2
想象 rollout 中状态/动作如何采样?分布与真实不一致会有什么问题?
3
n(每次交互的想象步数)如何影响收敛速度与计算开销?
4
Dyna 与 Priority Sweeping 有什么区别?
5
Dyna 在深度 RL 中的对应物是什么?(如 MBPO 如何混合模型 rollout)
📖 关联深度指南:📄 model-based-rl-and-planning
更新于 2026-08-12
🎯
检验攻克程度:针对「Dyna 架构 (Dyna-Q)」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点世界模型学习 (World Model)下一个知识点MPC 规划 (Model Predictive Control)

🔗 更多 强化学习 知识点卡片

Actor-Critic 框架行为克隆 BC上下文老虎机思维链与推理强化