专栏名称: 程序员技术
最有影响力的程序员自媒体,关注程序员相关话题:程序人生、IT技术、IT职场、学习资源等。
目录
相关文章推荐
程序员小灰  ·  利用AI,我开发了一款文字RPG游戏! ·  5 天前  
程序员的那些事  ·  Linux ... ·  3 天前  
程序员的那些事  ·  趣图:是时候学点其他技能了 ·  4 天前  
码农翻身  ·  漫画 | Java对Python的渗透能成功吗? ·  5 天前  
程序员的那些事  ·  趣图:好比成人玩积木还以为自己是天才 ·  1 周前  
51好读  ›  专栏  ›  程序员技术

AlphaGo之父:关于围棋,人类3000年来犯了一个错

程序员技术  · 公众号  · 程序员  · 2017-05-26 18:42

正文

“我会抱必胜心态、必死信念。我一定要击败阿尔法狗!”

对于5月23日至27日与围棋人工智能程序AlphaGo(阿尔法狗)的对弈,目前世界排名第一的中国职业九段柯洁放出豪言。然而,AlphaGo(阿尔法狗)之父却说,“我们发明阿尔法狗,并不是为了赢取围棋比赛。”

AlphaGo之父杰米斯·哈萨比斯(Demis Hassabis)近日在母校英国剑桥大学做了一场题为“超越人类认知的极限”的演讲,解答了世人对于人工智能,对于阿尔法狗的诸多疑问——过去3000年里人类低估了棋局哪个区域的重要性?阿尔法狗去年赢了韩国职业九段李世石靠哪几个绝招?为什么围棋是人工智能难解之谜?

杰米斯·哈萨比斯,Deep Mind创始人, AlphaGo之父。

杰米斯·哈萨比斯, 4岁开始下象棋,8岁时在棋盘上的成功促使他开始思考两个至今令他困扰的问题:第一,人脑是如何学会完成复杂任务的?第二,电脑能否做到这一点?17岁时,哈萨比斯就负责了经典模拟游戏《主题公园》的开发,并在1994年发布。他随后读完了剑桥大学计算机科学学位,2005年进入伦敦大学学院,攻读神经科学博士学位,希望了解真正的大脑究竟是如何工作的,以此促进人工智能的发展。2014年他创办公司Deep Mind, 公司产品阿尔法狗在2016年大战围棋冠军李世石事件上一举成名。

哈萨比斯在当天的演讲中透露了韩国棋手李世石去年输给阿尔法狗的致命原因,他最后也提到了阿尔法狗即将迎战的中国棋手柯洁,他说,“柯洁也在网上和阿尔法狗对决过,比赛之后柯洁说人类已经研究围棋研究了几千年了,然而人工智能却告诉我们,我们甚至连其表皮都没揭开。异曲同工,柯洁提到了围棋的真理,我们在这里谈的是科学的真理。”

世界围棋冠军柯洁即将迎战阿尔法狗。

AlphaGo(阿尔法狗)之父在剑桥大学历时45分钟的演讲,干货满满,请不要漏掉任何一个细节:

非常感谢大家今天能够到场,今天,我将谈谈人工智能,以及DeepMind近期在做些什么,我把这场报告命名为“超越人类认知的极限”,我希望到了报告结束的时候,大家都清晰了解我想传达的思想。

1.你真的知道什么是人工智能吗?

对于不知道DeepMind公司的朋友,我做个简单介绍,我们是在2010年于伦敦成立了这家公司,在2014年我们被谷歌收购,希望借此加快我们人工智能技术的脚步。我们的使命是什么呢?我们的首要使命便是解决人工智能问题;一旦这个问题解决了,理论上任何问题都可以被解决。这就是我们的两大使命了,听起来可能有点狡猾,但是我们真的相信,如果人工智能最基本的问题都解决了的话,没有什么问题是困难的。

那么我们准备怎样实现这个目标呢?DeepMind现在在努力制造世界上第一台通用学习机,大体上学习可以分为两类:一种就是直接从输入和经验中学习,没有既定的程序或者规则可循,系统需要从原始数据自己进行学习;第二种学习系统就是通用学习系统,指的是一种算法可以用于不同的任务和领域,甚至是一些从未见过的全新领域。大家肯定会问,系统是怎么做到这一点的?

