首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【一文读懂AlphaGo Zero算法】白话蒙特卡洛树搜索和ResNet

【一文读懂AlphaGo Zero算法】白话蒙特卡洛树搜索和ResNet

作者头像
新智元
发布于 2018-03-21 08:59:52
发布于 2018-03-21 08:59:52
2.3K0
举报
文章被收录于专栏:新智元新智元
【新智元导读】AlphaGo Zero 令人惊艳。不过,有些评论似乎渲染过度,把它的算法说得神乎其神。大数医达创始人,CMU计算机学院暨机器人研究所博士邓侃在本文中,尝试用大白话,通俗地解释 AlphaGo Zero,弄清楚蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)、深度学习启发函数和置信上限这三大核心概念。

AlphaGo Zero 引起巨大社会轰动

只告诉机器围棋的基本规则,但是不告诉它人类摸索了上千年才总结出来的定式等围棋战术,让机器完全依靠自学,打败人类。这个题目不仅新鲜,而且热辣。

上周 DeepMind AlphaGo 人工智能围棋团队的一篇新论文,题目是“Mastering the Game of Go without Human Knowledge”。

这篇论文不仅被顶级学术期刊 Nature 发表,而且立刻被媒体反复报导,引起社会热议。

这篇论文让人惊艳的亮点有四,

  1. 只告诉机器围棋规则,但是不告诉它定式等等人类总结的围棋战术,也不让它读人类棋手比赛的棋谱,让机器完全自学成才。
  2. 机器完全靠自己摸索,自主总结出了定式等等围棋战术,而且还发现了人类上千年来没有发现的定式。
  3. 从零开始,机器自学了不到 40 天,就超越了前一版 AlphaGo(AlphaGo Master),而 AlphaGo Master 几个月前,曾以 60 : 0 的战绩,战胜了当今几乎所有人类围棋高手。
  4. AlphaGo Zero 的算法,比 AlphaGo Master 简练很多。

不过,有些关于AlphaGo Zero 的评论,似乎渲染过度,把它的算法,说得神乎其神。本文尝试用大白话,通俗地解释一下 AlphaGo Zero 的算法。

AlphaGo Zero 的算法,说来并不复杂。理解清楚 Monte Carlo Tree Search、深度学习启发函数和置信上限,这三个概念就行了。

Monte Carlo Tree Search:不穷举所有组合,找到最优或次优位置

围棋棋面总共有 19 * 19 = 361 个落子位置。假如电脑有足够的计算能力,理论上来说,我们可以穷举黑白双方所有可能的落子位置,找到最优落子策略。

但是,如果穷举黑白双方所有可能的落子位置,各种组合的总数,大约是 250^150 数量级。这个数太大了,以至于用当今世界最强大云计算系统,算几十年也算不完。

有没有不穷举所有组合,就能找到最优或者次优落子策略的算法呢?有,Monte Carlo Tree Search 就是这样一种算法。

刚刚开始教机器下围棋的时候,机器除了规则,对围棋一无所知。让两台机器对弈,分别执黑子与白子。只要不违反规则,以均等概率,在所有合法的位置上,随意选择一个地点落子。

黑方先行,它有 361 个合法投子位置。黑方先随机考虑一个候选位置,譬如天元(9,9)。开局是否投子在天元呢?取决于假如投子在此,是否有可能赢得胜利。如何估算赢得胜利的可能性呢?黑方模拟对局。

假如黑方第一手投子天元,那么白方的第二手会投子哪里呢?根据均等概率的初步策略,白方有 360 个合法位置,在任何一处投子的概率均等。假如白方的第二手投子在棋盘的最边缘(0,0)。

接下去,黑方在剩余的 359 个合法位置中,随机选择一个落子位置。接下去白方投子。如此重复,直到终局。

完成这样一次对局模拟的过程,上限是 361 手,计算成本很低。

假如黑白两个机器,以黑方投子天元开局,一路乱走,最终以黑方胜利。那么根据 Monto Carlo Tree Search 算法,投子天元的开局,有可能获胜,那么第一手,就真的投子天元。

假如一路乱走,最终黑方失败,那么黑方就换一个候选位置,再次模拟对局。假如第二次模拟对局以黑方获胜,就投子在第二个位置。假如失败,那就再换到第三个候选位置,第三次模拟对局。如此重复。

这样反复乱走,收集到了第一批棋谱,当然,这些棋谱的水平,惨不忍睹。

水平之所以惨不忍睹,是因为 “以均等概率,在所有合法的位置上,随意选择一个地点落子” 的下棋策略。

如何通过自学,不断改进下棋策略?

