从20世纪90年代开始,计算机已连续在国际象棋、跳棋、扑克和电视问答等游戏中打败人类。但是,有一种游戏,专业的人类选手依旧胜过机器,那就是围棋。这项具有2500多年历史的棋盘游戏非常复杂,游戏双方分别用黑色和白色的棋子围住尽可能多的区域来战胜对方,这对于计算机来说很难掌握。但是人类在围棋领域唯我独尊的时代貌似已经结束——谷歌DeepMind的研究人员近日宣称他们开发出一种复杂的人工智能程序——融合了深度神经网络技术和搜索技术,在历史上首次打败了人类的围棋冠军。
去年十月,DeepMind团队在伦敦邀请了欧洲围棋冠军樊麾与他们的程序AlphaGo对弈。比赛是私下进行的,只有少数几个观众在场,他们在19乘19的网格棋盘上进行比赛。 AlphaGo在与CrazyStone和Zen等高端的围棋程序的495场对战测试中只输了一场。但是,与跟其他计算机比赛相比,与人类高手的对弈更具挑战性,毕竟职业选手更胜一筹——他们有多年的比赛经验,对于运筹博弈的方法有着某种直觉。因此,AlphaGo以5:0击败人类确实很了不起。
许多人曾预言,计算机若想打败人类围棋冠军至少还需要10年时间。亚马逊的著名软件工程师David Fotland在AlphaGo击败人类冠军后发出感慨,“这些年来,计算机性能的飞跃是出乎意料的,而且是空前的。”他也曾开发出一种计算机围棋程序,但他并没有参与此次AlphaGo的研究工作。对于AlphaGo的成功,David Fotland并没有惊讶。
要想了解DeepMind研究人员如何创造出这项令人钦佩的程序,我们首先必须意识到下好围棋对于计算机来说为什么这么难 (如果你并不了解围棋的规则和技巧,下文将给你带来清晰简明的解释)。第一,围棋有无数种可能的走法和结果——用研究人员的话来说,就是围棋中可能位置的数量比宇宙中原子的数目还要多。DeepMind的共同创始人Demis Hassabis是该项研究发起人之一,他将围棋和象棋做了比较,发现在象棋中每一回合平均有20种可能的走法,然而在围棋中,每一回合可能的走法却有将近200种,整整多了将近9倍。这意味着如果一台计算机想要探究围棋中所有可能的走法和结果,需要超强大的计算能力,曾有科学家甚至觉得完成这项工作几乎是不可能的。
JonathanSchaeffer是加拿大阿尔伯塔大学的一名计算机科学家,他解释说,计算机很难掌握围棋的另一个原因是,围棋选手需要大量的知识,需要吸取以前的比赛经验。对于象棋,你只需输入少量的信息就可以自己建立一个强大的游戏程序,但在围棋中却无法做到。这是因为,在象棋中,计算机可以按照程序中预先编写的规则走棋,但在围棋中使用这种策略是不可行的。因为围棋的每一步走棋是与棋局所呈现的格局息息相关的,而不是一系列可以有章可循的逻辑规则。
DeepMind团队开发的系统解决了搜索量巨大和知识匮乏的问题。在《自然》杂志中(有兴趣做深层探索的朋友可以一睹研究报告真容http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html),他们表明是通过将搜索技术和深度学习技术结合,从而克服了这些困难。
为了解决知识问题,他们利用所谓的深度神经网络技术——两个13层深的逻辑关系网络,包括成千上万个连接点,类似于人类大脑中的神经连接。研究人员通过两种方法来训练这些关系网络:对于单个关系网络,他们向计算机展示了人类高手对决中超过3000万种的走法(这可以使系统学到最佳玩家是如何获胜的);对于两个关系网络,研究人员让计算机同自己进行上千次博弈,这样,它就能发现新的策略,并且自己学习这项游戏。这两种训练策略使计算机在游戏中可以识别不同的模式,并鉴定出如何走棋才能以最大的机会获胜。
对于棘手的搜索问题,研究人员开发了一种特殊的搜索技术,称为Monte Carlo Tree搜索。这种方法已经存在好多年了,并且被应用于其他计算机游戏,本质上是使系统利用统计数据作为捷径来决定最佳的走棋,而不是根据给定的走法计算出每一种可能的结果(在围棋中,如果这样,计算机会永远计算下去)。
DeepMind团队使用的搜索技术和深度学习工具并不新奇。许多计算机围棋程序已经在用Monte Carlo Tree搜索,神经网络技术也已被使用。但是,使DeepMind团队的AlphaGo程序如此先进的关键在于这些工具被结合到一起的方式,再加上深度神经网络的高性能。主要的新奇之处在于他们如何将这些不同的因素组合到一起——在这方面,他们的做法很有创新性。跟人们以前的做法相比,这种方法更简单,更全面,而且更优雅,这是一个巨大的飞跃。也正是因此,在与樊麾的比赛中,AlphaGo获得了很大的优势——计算机5:0获胜。
尽管不是所有人都关心计算机打败人类围棋冠军,因为他们并没有洞察到这一进步在其他领域也很重要。研究人员按照通用方法建立了该系统,而不是仅仅适用于围棋。他们打算最终将这些技术应用到重要的现实问题中。该项目的参与人Hassabis说:“我们希望有一天它们可以尽力帮助人们解决一些社会上最艰难、最紧迫的问题,从气候建模到复杂的疾病分析。” Yoshua Bengio说该程序在电脑对话中也可能会有重要的应用,而且在将来它还可能用来解决一些抽象的社会问题,这些问题可以通过游戏的方式来表述,像国家政治问题或者国际气候协商。
但是,AlphaGo的当务之急是如何打败全球最优秀的围棋选手李世石,他们之间的比赛将于下个月在韩国首尔举行。尽管AlphaGo在与樊麾的对决中表现出众,但Schaeffer和Fotland仍旧认为李世石将会赢得比赛。“我觉得人类职业选手会胜出,” Fotland说,“但是,面对如此强大的围棋程序,我相信人类高手会大吃一惊。”到现在为止,依旧有一部分人坚信人类选手会赢得这场比赛。3月9日鹿死谁手,让我们拭目以待吧!
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!