其实,人脑就是一个非常明显的例子,这是可能的,关键在于如何通过大量的数据资源,寻找到最合适的解决方式和算法。我们把这种系统叫做通用人工智能,来区别于如今我们当前大部分人在用的仅在某一领域发挥特长的狭义人工智能,这种狭义人工智能在过去的40-50年非常流行。

IBM 发明的深蓝系统(Deep Blue)就是一个很好的狭义人工智能的例子,他在上世纪90年代末期曾打败了国际象棋冠军加里·卡斯帕罗夫(Gary Kasporov) 。如今,我们到了人工智能的新的转折点,我们有着更加先进、更加匹配的技术。

1997年5月,IBM与世界国际象棋冠军加里·卡斯帕罗夫对决。

2.如何让机器听从人类的命令?

大家可能想问机器是如何听从人类的命令的,其实并不是机器或者算法本身,而是一群聪明的编程者智慧的结晶。他们与每一位国际象棋大师对话,汲取他们的经验,把其转化成代码和规则,组建了人类最强的象棋大师团队。但是这样的系统仅限于象棋,不能用于其他游戏。对于新的游戏,你需要重新开始编程。在某种程度上,这些技术仍然不够完美,并不是传统意义上的完全人工智能,其中所缺失的就是普适性和学习性。我们想通过“增强学习”来解决这一难题。在这里我解释一下增强学习,我相信很多人都了解这个算法。

首先,想像一下有一个主体,在AI领域我们称我们的人工智能系统为主体,它需要了解自己所处的环境,并尽力找出自己要达到的目的。这里的环境可以指真实事件,可以是机器人,也可以是虚拟世界,比如游戏环境;主体通过两种方式与周围环境接触;它先通过观察熟悉环境,我们起初通过视觉,也可以通过听觉、触觉等,我们也在发展多感觉的系统;

第二个任务,就是在此基础上,建模并找出最佳选择。这可能涉及到对未来的预期,想像,以及假设检验。这个主体经常处在真实环境中,当时间节点到了的时候,系统需要输出当前找到的最佳方案。这个方案可能或多或少会改变所处环境,从而进一步驱动观察的结果,并反馈给主体。

简单来说,这就是增强学习的原则,示意图虽然简单,但是其中却涉及了极其复杂的算法和原理。如果我们能够解决大部分问题,我们就能够搭建普适人工智能。这是因为两个主要原因:首先,从数学角度来讲,我的合伙人,一名博士,他搭建了一个系统叫‘AI-XI’,用这个模型,他证明了在计算机硬件条件和时间无限的情况下,搭建一个普适人工智能,需要的信息。另外,从生物角度来讲,动物和人类等,人类的大脑是多巴胺控制的,它在执行增强学习的行为。因此,不论是从数学的角度,还是生物的角度,增强学习是一个有效的解决人工智能问题的工具。

3.为什么围棋是人工智能难解之谜?

接下来,我要主要讲讲我们最近的技术,那就是去年诞生的阿尔法狗;希望在座的大家了解这个游戏,并尝试玩玩,这是个非常棒的游戏。围棋使用方形格状棋盘及黑白二色圆形棋子进行对弈,棋盘上有纵横各19条直线将棋盘分成361个交叉点,棋子走在交叉点上,双方交替行棋,以围地多者为胜。围棋规则没有多复杂,我可以在五分钟之内教给大家。这张图展示的就是一局已结束,整个棋盘基本布满棋子,然后数一下你的棋子圈出的空间以及对方棋子圈出的空间,谁的空间大,谁就获胜。在图示的这场势均力敌的比赛中,白棋一格之差险胜。

白棋以一格之差险胜。

其实,了解这个游戏的最终目的非常难,因为它并不像象棋那样,有着直接明确的目标,在围棋里,完全是凭直觉的,甚至连如何决定游戏结束对于初学者来说,都很难。围棋是个历史悠久的游戏,有着3000多年的历史,起源于中国,在亚洲,围棋有着很深的文化意义。孔子还曾指出,围棋是每一个真正的学者都应该掌握的四大技能之一(琴棋书画),所以在亚洲围棋是种艺术,专家们都会玩。