AlphaGo Zero 用深度学习神经网络来解决这个问题。

用深度学习网络实现启发函数

AlphaGo Zero 用 CNN 来改进围棋投子策略。具体到 CNN 的系统架构,AlphaGo Zero 用的是 Residual 架构 ResNet。而 Residual 架构是其时任职于微软亚洲研究院的中国人 Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun,于 2015 年发明的。

ResNet 的输入是当前的棋面 S_{t} 。它的输出有两个,

  1. 当前棋面 S_{t} 的赢率,v( S_{t} ),赢率就是最终获胜的概率,是一个数值。
  2. 下一手投子的位置及其概率,P( a_{t+1} | S_{t} ),这是一个向量。投子的位置可能有多种,每个位置的概率不同,概率越高,说明在以往的棋谱中,经常投子在这个位置。
  3. 用先前收集到的棋谱,来训练 ResNet,拟合输入 S_{t},以及输出 P( a_{t+1} | S_{t} ) 向量和当前棋面的赢率 v( S_{t} )。

AlphaGo Zero 只用机器自我对弈的棋谱,来训练 ResNet。

当然,也可以用人类棋手的棋谱来训练 ResNet。理论上来说,用人类棋手的棋谱来训练 ResNet,AlphaGo Zero 的水平,会在更短时间内,获得更快提升。

但是,即便不用人类棋手的棋谱,只用机器自我对弈的棋谱,来训练 ResNet,在短短 40 天内,AlphaGo Zero 就已经超越人类棋手的水平。这个速度,实在让人惊艳。

ResNet 训练好了以后,仍然用 Monte Carlo Tree Search,继续让机器自我对弈。只不过把投子的策略,从均等概率的随机投子,改为根据 ResNet 的指导,来决定下一手的投子位置。

论文配图:MCTS 使用神经网络模拟落子选择的过程

具体策略如下,

  1. 根据当前棋面 S_{t},让 ResNet 估算下一手可能的投子位置,a_{t+1},及其概率 P( a_{t+1} | S_{t} )。
  2. 下一手的投子位置,a_{t+1} 有多种,每一种位置的赢率 v(S_{t+1}) ,和投子概率 P( a_{t+1} | S_{t} ) 不同。赢率和投子概率越高,得分越高。
  3. 赢率 v(S_{t+1}) 和 投子概率 P( a_{t+1} | S_{t} ) ,是对以往棋谱的总结。而置信上限(Upper Confidence Bound,UCB ),是来鼓励探索新的投子位置,越是以往很少投子的位置,UCB( a_{t+1} ) 得分越高。
  4. 综合考虑下一手的棋面的赢率 v( S_{t+1} ),投子概率 P( a_{t+1} | S_{t} ) ,和置信上限 UCB( a_{t+1} ),给下一手的各个投子位置打分。取其中得分最高者,来指导 Monto Carlo Tree Search,决定下一个投子的位置。

用改进了投子策略的 Monte Carlo Tree Search,继续让机器自我对弈,这样得到更多棋谱。然后,用这些棋谱,再次训练 ResNet,提高赢率和投子概率的估算精度。如此循环重复,不断提高 ResNet 的精度。

定式(Joseki)与投子位置热力图

投子概率 P( a_{t+1} | S_{t} ) ,反应了下一手投子位置的热力图。各个位置被投子的概率非常不均等,其中某些位置被投子的概率,比其它位置显著地高。

这些位置,加上前面几手的落子位置和相应的棋面,就是围棋定式(Joseki)。

论文补充材料:训练中AlphaGo Zero偏好的投子位置热力图

AlphaGo Zero 在五天以内,就通过机器自我对弈,总结出了常见的定式。

而人类发现这些定式,花费了几百年。

更加令人惊艳的是,AlphaGo Zero 还发现了新的定式,而这些定式,人类迄今为止并没有发现。

点击查看大图:在 2 小时时间限制下,AlphaGo Zero (20 个残差模块,训练 3 天) 对战 AlphaGo Lee 的 20 局,每局展示了前 100 步棋。

总结一下,AlphaGo Zero 的算法非常简洁,Monte Carlo Tree Search + ResNet。

与传统的 A* 算法比较一下,Monte Carlo Tree Search 只是 A* 算法中的树拓展的一种特例,而 ResNet 是 A* 算法中启发函数的一种特例。

深度强化学习和蒙特卡洛树搜索用于智能医疗

