为什么在强化学习中使用树搜索/规划?

人工智能 强化学习 深度学习 蒙特卡罗树搜索 阿尔法零
2021-10-27 10:24:47

在 AlphaGo Zero 中,MCTS 与策略网络一起使用。一些消息来源说 MCTS(或一般规划)提高了样本效率。

假设转换模型是已知的,并且通过计划进行交互的计算成本与与环境交互的计算成本相同,我看不出玩多个游戏与玩单个游戏之间的区别,而是在每一步都有计划。

此外,给定已知转换模型的问题,我们怎么知道结合学习和树搜索可能会比纯学习更好?

1个回答

一些消息来源说 MCTS(或一般规划)提高了样本效率。

如果我们纯粹考虑在模拟中运行的实验,那么我估计在某些情况下,纯学习 + MCTS(或其他形式的计划/基于模型的方面)的组合可能更有效,并且可能在不同的情况下,这些技术中只有一种可能会表现得更好。所以我不会说这总是正确的。

通常,当说“样本效率”时,我们只会计算在“真实”环境中实际采取的步骤,但可能不会计算在前瞻搜索或规划算法中采取的步骤。在纯粹的模拟中,这似乎是一个奇怪的区别,但当您考虑到我们经常使用模拟只是因为它们是评估和比较新算法的便捷方法,但通常不是最终目标时,它会更明智。通常,最终目标是在“现实世界”中应用某些东西,例如在机器人或其他东西上。在这种情况下,收集纯粹的学习经验可能非常昂贵(耗时,而且可能还有风险,因为机器人可能会摔倒和摔坏等)。但你也可以为机器人提供学习模型或模拟器,并让机器人使用它在现实世界的近似版本上运行自己的搜索或规划算法。这是一个明显的案例,与在现实世界中为纯 RL 收集真实体验相比,执行此类操作要快得多、成本更低且风险更低。


假设转换模型是已知的,并且通过计划进行交互的计算成本与与环境交互的计算成本相同,我看不出玩多个游戏与玩单个游戏之间的区别,而是在每一步都有计划。

回到我们实际上纯粹在模拟中工作的情况,在纯学习步骤与搜索/规划步骤之间的计算成本没有差异的情况下,绝对仍然存在一些差异。如果您运行搜索,您将使用额外的时间并临时使用额外的内存(在完成搜索算法后再次释放)以在“主要”环境中做出一个非常好的决定。您也可以将 MCTS 模拟中采取的步骤视为一种学习形式,但它们的目的与在纯 RL 设置中采取的步骤不同;采取这些步骤的唯一目标是学习如何在根状态下表现良好。所有搜索时间和内存使用都专用于该单一决策。与您相比,这可以实现更明智的决策 完全脱离你通过纯 RL 学到的东西,因为 1)将更多的精力集中在一个决策上,以及 2)不受你的学习算法实际学习一个好的决策的能力的限制(简单的函数逼近器可能只是简单地无法准确表示强策略,更复杂的函数逼近器将花费大量时间来学习)。这种通过搜索做出的更明智的决策反过来也可以提高纯 RL 组件使用的体验质量。更复杂的函数逼近器将花费大量时间来学习)。这种通过搜索做出的更明智的决策反过来也可以提高纯 RL 组件使用的体验质量。更复杂的函数逼近器将花费大量时间来学习)。这种通过搜索做出的更明智的决策反过来也可以提高纯 RL 组件使用的体验质量。


最后,由于您一开始提到 AlphaGo Zero,我想强调 AlphaGo Zero 和类似方法通常用于多智能体对抗领域(如零和游戏)。这种多智能体设置的纯 RL 方法确实存在,但与单智能体设置的纯 RL 方法相比,对它们的研究要少得多。大多数这些纯 RL 方法实际上只适用于单智能体设置,并且在应用于这些类型的多智能体设置时很容易表现不佳。另一方面,像 MCTS 这样的搜索算法在这些对抗领域(如游戏)中是非常成熟的技术,它们与学习方法的结合似乎允许使用没有明确“意识到”这一事实的学习方法他们'