如今,这个游戏更加流行,有4000万人在玩围棋,超过2000多个顶级棋手,如果你在4-5岁的时候就展示了围棋的天赋,这些小孩将会被选中,并进入特殊的专业围棋学校,在那里,学生从6岁起,每天花12个小时学习围棋,一周七天,天天如此。直到你成为这个领域的专家,才可以离开学校毕业。这些专家基本是投入人生全部的精力,去揣摩学习掌握这门技巧,我认为围棋也许是最优雅的一种游戏了。

像我说的那样,这个游戏只有两个非常简单的规则,而其复杂性却是难以想象的,一共有10170 (10的170次方) 种可能性,这个数字比整个宇宙中的原子数1080(10的80次方)都多的去了,是没有办法穷举出围棋所有的可能结果的。我们需要一种更加聪明的方法。你也许会问为什么计算机进行围棋的游戏会如此困难,1997年,IBM的人工智能DeepBlue(深蓝)打败了当时的象棋世界冠军GarryKasparov,围棋一直是人工智能领域的难解之谜。我们能否做出一个算法来与世界围棋冠军竞争呢?要做到这一点,有两个大的挑战:

一、搜索空间庞大(分支因数就有200),一个很好的例子,就是在围棋中,平均每一个棋子有两百个可能的位置,而象棋仅仅是20. 围棋的分支因数远大于象棋。

二、比这个更难的是,几乎没有一个合适的评价函数来定义谁是赢家,赢了多少;这个评价函数对于该系统是至关重要的。而对于象棋来说,写一个评价函数是非常简单的,因为象棋不仅是个相对简单的游戏,而且是实体的,只用数一下双方的棋子,就能轻而易举得出结论了。你也可以通过其他指标来评价象棋,比如棋子移动性等。

所有的这些在围棋里都是不可能的,并不是所有的部分都一样,甚至一个小小部分的变动,会完全变化格局,所以每一个小的棋子都对棋局有着至关重要的影响。最难的部分是,我称象棋为毁灭性的游戏,游戏开始的时候,所有的棋子都在棋盘上了,随着游戏的进行,棋子被对方吃掉,棋子数目不断减少,游戏也变得越来越简单。相反,围棋是个建设性的游戏,开始的时候,棋盘是空的,慢慢的下棋双方把棋盘填满。

因此,如果你准备在中场判断一下当前形势,在象棋里,你只需看现在的棋盘,就能告诉你大致情况;在围棋里,你必须评估未来可能会发生什么,才能评估当前局势,所以相比较而言,围棋难得多。也有很多人试着将DeepBlue的技术应用在围棋上,但是结果并不理想,这些技术连一个专业的围棋手都打不赢,更别说世界冠军了。

所以大家就要问了,连电脑操作起来都这么难,人类是怎样解决这个问题的?其实,人类是靠直觉的,而围棋一开始就是一个靠直觉而非计算的游戏。所以,如果你问一个象棋选手,为什么这步这样走,他会告诉你,这样走完之后,下一步和下下一步会怎样走,就可以达到什么样的目的。这样的计划,有时候也许不尽如人意,但是起码选手是有原因的。

然而围棋就不同了,如果你去问世界级的大师,为什么走这一步,他们经常回答你直觉告诉他这么走,这是真的,他们是没法描述其中的原因的。我们通过用加强学习的方式来提高人工神经网络算法,希望能够解决这一问题。我们试图通过深度神经网络模仿人类的这种直觉行为,在这里,需要训练两个神经网络,一种是决策网络,我们从网上下载了成百万的业余围棋游戏,通过监督学习,我们让阿尔法狗模拟人类下围棋的行为;我们从棋盘上任意选择一个落子点,训练系统去预测下一步人类将作出的决定;系统的输入是在那个特殊位置最有可能发生的前五或者前十的位置移动;这样,你只需看那5-10种可能性,而不用分析所有的200种可能性了。

