主题
Dyna-Q 迷宫演示:规划步数 n 如何加速学习
算法
Dyna-Q 在每个真实时间步做三件事:
- 直接强化学习:用真实转移
做一次 Q-learning 更新; - 模型学习:记住
(确定性环境下,查表即可); - 规划:重复
次——从已见过的 中随机选一个,查模型得到 ,再做一次 Q-learning 更新。
规划更新和真实更新用的是同一个公式,区别只在于数据来自模型而不是环境。
可以试试
- 点“跑 1 回合”两次,比较两边的箭头:第 2 回合结束时,Q-learning 只有终点附近一两个格子有方向,Dyna-Q 已经从终点“倒推”出了大半张地图的路线。
- “计算 20 次实验平均”复现教材图 8.2:n = 50 时大约第 3 回合就接近最短路径(14 步),Q-learning 要几十个回合。
- 规划不是免费的:n = 50 意味着每个真实步要做 51 次更新。当真实交互昂贵(机器人、在线系统)而计算便宜时,这笔交易很划算。