演示 / 强化学习 / Dyna-Q

Dyna-Q:走一步,再在模型里练几步

蓝框表示真实交互更新,橙框表示从模型中采样的规划更新。两者改同一张 Q 表,但只有真实交互会移动黄色智能体。

修改规划次数、α 或 ε 会暂停并从相同种子重置,方便重复观察。固定种子 42 仅用于教学展示,不是性能基准。规划次数 0 就退化为只用真实经验的表格 Q-learning。

真实交互0
模型规划0
已知状态—动作对0
到达终点回合0

等待第一步真实交互

Q(s,a) ← Q(s,a) + α [r + γ max Q(s′,·) − Q(s,a)]

怎么观察

  1. 先单步:一次真实动作把观察到的转移存入模型;接下来的橙框更新只是重新利用模型经验。
  2. 自动运行到首次到达终点后,看正价值如何通过后续真实或规划更新向前传播。规划不会凭空知道没走过的路。
  3. 把规划次数设为 0 再重置,比较相同真实交互预算下的价值传播;更多规划也意味着更多计算,并不保证每条随机轨迹都更快。

教学边界与原论文

本页是现代教科书式表格 Dyna-Q 教学例子:确定性小网格、最后一次观察模型、均匀采样已见状态—动作对,γ 固定为 0.95,终点奖励 1,其余奖励 0。进入终点后回到起点;终止转移不自举。不包含 Dyna-Q+ 探索奖励、未试动作模拟、模型误差或原论文实验曲线,不能把本页当成 1990 年论文实验复现。

对照精读:Dyna,学习与规划共用经验 · Sutton 1990 原论文