一旦我们有了这个,我们对系统进行几百万次的训练,通过误差加强学习,对于赢了的情况,让系统意识到,下次出现类似的情形时,更有可能做相似的决定。相反,如果系统输了,那么下次再出现类似的情况,就不会选择这种走法。我们建立了自己的游戏数据库,通过百万次的游戏,对系统进行训练,得到第二种神经网络。选择不同的落子点,经过置信区间进行学习,选出能够赢的情况,这个几率介于0-1之间,0是根本不可能赢,1是百分之百赢。

通过把这两个神经网络结合起来(决策网络和数值网络),我们可以大致预估出当前的情况。这两个神经网络树,通过蒙特卡洛算法,把这种本来不能解决的问题,变得可以解决。我们网罗了大部分的围棋下法,然后和欧洲的围棋冠军比赛,结果是阿尔法狗赢了,那是我们的第一次突破,而且相关算法还被发表在《自然》科学杂志。

接下来,我们在韩国设立了100万美元的奖金,并在2016年3月,与世界围棋冠军李世石进行了对决。李世石先生是围棋界的传奇,在过去的10年里都被认为是最顶级的围棋专家。我们与他进行对决,发现他有非常多创新的玩法,有的时候阿尔法狗很难掌控。比赛开始之前,世界上每个人(包括他本人在内)都认为他一定会很轻松就打赢这五场比赛,但实际结果是我们的阿尔法狗以4:1获胜。围棋专家和人工智能领域的专家都称这具有划时代的意义。对于业界人员来说,之前根本没想到。

4.棋局哪个关键区域被人类忽视了?

这对于我们来说也是一生仅有一次的偶然事件。这场比赛,全世界28亿人在关注,35000多篇关于此的报道。整个韩国那一周都在围绕这个话题。真是一件非常美妙的事情。对于我们而言,重要的不是阿尔法狗赢了这个比赛,而是了解分析他是如何赢的,这个系统有多强的创新能力。阿尔法狗不仅仅只是模仿其他人类选手的下法,他在不断创新。在这里举个例子 ,这是第二局里的一个情况,第37步,这一步是我整个比赛中最喜欢的一步。在这里,黑棋代表阿尔法狗,他将棋子落在了图中三角标出的位置。为什么这步这么关键呢?为什么大家都被震惊到了。

图左:第二局里,第37步,黑棋的落子位置 图右:之前貌似陷入困境的两个棋子。

其实在围棋中有两条至关重要的分界线,从右数第三根线。如果在第三根线上移动棋子,意味着你将占领这个线右边的领域。而如果是在第四根线上落子,意味着你想向棋盘中部进军,潜在的,未来你会占棋盘上其他部分的领域,可能和你在第三根线上得到的领域相当。

所以在过去的3000多年里,人们认为在第三根线上落子和第四根线上落子有着相同的重要性。但是在这场游戏中,大家看到在这第37步中,阿尔法狗落子在了第五条线,进军棋局的中部区域。与第四根线相比,这根线离中部区域更近。这可能意味着,在几千年里,人们低估了棋局中部区域的重要性。

有趣的是,围棋就是一门艺术,是一种客观的艺术。我们坐在这里的每一个人,都可能因为心情好坏产生成千上百种的新想法,但并不意味着每一种想法都是好的。而阿尔法狗却是客观的,他的目标就是赢得游戏。

5.阿尔法狗拿下李世石靠哪几个绝招?

大家看到在当前的棋局下,左下角那两个用三角标出的棋子看起来好像陷入了困难,而15步之后,这两个棋子的力量扩散到了棋局中心,一直延续到棋盘的右边,使得这第37步恰恰落在这里,成为一个获胜的决定性因素。在这一步上阿尔法狗非常具有创新性。我本人是一个很业余的棋手,让我们看看一位世界级专家Michael Redmond对这一步的评价。 Michael是一位9段选手(围棋最高段),就像是功夫中的黑段一样,他说:“这是非常令人震惊的一步,就像是一个错误的决定。”在实际模拟中,Michael其实一开始把棋子放在了另外一个地方,根本没想到阿尔法狗会走这一步。像这样的创新,在这个比赛中,阿尔法狗还有许多。在这里,我特别感谢李世石先生,其实在我们赢了前三局的时候,他下去了。