除了下围棋,深度强化学习和蒙特卡洛树搜索已经用于智能医疗,给医生推荐最佳后续化验和检查项目,补充病情描述,用最小的代价,找到诊断金指标,提高诊断精度。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【python】蒙特卡洛树搜索(MCTS)简单实现
选择 Selection:从根节点 R 开始,递归选择最优的子节点(后面会解释)直到达到叶子节点 L。 扩展 Expansion:如果 L 不是一个终止节点(也就是,不会导致博弈游戏终止)那么就创建一个或者更多的字子节点,选择其中一个 C。 模拟 Simulation:从 C 开始运行一个模拟的输出,直到博弈游戏结束。 反向传播 Backpropagation:用模拟的结果输出更新当前行动序列。
全栈程序员站长
2022/07/21
2.7K0
【python】蒙特卡洛树搜索(MCTS)简单实现
读《Nature》论文,看AlphaGo养成
作者授权转载 作者:龙心尘、寒小阳 ◆ ◆ ◆ 文章声明 博主是围棋小白,下棋规则都记不清楚,也没有设计过棋类AI程序。这篇文章主要是阅读《Nature》论文及关于AlphaGo的相关文章的学习心得。 本文的主要目的是增进分享,交流学习,方便初学者了解AlphaGo中的算法,以及一些机器学习中的常见思路。真正的工程实现过程远比本文介绍得复杂。 本文更多是启发式地进行阐述与分析,包括一些作者结合自己的理解进行的简化处理。文章中不严谨和理解不当之处,欢迎大家批评指出,我们努力修改完善。 ◆ ◆ ◆ 围棋的业
大数据文摘
2018/05/24
7560
深度 | 升级版AlphaGo 5月决战柯洁,DeepMind揭秘计算机全新棋风
机器之心原创 参与:李泽南、李亚洲、吴攀 4 月 10 日下午,谷歌在北京的中国棋院召开新闻发布会,正式宣布 AlphaGo 将于今年 5 月 23 日在浙江乌镇对决以柯洁为代表的中国顶尖棋手。 据机
机器之心
2018/05/07
8250
深度 | 升级版AlphaGo 5月决战柯洁,DeepMind揭秘计算机全新棋风
【柯洁战败解密】AlphaGo Master最新架构和算法,谷歌云与TPU拆解
【新智元发自中国乌镇】乌镇人工智能峰会进入第二天,哈萨比斯、David Silver和Jeff Dean等谷歌高管纷纷发表演讲。他们对AlphaGo 2.0的新技术进行了详细解读。几位“谷歌人”纷纷提到一个关键词——TPU。Jeff Dean 甚至直接放出了与GPU的性能对比图。从昨天的赛后采访到今天的主旨演讲,哈萨比斯等人一直在强调TPU对新版本的AlphaGo的巨大提升。看来,TPU将会成为接下来一段时间内谷歌的战略重点,GPU要小心了。本文带来哈萨比斯、David Silver现场演讲报道(附PPT)
新智元
2018/03/28
1.5K0
【柯洁战败解密】AlphaGo Master最新架构和算法,谷歌云与TPU拆解
《自然》论文详解:AlphaGo 背后的深度神经网络和树搜索
Nature 封面论文:Mastering the game of Go with deep neural networks and tree search(通过深度神经网络和树搜索,学会围棋游戏) AlphaGo 给围棋带来了新方法,它背后主要的方法是 Value Networks(价值网络)和 Policy Networks(策略网络),其中 Value Networks 评估棋盘位置,Policy Networks 选择下棋步法。这些神经网络模型通过一种新的方法训练,结合人类专家比赛中学到的监督学习,
新智元
2018/03/14
4.4K0
《自然》论文详解:AlphaGo 背后的深度神经网络和树搜索
深入浅出解读并思考AlphaGo
;其次我们要想一下我们下了某一步之后局面会怎么变化,对方会怎么下,我们又怎么接着对方的棋往下下,我们把这种思考叫做思考的深度
CristianoC
2021/03/11
9530
深入浅出解读并思考AlphaGo
论文 | AlphaGo Zero 的模型和算法
上一篇文章简单学习了 AlphaGo Zero 的特点: AlphaGo Zero 初探 http://www.jianshu.com/u/7b67af2e61b3 算法采用自对弈强化学习,不再需要
杨熹
2018/04/03
8860
论文 | AlphaGo Zero 的模型和算法
强化学习(十九) AlphaGo Zero强化学习原理
    在强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)中,我们讨论了MCTS的原理和在棋类中的基本应用。这里我们在前一节MCTS的基础上,讨论下DeepMind的AlphaGo Zero强化学习原理。
