探索Alpha-Go —— AI是如何在围棋项目上打败人类的

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud

作者介绍:irek Stanek
Azimo移动开发部门负责人,人工智能专家。自称梦想很大却在写代码,更多开发博客见http://frogermcs.github.io/

AI工程师的一项必须技能就是理解并能解释领域内的高度技术性的论文。我在AI Nanodegree课程中的一个课题就是分析《自然》杂志上关于AlphaGo的一篇文章——《Google Deepmind system which for the first time in history beat elite professional Go player, winning by 5 games to 0 with European Go champion — Fan Hui》。这篇文章的目的是为了使得这些知识更通俗易懂,尤其是对初学者和首次接触的人。

AlphaGo和数学

AlphaGo是谷歌DeepMind小组研发的针对围棋的AI。而在AlphaGo 出现之前,有预测称根据现有的最新技术,能击败人类职业围棋选手的AI还要十年才会出现。

为什么围棋比国际象棋简单,但是却引起了这么多的关注?
是因为复杂性。
围棋和国际象棋都是完美信息的游戏,每个玩家完全知道以前发生过的所有事件,因此游戏存在最优解。如果使用搜索树的方法寻找最优解,国际象棋存在10¹²³种解,而围棋存在10³⁶⁰种解(译者注:可以简单理解为围棋棋盘比较大因此解多)。而一般的多核处理器每秒钟可以做10⁹次运算,意味着如果要算尽围棋的解需要花费的时间比宇宙存在的时间还要长。

AlphaGo和其他AI游戏程序的最高级别目标是有效减少搜索空间,在合理的时间(AlphaGo的每次运动时间为5s)内,尽可能快的结束游戏。
为了估计每个游戏状态的价值,AlphaGo使用蒙特卡罗树搜索(MCTS)——通过基于搜索空间的随机抽样扩展搜索树——来分析最优的动作。 MCTS在游戏中基于许多playouts来运作,这些playouts是在随机落子的游戏中生成的;每个playout的结果都倍用来衡量游戏树中不同节点的权重,这样在未来的playouts中,好的节点更有可能被选中。通过附加策略增强的MCTS(例如预测人类专家动作)使我们有可能实现strong-amateur级别游戏。

下一步会基于预先训练好的深度卷积网络。这种技术现在广泛用于图像分类、人脸识别或玩Atari游戏。旁注:人们可以从Facebook的Intro to AI movies开始了解深度学习或卷积网络的工作原理。

AlphaGo使用神经网络的目标是:有效位置评估(价值网络)和行动抽样(策略网络)。

策略网络

为了训练策略网络,机器学习有两个阶段。
第一阶段是监督学习(SL)(它扩展了MCTS解决方案,用于预测人类职业棋手的行动)。 SL策略网络已经根据KGS Go Server的3000万个案例进行了训练。经过训练的网络能够准确预测专家行动,准确率高达57%(其他研究团队最高为44.4%)。
然而虽然新的准确性提高了,但评估速度明显较慢。因此有了另一个被称为快速推出(FR)的策略。它不太准确(27%),但更快(2μs至3ms),被用于在评估MCTS中的节点时运行rollouts一直到游戏结束。
第二阶段是增强学习(RL)。SL擅长预测下一个最有可能的行动,而RL能够预测最能够获胜的行动。在这个阶段,AlphaGo通过随机选择迭代之前的自己进行了120万场游戏。
相比RL,SL能够赢得超过80%的游戏;而与Pachi相比,这个数值高达85%(Pachi是一个基于蒙特卡洛树搜索启发式的开源程序,在KGS业余爱好者中排第二)。而之前的基于SL的解决方案在对阵Pachi时,只能够赢得约11%的游戏。

价值网络

训练的最后阶段主要集中在位置评估(position evaluation)(估计当前行动的获胜概率)。对KGS数据集的训练会导致过拟合,为了防止这种情况,新的训练集是由自动播放数据产生的(3000万个不同的位置,每个都是从不同的游戏种抽取的) 。
训练价值函数比使用rollout策略的蒙特卡洛算法更准确,其单次评估准确率与使用强化学习策略的蒙特卡罗算法类似(但计算量减少了15000倍)。

策略和价值网络搜索

AlphaGo在蒙特卡罗搜索树中使用策略和价值网络的组合。游戏树的搜索由下面4个阶段组成:

  1. 选择 - 模拟通过选择具有最大动作值Q(这个移动有多好)的edge来遍历树。
  2. 扩展 - 如果任何节点被扩展,则由SL策略网络处理一次,以获得每个行动的先验概率。
  3. 评估 - 每个节点通过价值网络和FR策略进行评估。
  4. 备份 - 动作值Q由评估步骤收集的值进行更新。当游戏代理的时间结束时,通过最高动作值Q选择最佳移动。

结果

AlphaGo的表现是众所周知的。在2015年,它击败人类职业棋手樊麾,欧洲多个联赛的冠军。这是机器第一次在围棋中击败了职业棋手。在与其它最好的围棋程序(如Crazy Stone, Pachi, Zen等)进行的比赛模拟中,AlphaGo获胜率高达99.8%。 AlphaGo的分布式版本对单机版本的胜率为77%,意味着它不仅表现强劲,而且还具有很好的可扩展性。在与樊麾的比赛中,AlphaGo花费的步数要比当年深蓝大战Kasparov少了1000倍,意味着落子更加智能。

这些所有结论清楚地表明,多亏了AlphaGo,我们在寻找General AI and the Singularity的路上又近了一步。

时间: 2024-11-04 21:46:55

