作为今天最被人们所熟知的人工智能系统(没有之一),AlphaGo/Zero 是一个多种计算方法的集合体,人类工程学的杰作,其核心组件包含: 蒙特卡洛树搜索——内含用于树遍历的 PUCT 函数的某些变体 残差卷积神经网络——其中的策略和价值网络被用于评估棋局,以进行下一步落子位置的先验概率估算。 强化学习——通过自我对弈进行神经网络训练 在本讲座中,我们只着重于介绍蒙特卡洛树搜索(MCTS/Monte Carlo Tree Search)。这个算法很容易理解,而且也在游戏人工智能领域外有很多应用。 蒙特卡洛树搜索是由前里尔第三大学助理教授 Rémi Coulom 在围棋程序 Crazy Stone 中首先引入的方法——后者是第一个在围棋上达到职业五段水平的计算机程序。 从最直观的角度来看,蒙特卡洛树搜索有一个主要目的:给出一个「游戏状态」并选择「胜率最高的下一步」。在本讲座中,特
RSVP'd
作为今天最被人们所熟知的人工智能系统(没有之一),AlphaGo/Zero 是一个多种计算方法的集合体,人类工程学的杰作,其核心组件包含:
蒙特卡洛树搜索——内含用于树遍历的 PUCT 函数的某些变体
残差卷积神经网络——其中的策略和价值网络被用于评估棋局,以进行下一步落子位置的先验概率估算。
强化学习——通过自我对弈进行神经网络训练
在本讲座中,我们只着重于介绍蒙特卡洛树搜索(MCTS/Monte Carlo Tree Search)。这个算法很容易理解,而且也在游戏人工智能领域外有很多应用。
蒙特卡洛树搜索是由前里尔第三大学助理教授 Rémi Coulom 在围棋程序 Crazy Stone 中首先引入的方法——后者是第一个在围棋上达到职业五段水平的计算机程序。
从最直观的角度来看,蒙特卡洛树搜索有一个主要目的:给出一个「游戏状态」并选择「胜率最高的下一步」。在本讲座中,特邀讲师潘坤会试图解释蒙特卡洛树搜索的大多数细节,其中也会不时回顾 AlphaGo/Zero,并试图解释那些在 DeepMind AI 程序系列中使用的 MCTS 变体。
蒙特卡洛树搜索运行的框架/环境是「游戏」,其本身是一个非常抽象的广义术语,所以在这里我们只针对于一种游戏类型:有限两人零和回合制游戏——这听起来或许有点复杂,不过其实很简单。
我们可以轻易验证围棋、国际象棋或井字棋是有限两人零和回合制游戏。的确,它们都是两个玩家,游戏可选的下一步也是有限的,且游戏是严格竞争的——两名玩家会进行对抗(游戏的所有输出之和为零)。
Notes:请注意,为了简化本教程,我们只专注于可能场景的某系子集,蒙特卡洛树搜索是一个应用广泛的工具,适用于两人有限零和游戏以外。更为全面的概述请参阅:http://mcts.ai/pubs/mcts-survey-master.pdf
如何表征一个博弈
形式上,一个博弈由一系列的基本数学实体表征。在一本 PhD 级别的博弈论书中你可以找到这样的定义:
从计算机编程的角度来看形式化的定义可能难以理解,但幸运的是,我们可以使用一种著名的数据结构以简单的形式来表征一个博弈:博弈树。
博弈树是一种树结构,其中每一个节点表征博弈的确定状态。从一个节点向其子节点的转换被称为一个行动(move)。节点的子节点数目被称为分支因子(branching factor)。树的根节点表征博弈的初始状态。我们还区分了博弈树的端节点(terminal nodes),即没有子节点的节点,表示博弈无法再继续进行。端节点的状态可以被评估,并总结博弈的结果。
以上是本次讲座的主要内容,欢迎大家参加!
Nanyang institute of Technology
Contact Us