(i)、(ii)、(iii)和(iv)中UCT算法的异同?

人工智能 算法 蒙特卡罗树搜索 阿尔法戈 零字母 蒙特卡罗方法
2021-11-07 12:27:14

我试图了解以下之间的异同: (i) Kocsis 和 Szepesvári (2006) 中的 UCT 算法;(ii) Browne 等人 (2012) 第 3.3 节中的 UCT 算法;(iii) Silver 等人的 MCTS 算法。(2016);(iv) Silver 等人的 MCTS 算法。(2017)。

我将非常感谢一些帮助确定这些论文中的异同,我正在做一些研究并且现在真的很挣扎。

(i) http://ggp.stanford.edu/readings/uct.pdf

(ii) http://mcts.ai/pubs/mcts-survey-master.pdf(第 3.3 节)

(iii) https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf

(iv) https://deepmind.com/documents/119/agz_unformatted_nature.pdf

1个回答

2012 年调查文章(您的第二个链接)中的算法是最常见/标准的实现每当有人提到使用 MCTS 或 UCT,但没有明确说明任何其他信息时,可以安全地假设他们正在使用该伪代码。

Kocsis 和 Szepesvári 2006 年的论文(您的第一个链接)是UCT 上的原始出版物之一。它与调查文件中描述的“标准”实现非常相似。如果我没记错的话,唯一重要的区别是 2006 年描述的算法会跟踪在剧集中观察到奖励的时间点,并在反向传播阶段考虑该时间(即,如果在时间t在一个情节中,该奖励的功劳不会在一段时间后分配给状态/动作t)。它还使用了折扣因子γ根据时间距离打折奖励的重要性,这在 MCTS 文献中并不常见。

这两个差异都是由于 2006 年的原始论文具有更多的“马尔可夫决策过程”或“强化学习”风格,而 MCTS 在(棋盘)游戏的人工智能中尤其流行,我们通常默认假设有无论如何,这只是每集结束时的一个非零奖励(赢或输),这使得这些差异变得不那么有意义。


两篇 AlphaGo 论文(AlphaGo 和 AlphaGo Zero)都使用了 MCTS 的“基础”,该基础与 2012 年调查文章中的基本相似。核心组件都是一样的。不过,这两个系统都增加了很多(非常重要,有些相当复杂)的花里胡哨。

想不通(应该是最准确的,但最好的细节当然在原始来源中!(您的第三个链接)添加了以各种方式训练的神经网络以输出策略(从状态映射到动作的概率分布)和价值函数(从状态映射到“价值估计”,或获胜百分比的估计)。训练有素的策略网络用于“选择”阶段的变体(不再是 UCT 中的 UCB1 策略)来偏向选择。使用不同的(更简单的函数,而不是深度网络)策略来运行播放(不再像 UCT 中那样在随机动作选择中保持统一)。播放结束时观察到的奖励 + 播放开始时的价值函数估计的组合用于反向传播(不再像在 UCT 中那样仅在播放中观察到反向传播奖励)。

如果我们只看 MCTS 部分,AlphaGo Zero与 AlphaGo 非常相似。神经网络有点不同(一个单一的,具有多个策略 + 价值输出),并且根本不再使用播放(只是在 MCTS 的选择 + 扩展阶段之后立即反向传播价值函数估计)。除此之外,从 AlphaGo 到 AlphaGo Zero 的主要区别在于用于训练神经网络的学习过程,而不是在 MCTS 方面。