2016年3月阿尔法狗大战世界围棋冠军李世石,以4:1的总分战胜了人类。

那是三场非常艰难的比赛,尤其是第一场。因为我们需要不断训练我们的算法,阿尔法狗之前打赢了欧洲冠军,经过这场比赛,我们知道了欧洲冠军和世界冠军的差别。理论上来讲,我们的系统也进步了。但是当你训练这个系统的时候,我们不知道有多少是过度拟合的,因此,在第一局比赛结束之前,系统是不知道自己的统计结果的。所以,其实第一局,我们非常紧张,因为如果第一局输了,很有可能我们的算法存在巨大漏洞,有可能会连输五局。但是如果我们第一局赢了,证明我们的加权系统是对的。

不过,李世石先生在第四场的时候,回来了,也许压力缓解了许多,他做出了一步非常创新性的举动,我认为这是历史上的创新之举。这一步迷惑了阿尔法狗,使他的决策树进行了错误估计,一些中国的专家甚至称之为“神之一手”。通过这个例子,我们可以看到多少的哲理蕴含于围棋中。这些顶级专家,用尽必生的精力,去找出这种神之一手。其实,在这步里,阿尔法狗知道这是非常不寻常的一步,他当时估计李世石通过这步赢的可能性是0.007%,阿尔法狗之前没有见过这样的落子方式,在那2分钟里,他需要重新搜索决策计算。我刚刚已经提到过这个游戏的影响:28亿人观看,35000相关文章的媒体报道,在西方网售的围棋被一抢而空,我听说MIT(美国麻省理工学院)还有其他很多高校,许多人新加入了围棋社。

第四局里,李世石第78步的创新之举。

我刚才谈到了直觉和创新,直觉是一种含蓄的表达,它是基于人类的经历和本能的一种思维形式,不需要精确计算。这一决策的准确性可以通过行为进行评判。在围棋里很简单,我们给系统输入棋子的位置,来评估其重要性。阿尔法狗就是在模拟人类这种直觉行为。创新,我认为就是在已有知识和经验的基础上,产生一种原始的,创新的观点。阿尔法狗很明显的示范了这两种能力。

6.Master执白中盘胜柯洁,柯洁是否还有希望?

那么我们今天的主题是“超越人类认知的极限”,下一步应该是什么呢?从去年三月以来,我们一直在不断完善和改进阿尔法狗,大家肯定会问,既然我们已经是世界冠军了,还有什么可完善的? 其实,我们认为阿尔法狗还不是完美的,还需要做更多的研究。

首先,我们想要继续研究刚才提到的和李世石的第四局的比赛,来填充知识的空白;这个问题其实已经被解决了,我们建立了一个新的阿尔法狗分系统,不同于主系统,这个分支系统是用来困惑主系统的。我们也优化了系统的行为,以前我们需要花至少3个月来训练系统,现在只需要一周时间。

第二,我们需要理解阿尔法狗所采取的决定,并对其进行解释;阿尔法狗这样做的原因是什么,是否符合人类的想法等等;我们通过对比人类大脑对于不同落子位置的反应以及阿尔法狗对于棋子位置的反应,以期找到一些新的知识;本质上就是想让系统更专业。我们在网络上与世界顶级的专家对决,一开始我们使用了一个假名(Master),在连胜之后被大家猜出是阿尔法狗。这些都是顶级的专家,我们至今已赢了60位大师了。如果你做个简单的贝叶斯分析,你会发现阿尔法狗赢不同对手的难易也不一样。而且,阿尔法狗也在不断自我创新,比如说图中右下角这个棋子(圆圈标处),落在第二根线里,以往我们并不认为这是个有效的位置。实际上,韩国有的团队预约了这些游戏,想研究其中新的意义和信息。

阿尔法狗自我创新,落在第二格线的旗子。