探索Alpha-Go —— AI是如何在围棋项目上打败人类的的相关文章

强化学习之父Sutton访谈:创造AI,就是创造一种新的人类

在Machine Learning and the Market for Intelligence 2017大会上,艾伯塔大学计算机科学教授Richard S. Sutton与美国企业家.风险投资人士Steve Jurvetson进行了关于"为何目标对于智能至关重要"的对谈. Richard S. Sutton是艾伯塔大学计算科学系的教授兼iCORE主席.在2003年加入艾伯塔大学之前,他曾在美国AT&T公司和GTE实验室以及马萨诸塞大学工作.他于1984年获得马萨诸塞大学计算

Android艺术开发探索第四章——View的工作原理(上)

Android艺术开发探索第四章--View的工作原理(上) 这章就比较好玩了,主要介绍一下View的工作原理,还有自定义View的实现方法,在Android中,View是一个很重要的角色,简单来说,View是Android中视觉的呈现,在界面上Android提供了一套完整的GUI库,里面有很多控件,但是有时候往往并不能满足于需求,所以只有自定义View了,我们会简单的说下流程,然后再去实践 除了View的三大流程之外,View常见的回调方法也是必须掌握的,比如构造方法,onAttach,onV

Android艺术开发探索第三章——View的事件体系(上)

Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 MotionEvent和TouchSlop VelocityTracker,GestureDetector和Scroller View的滑动 使用scrollTo/scrollBy 使用动画 改变布局参数 各种滑动方式的对比 弹性滑动 使用Scroller 通过动画' 使用延时策略 这章的概念偏自定义View方

Facebook田渊栋:德州扑克上战胜人类的AI究竟用的是什么算法?| 解析

最近听说我的母校卡耐基梅隆大学德州扑克的AI Libratus以很大的优势赢得了与职业玩家的比赛,非常兴奋.在同时期,还有一篇来自加拿大阿尔伯塔大学(Univ of Alberta)的文章介绍了DeepStack,同样在3000局的比赛中击败了几位职业玩家.这样在非对称信息游戏上人类再一次输给了AI. 当然有AlphaGo的先例,这个对广大吃瓜群众的冲击可能没有那么大.但我个人觉得非对称信息博弈的实用价值更大些.因为非对称信息博弈的应用范围非常广泛,涵括我们每天遇到的所有决策,上至国家战略,下至

Facebook 的 AI 意外地创造了自己的非人类语言

Facebook 的研究人员在开发谈判聊天机器人时,意外发现机器人自发地创造出了自己的非人类语言. 最近 Facebook 发表了一篇关于 chatbots 相互交谈的报告.在报告中,Facebook 人工智能研究实验室(FAIR)的研究人员描述了使用机器学习进行谈判来训练他们的聊天机器人的 "dialog agents" . 过程还算顺利,但研究人员最终意识到需要进行调整,因为机器人正在从人类语言转移,创建自己的谈判语言. 报告中还值得注意的一点是,机器人可以是相当精明的谈判者 -

HPE公司CEO Whitman指出:AI与机器人确实会在一定程度上取代人类

在本次达沃斯世界经济论坛上,HPE公司CEO Meg Whitman以小心翼翼的态度讨论了如何在AI与机器人时代下保护人类工作岗位这一重要议题. 本周,全球商业大亨与政治人物齐聚达沃斯这座欧洲小镇,而惠普常年以来的成本削减性裁员无疑确立了Whitman的发言基调. Whitman指出,商界与学术界将需要联手合作以解决世界各地出现的一波新趋势,即技术开始逐渐取代人类在工作中的地位. 她在会议上表示,"需要考虑我们所掌握的现有技术,再加上机器人.更多自动化方案乃至人工智能." AI被广泛视

AI与区块链的融合会给人类带来什么

人工智能和区块链这两大热门技术整合的可能性,以及这两者整合 以后的标准定义是什么,会遇到哪些挑战,会带来什么好处. 不可否认,人工智能和区块链促进了创新,在不同行业里面也都引起了根本性的变化.这两种技术的技术复杂程度不一样,商业意义也不一样,但是如果能将两者整合在一起,那么整个技术(和人类)范式可能将会重新定义. I.揭开序幕 图片来源:4zevar/Shutterstock  关于人工智能,我之前已经有介绍过一些内容,因此这里就不再浪费篇幅了(如果你想详细了解,可以看看我写的关于人工智能的解释

AI也会“学坏”?都是人类捣的鬼!

随着人工智能技术的普及,我们似乎开始"无条件"相信计算机算法所提供的结果,然而有些问题是不可忽略的.除了对就业产生的影响,由于人工智能往往基于人类提供的样本数据进行学习,并且"来者不拒",包括人类的"负能量",因此,人工智能极有可能和小孩一样学坏,在价值取向上出现扭曲.人类在学习过程中可能出现的任何一种认知偏差都有可能在人工智能系统的学习过程中出现. 这样的事件已经在不断发生,比如不久前Google公司的图像识别程序将几个黑人的面孔标记为大猩猩:

请收下这份关于人工智能的根目录——博客整理系列(一)

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud 博客更新太多,不知道如何选择?昨天还有博客没有看!今天又更新了!怎么办?不用烦恼,不用慌张!收藏本系列任何自己想要看的文章都不会错过,拿着"小册子"随时随地的看,随时随地的查.系列在手,天下我有! 请收下这份关于人工智能的根目录--博客整理系列(一) 关于数据科学的那些事--博客整理系列(二) 机器学习必备手册--博客整理系列(三) 扩展眼界的都在这--博客整理系列(四) 深度学习必备手册(上)--