刘建平Pinard
2019/04/01
1.7K0
强化学习(十九) AlphaGo Zero强化学习原理
超越蒙特卡洛树搜索:北大提出深度交替网络和长期评估围棋模型
选自arXiv 机器之心编译 参与:李泽南、吴攀 在五月底与柯洁等人的系列对局之后,人工智能围棋大师 AlphaGo 已经功成名就,金盆洗手了,参阅《现场报道 | AlphaGo 被授职业九段,DeepMind 将公开其所有版本细节》;但这并不意味着计算机围棋研究已经走到了尽头。近日,北京大学的一组研究团队宣称在计算机围棋研究上取得了另一个方向的研究成果。 和 AlphaGo 等目前领先的围棋程序不同,北京大学 Wang Jinzhuo、王文敏、王荣刚、高文等人提出的新方法没有使用蒙特卡洛树搜索,而是使用了
机器之心
2018/05/08
6450
超越蒙特卡洛树搜索:北大提出深度交替网络和长期评估围棋模型
专栏 | 阿尔伯塔大学李玉喜博士:我们应该如何面对强大的计算机围棋AlphaGo?
机器之心专栏 作者:李玉喜 AlphaGo 与世界第一的人类棋手柯洁的对弈比赛已经引起了全世界的广泛关注。不出意外,尽管柯洁表现出色,但 AlphaGo 仍然连续取得了两场胜利。明天柯洁还将与 AlphaGo 展开最后一场比赛,是否会出现意外惊喜,让我们拭目以待。最后的比赛之前,加拿大阿尔伯塔大学计算机系博士、博士后李玉喜撰写了一篇解读 AlphaGo 背后的技术以及讨论我们应该如何应对这些技术的文章。李玉喜博士致力于深度学习、强化学习、机器学习、人工智能等前沿技术及其应用。曾任电子科技大学副教授;在美国
机器之心
2018/05/07
1.2K0
专栏 | 阿尔伯塔大学李玉喜博士:我们应该如何面对强大的计算机围棋AlphaGo?
组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
AlphaGo Zero是Deepmind 最后一代AI围棋算法,因为已经达到了棋类游戏AI的终极目的:给定任何游戏规则,AI从零出发只通过自我对弈的方式提高,最终可以取得超越任何对手(包括顶级人类棋手和上一代AlphaGo)的能力。换种方式说,当给定足够多的时间和计算资源,可以取得无限逼近游戏真实解的能力。这一篇,我们深入分析AlphaGo Zero的设计理念和关键组件的细节并解释组件之间的关联。下一篇中,我们将在已有的N子棋OpenAI Gym 环境中用Pytorch实现一个简化版的AlphaGo Zero算法。
CreateAMind
2020/10/22
1.9K0
组合游戏系列4: AlphaGo Zero 强化学习算法原理深度分析
最终一战柯洁再负AlphaGo,此后再无围棋人机大战
唐旭 舒石 发自 乌镇 量子位 报道 | 公众号 QbitAI 5月27日,人机大战第三场,天气晴朗。 经过209手的博弈,主动要求执白的柯洁再次负于AlphaGo。在这场人机大战中,世界围棋第一人0
量子位
2018/03/30
8410
详解强化学习多智能体博弈算法——蒙特卡洛树搜索
👆点击“博文视点Broadview”,获取更多书讯 强化学习,除了可以用于单个强化学习智能体和环境的相互作用,也可以用于两个或者多个智能体在某个强化学习环境下的博弈。 关于这种类型的算法,最有名的应该是蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)。 随着AlphaGo和AlphaZero算法在围棋、国际象棋和将棋等棋类领域的广泛应用,并且在这些领域内均取得了相比传统的Alpha-Beta 剪枝算法更加优异的性能,蒙特卡洛树搜索算法作为这些智能体使用的算法也被越来越多的人研究
博文视点Broadview
2022/03/30
3K0
学界 | 使用深度学习和树搜索进行从零开始的既快又慢的学习
选自UCL 作者:Thomas Anthony、Zheng Tian、David Barber 机器之心编译 参与:Nurhachu Null、刘晓坤 本文介绍了来自伦敦大学学院(UCL)Thomas Anthony、Zheng Tian 与 David Barber 的深度学习与树搜索研究。该论文已被 NIPS 2017 大会接收。 二元处理机制理论 「二元处理机制」认为,人类的推理包括两种不同种类的思考方法。如下图所示,系统 1 是一个快速的、无意识的、自动化的思考模式,它也被称为直觉。系统 2 是一个
机器之心
2018/05/10
9390
AlphaGo背后的力量:蒙特卡洛树搜索入门指南
选自int8 Blog 机器之心编译 我们都知道 DeepMind 的围棋程序 AlphaGo,以及它超越人类的强大能力,也经常会听到「蒙特卡洛树搜索」这个概念。事实上,蒙特卡洛树搜索是在完美信息博弈场景中进行决策的一种通用技术,除游戏之外,它还在很多现实世界的应用中有着广阔前景。本文中,我们会以 AlphaGo 为例子,对这一方法进行详细介绍。 长久以来,学术世界一直认为计算机在围棋这个复杂游戏上达到超越人类的水平是几乎无法实现的。它被视为人工智能的「圣杯」——一个我们原本希望在未来十年挑战的遥远里程碑。
机器之心
2018/05/08
1.6K0
AlphaGo背后的力量:蒙特卡洛树搜索入门指南
【专栏】谷歌资深工程师深入浅析AlphaGo Zero与深度强化学习
【新智元导读】AlphaGo的巨大成功掀起了围棋界三千年未有之大变局,也使得深度强化学习(Deep Reinforcement Learning)渐为大众熟悉。尤其是最新推出的AlphaGo Zero完全摒弃了人类知识,并且三天内碾压了早期版本的AlphaGo,更足显强化学习和深度学习结合的巨大威力。AlphaGo Zero的论文侧重于描述效果,对于方法的论述比较简短,没有相关背景的人读起来可能会有一些困难。本文对强化学习以及AlphaGo Zero算法做了详细描述。 作者简介:王晶,Google广告大数据
新智元
2018/03/21
1.6K0
【专栏】谷歌资深工程师深入浅析AlphaGo Zero与深度强化学习
1:2,李世石最后一战被AI击败,唯一战胜过AlphaGo的人退役了
12 月 21 日,全罗道新安郡曾岛 EI dorado 度假村,李世石在第 181 手投子认输。这是与 Handol 退役赛对战的最后一局,前两局,李世石一胜一负。最后一盘棋,还是惜败于 AI。
机器之心
2019/12/26
5820
1:2,李世石最后一战被AI击败,唯一战胜过AlphaGo的人退役了
DeepMind官方解密新版 AlphaGo 棋艺制胜奇招:价值网络把控通盘局面
【新智元导读】4月10日,中国棋院与谷歌在北京宣布,今年5月在“中国乌镇·围棋峰会”上AlphaGo升级版将与最顶尖的人类棋手进行对弈,世界冠军柯洁将出战。 随后,DeepMind CEO Demis Hassabis 在官方博客上撰文介绍了这一比赛和全新版的 AlphaGo,并强调 AlphaGo 不仅会下棋,在节约能源、医疗、翻译等方面也得到了应用。其团队详细也解读了AlphaGo 在围棋上的最新技术进步,包括策略和战略上的创新。 今天,中国围棋协会和浙江省体育局携手Google共同宣布,三方将联合主办
新智元
2018/03/27
7170
DeepMind官方解密新版 AlphaGo 棋艺制胜奇招:价值网络把控通盘局面
不只是围棋!AlphaGo Zero之后DeepMind推出泛化强化学习算法AlphaZero
选自arXiv 作者:David Silver等 机器之心编译 在 DeepMind 发表 Nature 论文介绍 AlphaGo Zero 之后,这家公司一直在寻求将这种强大算法泛化到其他任务中的可能性。昨天,AlphaGo 研究团队提出了 AlphaZero:一种可以从零开始,通过自我对弈强化学习在多种任务上达到超越人类水平的新算法。据称,新的算法经过不到 24 小时的训练后,可以在国际象棋和日本将棋上击败目前业内顶尖的计算机程序(这些程序早已超越人类世界冠军水平),也可以轻松击败训练 3 天时间的 A
机器之心
2018/05/09
7840
不只是围棋!AlphaGo Zero之后DeepMind推出泛化强化学习算法AlphaZero
AlphaGo的制胜秘诀:蒙特卡洛树搜索初学者指南
2018 区块链技术及应用峰会(BTA)·中国 倒计时 3 天 2018,想要follow最火的区块链技术?你还差一场严谨纯粹的技术交流会——2018区块链技术及应用峰会(BTA)·中国将于2018年3月30-31日登陆北京喜来登长城饭店。追求专业性?你要的这里全都有:当超强嘉宾阵容遇上业界同好的脑洞大联欢,1+1=无限可能,目前门票预购火热进行中。 活动详情: http://dwz.cn/7FI1Ch 编译 | reason_W 出品 | 人工智能头条(公众号ID:AI_Thinker) 长久以来,计算
用户1737318
2018/06/05
1.5K0
推荐阅读
相关推荐
【python】蒙特卡洛树搜索(MCTS)简单实现
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档