像蒙特卡洛搜索这样的推出算法建议基于模型的强化学习?

人工智能 强化学习 楷模 蒙特卡罗树搜索
2021-11-06 02:45:08

据我了解,蒙特卡洛树搜索算法是一种无模型强化学习(RL)的求解算法。

无模型 RL 意味着代理不知道转换和奖励模型。因此,要让智能体知道它将观察到哪个下一个状态以及它将获得下一个奖励,就是让智能体实际执行一个动作。

我的问题是:如果是这种情况,那么代理如何知道在推出期间它将观察到哪种状态,因为推出只是一种模拟,而代理从未真正执行过该操作?(它从不真正与环境交互:例如,它从不在围棋游戏中真正移动棋子在推出期间或向前看,因此无法观察到任何东西)。

如果它知道我所理解的转换模型,它只能假设在不与环境实际交互时(在模拟期间)观察任何东西。同样的论点也适用于推出/模拟期间的奖励。

在这种情况下,Monte Carlo Tree Search 算法的推出是否表明代理知道转换模型和奖励模型,因此是基于模型强化学习而不是无模型强化学习的解决方案算法?

** 这在 Alphago 中是有意义的,因为代理经过训练可以估计它会观察到的内容。但是 MCTS(没有策略和价值网络)方法假设代理知道它会观察到什么,即使没有包括额外的训练。

2个回答

MCTS 是否甚至是强化学习算法可能还有待商榷,但我们假设我们在这里将其视为 RL 算法。

出于实际目的,MCTS 确实应该被认为是一种基于模型的方法。下面,我将描述如何以某种方式将其视为无模型 RL 方法……然后回到为什么该观点在实践中并不经常有用。


更具体地说,在本文之后,我们将 MCTS 搜索过程视为基于值的 RL 算法(它学习值函数的估计,非常类似于 Sarsa,Q-learning 等),它仅限于学习它选择由搜索树中的节点表示的状态的值(它选择表示的这组状态在搜索过程中随着时间的推移逐渐增长)。

与传统的 RL 方法不同,这样的 MCTS 过程并不会真正产生可以在“训练”过程之后提取并在之后在许多不同状态下重新使用的策略或详尽/可概括的价值函数估计量。我们通常在运行 MCTS 后下棋,然后丢弃所有内容并重新开始下一步(也许我们会保留搜索树的相关部分并重用它,但这是一个小细节......我们肯定会赢'无法在另一场比赛/游戏/剧集中重复使用我们的搜索结果)。

MCTS 搜索过程本身可以被视为无模型RL 方法搜索的每一次迭代都可以被视为“代理”的实际片段,它在“真实”环境中以无模型的方式收集经验(但不像我们正在运行完整搜索的游戏那样真实)过程),其中这个“内部代理”首先遵循选择策略一段时间(例如 UCB1),然后是剧集其余部分的播放策略(例如统一随机)。

MCTS 迭代“内部”的这种“内部”代理可以被视为从无模型的 RL 过程中学习。这种观点在实践中的主要问题是,因为 MCTS “决定” 像激光一样关注相对较小的状态子集(围绕根节点),所以这个过程实际上只会导致为该状态学习一些有用的东西在根节点(可能还有一些最近的子/孙/等)。我们并没有真正学到可以在未来在 MCTS 中轻松重复使用的东西。这在实践中意味着我们必须能够在需要做出决定时(即回合制游戏中的每一个回合)重新运行完整的“强化学习过程”(或搜索)。

如果你有一个模拟器或环境模型,这是可行的,你可以在其中进行学习……但是我们真的回到了实际上有一个基于模型的方法。


有趣的事实:如果您喜欢将 MCTS 视为一种无模型 RL 方法,您还可以通过在 MCTS 迭代“内部”结合其他形式的计划/搜索,再次将其转变为基于模型的方法。例如,您可以在每次 MCTS 迭代中运行 MiniMax 的小实例,我想即使在这种观点下,这也会再次将该方法转变为基于模型的方法。

据我了解,蒙特卡洛树搜索算法是一种无模型强化学习(RL)的求解算法。

蒙特卡洛树搜索是一种规划算法。它可以被认为是 RL 的一部分,类似于 Dyna-Q。

作为一种规划算法,MCTS 确实需要访问环境模型。具体来说,它需要一个采样模型,即一个可以接受状态和动作的模型,然后返回单个下一个状态并以与目标系统相同的概率进行奖励。其他 RL 技术(如价值迭代)使用的替代模型是一种分布模型,它提供了奖励和下一个状态的概率的完整分布。

如果是这种情况,那么代理如何知道它将在推出期间观察到哪个状态,因为推出只是一个模拟,而代理实际上从未执行过该操作?

事实并非如此。代理知道它将在模拟过程中观察到什么,因为模拟一个采样模型。

在这种情况下,Monte Carlo Tree Search 算法中的部署是否表明代理知道转换模型和奖励模型,因此是基于模型的强化学习而不是无模型强化学习的解决方案算法?

是的。这就是大多数规划算法的工作方式。

模拟可以完全通过从以前的经验中采样来驱动,这就是 Dyna-Q 的工作原理*。我仍然会考虑基于模型的方法,它的成功在很大程度上取决于这种模型的学习程度。在许多情况下,由于学习模型中的错误导致的方差会对学习产生不利影响。所以 MCTS 在可以准确采样的环境中效果最好,因为它们是强烈的规则驱动的。例如,棋盘游戏。


* 在功能上 DynaQ 几乎与体验回放相同。如此之多,无论您认为它是添加到基本 Q 学习的计划算法还是经验回放,更多的是您如何呈现学习代理的设计 - 例如,也许设计师希望更多地关注模型学习方面,明确表示学习模型的代码也是如此。