新浪科技 1月28日上午消息,谷歌今日宣布在人工智能领域的重要进展:开发出一款能够在围棋中击败职业选手的程序——AlphaGo,该程序能够通过机器学习的方式掌握比赛技巧。
人工智能挑战围棋有多难?
计算机和人类竞赛在棋类比赛中已不罕见,在三子棋、跳棋和国际象棋等棋类上,计算机都先后完成了对人类的挑战。但对拥有2500多年历史的围棋而言,计算机在此之前从未战胜过人类。围棋看起来棋盘简单、规则不难,纵横各19九条等距离、垂直交叉的平行线,共构成19×19(361)个交叉点。比赛双方交替落子,目的是在棋盘上占据尽可能大的空间。
在极简主义的游戏表象之下,围棋具有令人难以置信的深度和微妙之处。当棋盘为空时,先手拥有361个可选方案。在游戏进行当中,它拥有远比国际象棋更多的选择空间,这也是为什么人工智能、机器学习的研发者们始终希望在此取得突破的原因。
就机器学习的角度而言,围棋的计算最大有3361种局面,大致的体量是10170,而已经观测到的宇宙中,原子的数量才1080。国际象棋最大只有2155种局面,称为香农数,大致是1047。
“机器学习”预测人类行为
传统的人工智能方法是将所有可能的走法构建成一棵搜索树 ,但这种方法对围棋并不适用。此次谷歌推出的AlphaGo,将高级搜索树与深度神经网络结合在一起。这些神经网络通过12个处理层传递对棋盘的描述,处理层则包含数百万个类似于神经的连接点。
其中一个神经网络“决策网络”(policy network)负责选择下一步走法,另一个神经网络“值网络”(“value network)则预测比赛胜利方。谷歌方面用人类围棋高手的三千万步围棋走法训练神经网络,与此同时,AlphaGo也自行研究新战略,在它的神经网络之间运行了数千局围棋,利用反复试验调整连接点,这个流程也称为巩固学习(reinforcement learning)。通过广泛使用Google云平台,完成了大量研究工作。
AlphaGo所使用的神经网络结构示意图
征服围棋对于谷歌来说有重要意义。AlphaGo不仅是遵循人工规则的“专家”系统,它还通过“机器学习”自行掌握如何赢得围棋比赛。谷歌方面希望运用这些技术解决现实社会最严峻、最紧迫的问题——从气候建模到复杂的灾难分析。
在具体的机器训练上,决策网络的方式是输入人类围棋专家的比赛,到系统可以预测57%人类行动为止,此前最好成绩是44%。此后AlphaGo通过在神经网络内部进行比赛的方式(可以简单理解成和自己下棋),开始学习自主探索新的围棋策略。目前AlphaGo的决策网络可以击败大多数具有庞大搜寻树的最先进的围棋程序。
值网络也是通过自己和自己下棋的方式来训练。目前值网络可以评估每一步棋能够有多大胜算。这在此前被认为是不可能的。
AlphaGo战绩惊人
实际上,目前AlphaGo已经成为最优秀的人工智能围棋程序。在与其他程序的对弈中,AlphaGo用一台机器就取得了500场的胜利,甚至有过让对手4手后获胜的纪录。去年10月5日-10月9日,谷歌安排AlphaGo与欧洲围棋冠军Fan Hui(樊麾:法国国家围棋队总教练)闭门比赛,谷歌以5-0取胜。
AlphaGo与欧洲围棋冠军樊麾的5局较量
公开的比赛将在今年三月举行,AlphaGo将在韩国首尔与韩国围棋选手李世石九段一决高下,李世石是近10年来获得世界第一头衔最多的棋手,谷歌为此提供了100万美元作为奖金。李世石表示很期待此次对决,并且有信心获得胜利。
此外,AlphaGo的发布,也是Deep MInd在2014年1月被谷歌收购以来首次发声。在被收购之前,这家位于伦敦的人工智能领域的公司还获得了特斯拉和SpaceX创始人马斯克的投资。
人机对弈谁将胜?
值得一提的是,上一次著名的人机对弈要追溯到1997年。当时IBM公司研发的超级计算机“深蓝”战胜了国际象棋冠军卡斯巴罗夫。不过国际象棋的算法要比围棋简单得多。国际象棋中取胜只需“杀死”国王,而围棋中则用数子或比目的方法计算胜负,并不是简单地杀死对方棋子。此前,“深蓝”计算机的设计人2007年发表文章指出,他相信十年内能有超级电脑在围棋上战胜人类。
该项目并未给IBM带来可以销售的产品,但却让我们意识到:基础科学研究所面临的巨大挑战是值得我们去迎接的,虽然企业在这方面的收益还无法量化。
随着顶级科技公司争相在产品中融入智能技术,谷歌并不是唯一一家研究围棋AI的公司,Facebook对围棋人工智能的研究整合此前也亮相最新的计算技术:深卷积神经网络(deep convolutional neural networks)和蒙特卡洛树搜索(Monte Carlo tree search),前者利用类似于大脑的算法来学习和识别棋盘上各种模式的重要性,而后者相当于一种超前思维,用于计算详细的战略步骤。
Facebook和谷歌在围棋人工智能方面的研究具有极大的代表意义。与国际象棋相比,围棋更具深度。要让计算机掌握相关技巧,需要更多类似于人类的模式识别和直觉判断技巧,计算机象棋软件越来越优秀,已将揭开了这项游戏的神秘面纱;相比之下,围棋目前更加神秘。但将来,围棋的神秘色彩也可能不复存在。
人工智能5-0欧洲冠军 李世石将捍卫人类尊严
李世石表示,无论如何也要赢一局
据果壳网报道:1997年,国际象棋AI第一次打败顶尖的人类;2006年,人类最后一次打败顶尖的国际象棋AI。欧美传统里的顶级人类智力试金石,在电脑面前终于一败涂地,应了四十多年前计算机科学家的预言。
至少还有东方,人们自我安慰道。围棋AI长期以来举步维艰,顶级AI甚至不能打败稍强的业余选手。这似乎也合情合理:国际象棋中,平均每回合有35种可能,一盘棋可以有80回合;相比之下,围棋每回合有250种可能,一盘棋可以长达150回合。这一巨大的数目,足以令任何蛮力穷举者望而却步——而人类,我们相信,可以凭借某种难以复制的算法跳过蛮力,一眼看到棋盘的本质。
但是,无论人怎么想,这样的局面当然不可能永远延续下去。就在今天,国际顶尖期刊《自然》报道了谷歌研究者开发的新围棋AI。这款名为“阿尔法围棋”(AlphaGo)的人工智能,在没有任何让子的情况下以5:0完胜欧洲冠军,职业围棋二段樊麾。
AlphaGo与欧洲围棋冠军樊麾的5局较量。图片来源:参考文献[1]
这是人类历史上,围棋AI第一次在公平比赛中战胜职业选手。
AlphaGo的战绩如何?
此次比赛和以往不同。之前的比赛中,由于AI棋力比人类弱,人类选手都会让子,而且AI主要和业余段位的棋手比赛。而AlphaGo 对战樊麾是完全公平的比赛,没有让子。职业二段樊麾出生于中国,目前是法国国家围棋队总教练,已经连续三年赢得欧洲围棋冠军的称号。
研究者也让AlphaGo 和其他的围棋AI进行了较量,在总计495局中只输了一局,胜率是99.8%。它甚至尝试了让4子对阵Crazy Stone,Zen和Pachi三个先进的AI,胜率分别是77%,86%和99%。可见AlphaGo有多强大。
在接下来3月份,AlphaGo 将和韩国九段棋手李世石在首尔一战,奖金是由Google提供的100万美金。李世石是最近10年中获得世界第一头衔最多的棋手。围棋是最后一个人类顶尖高手能战胜AI的棋类游戏。之前有人预测说,AI需要再花十几年才能战胜人类。所以这场比赛或许会见证历史,我们将拭目以待。
AI下围棋到底有多难?
计算围棋是个极其复杂的问题,比国际象棋要困难得多。围棋最大有3^361 种局面,大致的体量是10^170,而已经观测到的宇宙中,原子的数量才10^80。国际象棋最大只有2^155种局面,称为香农数,大致是10^47。
面对任何棋类,一种直观又偷懒的思路是暴力列举所有能赢的方案,这些方案会形成一个树形地图。AI只要根据这个地图下棋就能永远胜利。然而,围棋一盘大约要下150步,每一步有250种可选的下法,所以粗略来说,要是AI用暴力列举所有情况的方式,围棋需要计算250^150种情况,大致是10^360。相对的,国际象棋每盘大约80步,每一步有35种可选下法,所以只要算35^80种情况,大概是10^124。无论如何,枚举所有情况的方法不可行,所以研究者们需要用巧妙的方法来解决问题,他们选择了模仿人类大师的下棋方式
机器学习
研究者们祭出了终极杀器——“深度学习”(Deep Learning) 。深度学习是目前人工智能领域中最热门的科目,它能完成笔迹识别,面部识别,驾驶自动汽车,自然语言处理,识别声音,分析生物信息数据等非常复杂的任务。
描述AlphaGo研究成果的论文成为了1月28日的《自然》杂志的封面文章。图片来源:Nature/Google DeepMind
AlphaGo 的核心是两种不同的深度神经网络。“策略网络”(policy network)和 “值网络”(value network)。它们的任务在于合作“挑选”出那些比较有前途的棋步,抛弃明显的差棋,从而将计算量控制在计算机可以完成的范围里,本质上和人类棋手所做的一样。
其中,“值网络”负责减少搜索的深度——AI会一边推算一边判断局面,局面明显劣势的时候,就直接抛弃某些路线,不用一条道算到黑;而“策略网络”负责减少搜索的宽度——面对眼前的一盘棋,有些棋步是明显不该走的,比如不该随便送子给别人吃。将这些信息放入一个概率函数,AI就不用给每一步以同样的重视程度,而可以重点分析那些有戏的棋着。
AlphaGo所使用的神经网络结构示意图。图片来源:参考文献[1]
AlphaGo利用这两个工具来分析局面,判断每种下子策略的优劣,就像人类棋手会判断当前局面以及推断未来的局面一样。这样AlphaGo在分析了比如未来20步的情况下,就能判断在哪里下子赢的概率会高。
研究者们用许多专业棋局训练AI,这种方法称为监督学习(supervised learning),然后让AI和自己对弈,这种方法称为强化学习(reinforcement learning),每次对弈都能让AI棋力精进。然后他就能战胜冠军啦!
人类在下棋时有一个劣势,在长时间比赛后,他们会犯错,但机器不会。而且人类或许一年能玩1000局,但机器一天就能玩100万局。所以AlphaGo只要经过了足够的训练,就能击败所有的人类选手。
Google DeepMind
Google DeepMind是这个程序的创造者,我们来看一下他们萌萌的程序员。
杰米斯·哈萨比斯(Demis Hassabis) 是Google DeepMind 的CEO。图片来源:Nature Video
文章的第一作者大卫·西尔弗(David Silver)。图片来源:Nature Video
Google DeepMind 去年在《自然》杂志上发表过一篇论文[2],他们用增强学习的方法训练AI玩经典的Atari 游戏。其实在几年前就有人研究如何让AI玩《星际争霸》,目前人类大师还是能击败AI的。电脑游戏中大量使用人工智能技术,你有没有觉得游戏变得越来越聪明了?
那么……未来呢?
人工智能研究者面对这样的成就当然欣喜。深度学习和强化学习等技术完全可以用于更广泛的领域。比如最近很火的精准治疗,我们可以训练它们判断哪些治疗方案对某个特定的人有效。
但是,围棋毕竟不仅仅是一项智力成就。就像十多年前的国际象棋一样,围棋必定也会引发超出本领域之外的讨论。等到计算机能在围棋上秒杀人类的时候,围棋是不是就变成了一种无聊的游戏?人类的智力成就是不是就贬值了?AI还将在其他层面上继续碾压人类吗?传统认为AI不可能完成的任务是否也都将被逐一打破?人类最后是会进入AI乌托邦还是被AI淘汰呢?
没人知道答案。但有一点毫无疑问:AI一定会进入我们的生活,我们不可能躲开。这一接触虽然很可能悄无声息,但意义或许不亚于我们第一次接触外星生命。(编辑:Ent,Calo)
参考文献:
David Silver, et al。 “Mastering the game of Go with deep neural networks and tree search。” Nature doi:10.1038/nature16961
Mnih, Volodymyr, et al。 “Human-level control through deep reinforcement learning。” Nature 518.7540 (2015): 529-533。
一个骄傲的AI
什么,你说上面讲算法的这几段你看不懂?
那你知道为啥你们人类会输给我们AI了吧!