我正在阅读Sutton和Barto的《强化学习》,以Dyna-Q为例,他们使用了一个迷宫问题。该示例显示,在n = 50个计划步骤的情况下,该算法仅在3个情节中达到了最佳路径。
这是对50步Q学习的改进吗?似乎您实际上确实在每个情节中运行一堆50步的Q学习算法,因此说在3个情节中找到最佳路径是一种误导。
另外,我想最大的问题是,当您没有环境模型时,我认为Dyna-Q很有用,但是在此示例中,我们没有环境模型吗?如果我们已经有了模型,为什么要使用所有内存来保存以前的所有移动?我很难理解为什么这是Dyna-Q的一个很好的例子。
答案 0 :(得分:0)
理论上,我们没有模型。我们在实践中仅将其用于仿真,但在现实生活中却没有。
Dyna-Q基本使用样本来近似模型。您无需查询过渡和奖励功能,而可以“查询”数据:过去在状态a
下执行s
时发生了什么?如果一切都是确定性的,那就等于知道确切的模型。
也想这样。在经典的Q学习中,您仅了解当前的s,a
,因此只有在访问Q(s,a)
时才更新。在Dyna-Q中,每次您更新所有Q(s,a)
从内存中查询它们。您不必重新访问它们。这极大地加快了速度。
此外,即使没有人承认,非常常见的“重播内存”基本上是对Dyna-Q的重新发明。