在 Dyna-Q 中进行规划是一种体验回放的形式吗?

机器算法验证 强化学习 q学习
2022-03-19 10:37:20

Richard Sutton 关于 RL 的书(第 2 版)中,他介绍了 Dyna-Q 算法,它结合了规划和学习。

在算法的规划部分,Dyna-agent 随机采样n 个状态-动作对(s,a)代理之前看到的,将这对输入到它的环境模型中,并获得一个采样的下一个状态s和奖励r. 然后它使用这个集合(s,a,r,s)执行其通常的 Q 学习更新。

在确定性环境中,对于给定的状态-动作对,奖励和下一个状态始终相同(st,at)(rt+1,st+1). 在他关于 Dyna-Q 的章节中,Sutton 并没有将这个过程称为体验重放的一种形式,并且只是在本书后面很长时间才介绍了后一个概念。但是,我真的看不出这两个过程之间的区别(如果有的话)。

是否可以说在确定性环境中,Tabular Dyna-Q 中的计划是一种经验回放形式?

Sutton 书中的表格 Dyna-Q,第 8.2 节

2个回答

是否可以说在确定性环境中,Tabular Dyna-Q 中的计划是一种经验回放形式?

我会说这样说并不完全正确,只是因为“体验重放”和“Dyna-Q”这两个术语被很好地理解为指的是特定的实现。确实,在您描述的特定情况下(确定性环境中的表格RL ),他们最终会做类似的事情。但是,他们仍然使用不同的实现来做这些类似的事情,这可能会在实践中产生细微的差异。例如,这两种想法可能有不同的内存要求。出于这个原因,我认为在表示另一个术语时使用一个术语是不正确的,即使在这种情况下它们彼此非常接近。

以下引自林龙吉的论文“Reinforcement Learning for Robots Using Neural Networks”(1993)的结论。这是体验重放的第一个来源之一。在整个文档中,Experience Replay 和 Dyna 一直被视为不同的想法,但确实有许多相似之处:

本论文提出了一种称为经验重放的技术。这种技术实际上利用了模型,但不存在构建模型的难题,因为模型只是过去经验的集合。

所以重要的区别真的不在于他们完成了什么,而在于他们是如何做到的。一旦超出了您描述的设置(函数近似而不是表格,和/或非确定性而不是确定性),您将看到更多明显的差异。

在一些论文中,这两个概念被认为是相同的,例如:Krueger、Paul、Thomas Griffiths 和 Stuart J. Russell。“用基于模型的伪奖励塑造无模型强化学习。” (2017)。

但是,完成更新的方式可能有所不同。Dyna 直接使用价值函数和预测误差。因此它可以使用一个单一的模拟步骤更新。

使用重放可能更类似于使用蒙特卡罗更新,后者考虑一系列动作的累积奖励,并且不使用更新中的价值函数或预测误差。

Z. Feldman 和 C. Domshlak,“蒙特卡洛树搜索:到 MC 还是到 DP?”,ECAI 2014:第 21 届欧洲人工智能会议,2014 年,第一卷。第 263 页,321