蒙特卡洛树搜索是否符合机器学习的条件?

人工智能 机器学习 强化学习 游戏-ai 蒙特卡罗树搜索 零字母
2021-11-11 20:47:01

据我所知,蒙特卡洛树搜索 (MCTS) 算法是极小极大算法的替代方法,用于搜索节点树。它的工作原理是选择一个动作(通常是最有可能成为最佳的动作),然后在移动中执行随机播放以查看结果。这个过程在分配的时间内继续进行。

这听起来不像机器学习,而是一种遍历树的方法。但是,我听说 AlphaZero 使用 MCTS,所以我很困惑。如果 AlphaZero 使用 MCTS,那么 AlphaZero 为什么要学习?或者 AlphaZero 是否在进行任何比赛之前进行了某种机器学习,然后使用它从机器学习中获得的直觉来了解哪些动作可以花更多时间玩 MCTS?

3个回答

John 的回答是正确的,因为 MCTS 传统上不被视为一种机器学习方法,而是一种树搜索算法,并且 AlphaZero 将其与机器学习技术(深度神经网络和强化学习)相结合。

然而,MCTS 本身和机器学习之间有一些有趣的相似之处。在某种意义上,MCTS 试图从通过这些节点产生的经验中“学习”节点的价值。这与强化学习 (RL) 的工作方式非常相似(其本身通常被描述为机器学习的一个子集)。

一些研究人员还尝试了基于其他 RL 方法(例如,时间差异备份)的 MCTS 的传统反向传播阶段的替代品(从 RL 的角度来看,可以将其描述为实现蒙特卡罗备份) . 描述 MCTS 和 RL 之间这些相似之处的综合论文是:关于蒙特卡洛树搜索和强化学习

另请注意,MCTS 的选择阶段通常被视为一系列小型 Multi-Armed Bandit 问题,这些问题也与 RL 有很强的联系。


TL;DR:MCTS 通常不被视为一种机器学习技术,但如果你仔细检查它,你会发现它与 ML 有很多相似之处(特别是强化学习)。

蒙特卡洛树搜索通常不被认为是一种机器学习技术,而是一种搜索技术。有相似之处(从某种意义上说,MCTS 确实尝试从数据中学习通用模式,但模式不是很通用),但实际上 MCTS 并不是适合大多数学习问题的算法。

AlphaZero 是几种算法的组合。一个是 MCTS,但 MCTS 需要一个函数来告诉它游戏的不同状态可能有多好(否则,它需要模拟整个游戏)。在国际象棋或围棋等游戏中处理此函数的一种方法是通过训练神经网络来近似它,这就是 Deep Mind 研究人员所做的。这是 AlphaZero 的学习组件。

欢迎来到 AI 中语义定义的雷区!根据大英百科全书,ML 是一门“与实现可以自主学习的计算机软件有关的学科”。ML 还有很多其他定义,但通常它们都很模糊,以不同的顺序表示“学习”、“经验”、“自主”等。没有大多数人使用的众所周知的基准定义,因此除非有人想提出一个,否则任何一篇关于此的帖子都需要参考支持。

根据大英百科全书的定义,将 MCTS 称为 ML 的一部分的情况非常强大(Chaslot、Coulom 等人 2006-8 年的工作用于 MCTS 参考)。MCTS 中使用了两种策略,树策略和模拟策略。在决策时,树策略通过扩展树结构并备份从搜索中找到的任何值来更新操作值。没有硬编码应该选择/扩展哪些节点;这一切都来自最大化统计奖励。靠近根的节点看起来越来越智能,因为它们“学习”模仿现实中相应的分布/状态和/或动作值。这是否可以称为“自主”是一个同样困难的问题,因为最终是人类编写了 MCTS 使用的公式/理论。