柯洁,既是中国的围棋冠军,也是目前的世界围棋冠军,他才19岁。他也在网上和阿尔法狗对决过,比赛之后他说人类已经研究围棋研究了几千年了,然而人工智能却告诉我们,我们甚至连其表皮都没揭开。他也说人类和人工智能的联合将会开创一个新纪元,将共同发现围棋的真谛。异曲同工,柯洁提到了围棋的真理,我们在这里谈的是科学的真理。

红遍网络的神秘棋手Master2017年1月3日在腾讯围棋对弈平台赢了柯洁。

Master执白中盘胜柯洁,Master就是AlphaGo的升级版。

那么围棋的新纪元是否真的到来了呢?围棋史上这样的划时代事件曾经发生过两次,第一次是发生在1600年左右的日本,20世纪30-40年代的日本,日本一位当时非常杰出的围棋高手吴清源提出了一个全新的关于围棋的理论,将围棋提升到了一个全新的境界。大家说如今,阿尔法狗带来的是围棋界的第三次变革。

5月23日,柯洁和alphago斗棋,柯洁是否还有希望?

7.为什么人工智能“下围棋”强于“下象棋”

我想解释一下,为什么人工智能在围棋界所作出的贡献,要远大于象棋界。如果我们看看当今的世界国际象棋冠军芒努斯·卡尔森,他其实和之前的世界冠军没什么大的区别,他们都很优秀,都很聪明。但为什么当人工智能出现的时候,他们可以远远超越人类?我认为其中的原因是,国际象棋更注重战术,而阿尔法狗更注重战略。如今世界顶级的国际象棋程序再不会犯技术性的错误,而在人类身上,不可能不犯错。

第二,国际象棋有着巨大的数据库,如果棋盘上少于9个棋子的时候,通过数学算法就可以计算出谁胜谁败了。计算机通过成千上万的迭代算法,就可以计算出来了。因此,当棋盘上少于九个棋子的时候,下象棋时人类是没有办法获胜的。

因此,国际象棋的算法已经近乎极致,我们没有办法再去提高它。然而围棋里的阿尔法狗,在不断创造新的想法,这些全新的想法,在和真人对决的时候,顶级的棋手也可以把其纳入到考虑的范畴,不断提高自己。

就如欧洲围棋冠军樊麾(第一位与阿尔法狗对阵的人类职业棋手)所说的那样,在和阿尔法狗对决的过程中,机器人不断创新的下法,也让人类不断跳出自己的思维局限,不断提高自己。大家都知道,经过专业围棋学校里30多年的磨练,他们的很多思维已经固化,机器人的创新想法能为其带来意想不到的灵感。我真的相信如果人类和机器人结合在一起,能创造出许多不可思议的事情。我们的天性和真正的潜力会被真正释放出来。

8.阿尔法狗不为了赢取比赛又是为了什么?

就像是天文学家利用哈勃望远镜观察宇宙一样,利用阿尔法狗,围棋专家可以去探索他们的未知世界,探索围棋世界的奥秘。我们发明阿尔法狗,并不是为了赢取围棋比赛,我们是想为测试我们自己的人工智能算法搭建一个有效的平台,我们的最终目的是把这些算法应用到真实的世界中,为社会所服务。

当今世界面临的一个巨大挑战就是过量的信息和复杂的系统,我们怎么才能找到其中的规律和结构,从疾病到气候,我们需要解决不同领域的问题。这些领域十分复杂,对于这些问题,即使是最聪明的人类也无法解决的。

我认为人工智能是解决这些问题的一个潜在方式。在如今这个充斥着各种新技术的时代,人工智能必须在人类道德基准范围内被开发和利用。本来,技术是中性的,但是我们使用它的目的和使用它的范围,大大决定了其功能和性质,这必须是一个让人人受益的技术才行。

我自己的理想是通过自己的努力,让人工智能科学家或者人工智能助理和医药助理成为可能,通过该技术,我们可以真正加速技术的更新和进步。


  • 作者:系剑桥大学神经学博士生,阿尔法狗之父戴密斯·哈萨比斯在英国剑桥大学的校友

  • 程序员共读整理发布,转载请联系作者授权。


↙点击“阅读原文”, 

『心脏扎刀的瞬间』