国际象棋下到终于走出了这一步步为什么大部分子都不能动了呀?

AlphaGo 能战胜李世石吗?
本题已收录至知乎圆桌 >> ,更多关于李世石对战人工智能的解读欢迎关注讨论。-----1月28日上午消息,谷歌今日召开全球电话会议,旗下 Deep Mind 创始人戴密斯·哈萨比斯 (Demis Hassabis) 宣布了谷歌在人工智能领域的重要进展:开发出一款能够在围棋中击败职业选手的程序—— AlphaGo,后者能够通过机器学习的方式掌握比赛技巧。将于三月份同李世石竞技。-----日
第一局,AlphaGo 执白胜 李世石日 第二局,AlphaGo 执黑胜 李世石日 第三局,AlphaGo 执白胜 李世石日 第四局,李世石 执白胜 AlphaGo日 第五局,AlphaGo 执白胜 李世石最终结果,AlphaGo 4:1 战胜 李世石。
361 个回答
先直接回答这个问题,下面再分析AlphaGo和人工智能的未来。我认为AlphaGo这次的比赛打败李世乭比较悬,但是1-2年之内必然完胜人类。按照两者的Elo(围棋等级分),可以算出去年年底的AlphaGo打败李世乭的概率相当低。如何算出的呢?AlphaGo去年年底的顶级分布式版本的Elo是3168(见下面第一张图),而李世乭的Elo大约是3532(全球围棋手Elo:
,见下面第二张图)。按照这两个等级分的两个棋手对弈,李世乭每盘的胜算为89%(,公式见:)。如果对弈一盘,AlphaGo尚有11%的获胜的可能性,而整个比赛五盘胜出三盘或更多,AlphaGo就只有1.1%的可能性了。(当然,这是几个月前的AlphaGo,也许今天已经超越了:见下面第三点)。AlphaGo不是打败了欧洲冠军吗?有些人认为AlphaGo去年底击败了欧洲冠军樊麾,所以挑战(前)世界冠军应有希望。但是,樊麾只是职业二段(Elo 3000左右),而李世乭是职业九段(ELO 3532)。这两位的差别是巨大的,完全不能混为一谈。就比如说一个人乒乓球打败了非洲冠军,并不代表他就可以成功挑战中国冠军。AlphaGo有可能在这几个月突飞猛进,进而击败李世乭吗?AlphaGo的负责人说:”外界不知道我们这几个月进步了非常多“。(来自: )。这点确实有可能。AlphaGo进步的方法有两个:(1)增加硬件:我们从Nature的文章可以看到:从1202个CPU到1920个CPU,AlphaGo的ELO只增加了28,而且线性地增加CPU,不会看到线性的ELO成长。若要达到364 ELO积分的提升,需要的CPU将达到天文数字(有篇文章估计至少要10万个CPU:)。当然,谷歌有钱有机器,但是纯粹加机器将会碰到并行计算互相协调的瓶颈(就是说假设有十万万台机器,它们的总计算能力很强,但是彼此的协调将成为瓶颈)。在几个月之内增加两个数量级的CPU并调节算法,降低瓶颈,应该不容易。(2)增加学习功能:AlphaGo有两种学习功能,第一种是根据高手棋谱的学习,第二种是自我对弈,自我学习。前者已经使用了16万次高手比赛,而后者也在巨大机组上训练了8天。这方面肯定会有进步,但是要超越世界冠军可能不容易。最后,换一种分析方式:如果从过去深蓝击败世界冠军的“成长过程”来看,深蓝大约1993年达到职业大师水平,4年后才在一场六盘的比赛中击败世界冠军(大约500Elo积分点的提升)。今天的AlphaGo应该和1993年的深蓝相似,刚进入职业大师水平。若要击败世界冠军,虽然未必需要4年的时间,但是几个月似乎不够。还有什么以上未考虑的因素,导致AlphaGo获胜吗?如果谷歌刻意未出全力和樊麾对抗,或者有其它学习或并行计算方面超越了Nature里面的描述,那AlphaGo完全有可能获胜。既然写了这么多,就对这个题目再发表一些看法:AlphaGo 是什么?在今年一月的Nature ( )有AlphaGo的详细介绍,AlphaGo是一套为了围棋优化的设计周密的深度学习引擎,使用了神经网路加上MCTS (Monte Carlo tree search),并且用上了巨大的谷歌云计算资源,结合CPU+GPU,加上从高手棋谱和自我学习的功能。这套系统比以前的围棋系统提高了接近1000分的Elo,从业余5段提升到可以击败职业2段的水平,超越了前人对围棋领域的预测,更达到了人工智能领域的重大里程碑。AlphaGo 是科学的创新突破吗?AlphaGo是一套设计精密的卓越工程,也达到了历史性的业界里程碑,不过Nature文章中并没有新的“发明”,AlphaGo的特点在于:不同机器学习技术的整合(例如:reinforcement learning, deep neural network, policy+value network, MCTS的整合可谓创新)、棋谱学习和自我学习的整合、相对非常可扩张的architecture(让其充分利用谷歌的计算资源)、CPU+GPU并行发挥优势的整合。这套“工程”不但有世界顶级的机器学习技术,也有非常高效的代码,并且充分发挥了谷歌世界最宏伟的计算资源(不仅仅是比赛使用,训练AlphaGo时也同样关键)。AlphaGo的跳跃式成长来自几个因素:1)15-20名世界顶级的计算机科学家和机器学习专家(这是围棋领域从未有的豪华团队:也许你觉得这不算什么,但是要考虑到这类专家的稀缺性),2)前面一点提到的技术、创新、整合和优化。3)全世界最浩大的谷歌后台计算平台,供给团队使用,4)整合CPU+GPU的计算能力。AlphaGo是个通用的大脑,可以用在任何领域吗?AlphaGo里面的深度学习、神经网络、MCTS,和AlphaGo的扩张能力计算能力都是通用的技术。AlphaGo的成功也验证了这些技术的可扩展性。但是,AlphaGo其实做了相当多的围棋领域的优化;除了上述的系统调整整合之外,里面甚至还有人工设定和调节的一些参数。AlphaGo的团队在Nature上也说:AlphaGo不是完全自我对弈end-to-end的学习(如之前同一个团队做Atari AI,用end-to-end,没有任何人工干预学习打电动游戏)。如果AlphaGo今天要进入一个新的应用领域,用AlphaGo的底层技术和AlphaGo的团队,应该可以更快更有效地开发出解决方案。这也就是AlphaGo真正优于深蓝的地方。但是上述的开发也要相当的时间,并且要世界上非常稀缺的深度计算科学家(现在年待遇行情已达250万美金)。所以,AlphaGo还不能算是一个通用技术平台,不是一个工程师可以经过调动API可以使用的,而且还距离比较远。如果这次AlphaGo没有打败李世乭,那还要多久呢?IBM深蓝从进入大师级别到比赛击败世界冠军花了四年。AlphaGo应该会比深蓝更快提升自己,因为深蓝需要新版本的硬件,和针对Kasparov的人工调节优化,而AlphaGo是基于谷歌的硬件计算平台,和相对通用的深度学习算法。所以,几个月太短,4年太长,就预计1-2年之间吧。从国际象棋到围棋,到底是不是巨大的突破呢?肯定是的,在这篇文章里面( ),第一位回答者分析了围棋的复杂度为 而国际象棋则只有 。在1997年深蓝击败世界冠军时,大家都认为:深蓝使用的是人工调整的评估函数,而且是用特殊设计的硬件和”暴力“的搜索 (brute-force) 地征服了国际象棋级别的复杂度,但是围棋是不能靠穷举的,因为它的搜索太广(每步的选择有几百而非几十)也太深(一盘棋有几百步而非几十步)。而AlphaGo的发展让我们看到了,过去二十年的发展,机器学习+并行计算+海量数据是可以克服这些数字上的挑战的,至少足以超越最顶尖的人类。AlphaGo 若打败了世界冠军,就意味着计算机超越人脑?或者可以思考了吗?我的回答:在可以凭逻辑分析推算的问题上,机器即将远远把人类抛在后面。机器速度会越来越快,学习能力会越来越强,数据会越来越多。当年,大家讨论“国际象棋输给机器不算什么,围棋才是真正的智慧”只是我们人类维护自己尊严但是不实际的幻想!今天,我们该面对现实了!在大数据+机器学习+大规模并行计算的时代,我们将看到无数的商机和产品,能够在预测、分析、推荐等方面,产生巨大的商业和用户价值。不过,这些解决方案和人类相比,其实没有什么意义,因为人差太远了(比如说:推荐引擎将能推荐你最可能会买的产品、想吃的菜,想认识的人;自动交易能得到更高的投资回报和风险比例。。。)。在感知方面,人类也将会被机器超越。今天的语音识别,人脸识别,未来的自动驾驶,都是例子。但是,以上都还是冷冰冰的技术,机器打败了世界冠军也没有感到高兴(甚至说不出为什么)。对于那些科幻片的粉丝们:机器人是否会人性化?这还是未知的。毕竟,在情感、喜怒哀乐、七情六欲、人文艺术、美和爱、价值观等方面,机器离人还差的很远,甚至连基础都没有。对人工智能的研究者,这是下一个挑战。对我们人类,在下个突破之前,我们还是多发展右脑吧!P.S. - 也许有人好奇,为什么这个话题我说了这么多,因为在1986年,我在读书时,曾经开发了一套黑白棋系统(复杂度),击败了黑白棋的世界团体冠军,而当年的那套系统也有(非常粗浅的)自我学习的能力。有兴趣的网友可以在这里看到我当年的文章: ) 。
李开复老师的预测很慎重。趁着赛前我写一个短分析。个人认为,这次顶峰对决战成势均力敌的可能性极小。很多人设想中的势均力敌很难出现。六种比分里最有可能的是,4:1/1:4,其次5:0/0:5,最次才是3:2/2:3。我思考的主要是两点。首先,围棋棋力的差距比国际象棋更容易带来局势上的碾压,积分差400基本上可以认为是横扫了。欧洲冠军樊老师差不多是3000分,世界冠军李老师是3600分。之前的闭门对战中,alphago横扫了欧洲冠军。也就是说,几个月前,alphago应该至少有了3300分。李需要一定概率才能横扫当时的alphago。以400分为一阶段的话,alphago和李大约只差一阶了。第二,深蓝是需要堆硬件和针对对手的训练才需要四年的时间。alphago没有在这两方面动心思,处理器数目这几个月也没有多少改变。单纯地只需要时间靠训练提升自己。国际象棋AI用了四年完成职业级到世界冠军的超越,现在的alphago可能只需要4个月。alphago的进步速度相对于人类和深蓝都是爆炸性的。这两者加起来,alphago和世界冠军实力相当的窗口极短。Google正好给自己留下了充裕的时间。如果Google那边没有遇到瓶颈的话,应该会完成4:1/5:0的压倒性胜利。如果遇到了什么瓶颈,实力到了目前算法的极限,没有爆发式的进化,那么就是反过来被李4:1/5:0碾压。3:2/2:3?不太会出现。ps.以及并不担心被打脸。能让思考中的错误暴露出来是极好的。一个好的cost function是会让错误更明显的函数。--------------------------------------------------------------------------5%。写在第一局之后。算是对早上短分析的整合。早上是早餐时间一边吃饭一边写的。有些地方可能跳得很快,让一些知友觉得迷糊了。我的中心观点还是,最可能出现局面是AlphaGo压倒性地以4:1或5:0取胜,最不可能的局面是3:2或2:3。(达成这个效果,AlphaGo对李的单局胜率要高于83%,大约要高出280分,也就是在3800分以上。)我对围棋的理解就5%。首先,围棋棋力的差距比国际象棋更容易带来局势上的碾压。同样是400分的差距,同样是90.9%的单局胜率,围棋的棋力差距比国际象棋更小。(更容易完成0:5到5:0的飞跃。)而去年10月AlphaGO横扫了大约3000分的Fan Hui老师,说明那时的AlphaGo离李世石大约只差300分,还不到一阶(400分)。第二,当初深蓝用了四年,时间主要耗在了堆硬件计算能力和针对对手的训练上。这两点都需要人为干涉,非常消耗时间。AlphaGo的处理器数目与去年10月相比没有提示,说明Google不走堆硬件的老路。AlphaGo自己和自己训练,以百万局为单位的训练,也不走针对对手开小灶的邪路。这样的,进步一阶速度何止深蓝的10倍。深蓝用4年完成一阶的飞跃。而AlphaGo可能只需要4个月。从去年10月到现在已经5个月了。这段时间看似短暂,如果AlphaGo能在目前的模型下完成400分以上的提升,那么5个月应该是很充足的。也就是说,AlphaGo能超车的话,那么一般来说,已经把人类选手摔在身后了。一辆已经起步的小跑车超过行人是必然的,但正好经过行人李的时间窗口却极短。正好差100分以内,考虑到第一个原因,可能性更小了。再考虑到下面这句话,Elo分差100以内的可能性又更低。当年日本棋圣藤泽秀行老师接受采访时说:我对围棋的理解就5%。今天早餐时,我一看到这句话便觉得豁然开朗。围棋是一个被规则定义的世界。数千年来,我们一直在努力发现这个世界。围棋不是臣服于我们的工具,是一个被明确定义的客观存在。(Literally)如果围棋有100个层次,最顶尖的棋手大约站到了5层。而这个世界还有95层等着人类去探索。AlphaGo呢,真的很像一条狗啊(当然也只有很小的可能性滞留在第五层 ;))。人类应该牵着它继续向前走。
现在的比分是 0:2,小李的状态很不佳,这次也完全可能被零封。但目前的 AlphaGo,可能并非人类不可战胜。UPDATE:第四盘,电脑盲点出来了。我在下面说过,逻辑性是 DNN 的盲点,可以误导 MCTS 的展开,某些怪招是走入了错误的变化,而不全是什么神之一手天外飞仙。同时 AlphaGo 也会出现盲区。正是如此。之前我在这里还说 Google 很鸡贼,不公开 AlphaGo 失败的棋谱,也不开放任何对弈,避免显示自己的弱点,下面不时有人出来喷“凭什么要求Google公布”云云,言辞非常不客气,我就编辑掉并关闭评论了,各位现在理解了吗。许多做机器学习的朋友不了解电脑围棋,如果真研究过近年来的电脑围棋文献,会发现和跑个 ImageNet 的程度不一样,需要的逻辑知识更丰富。电脑围棋未来会完美战胜人类棋手(且必须加入更多Domain-dependent的方法),但恐怕不是今天。NOT TODAY。我们看看 Google DeepMind 的 Hassabis 怎么说吧:@demishassabis
26m26 minutes ago
Lee Sedol is playing brilliantly! #AlphaGo thought it was doing well, but got
confused on move 87. We are in trouble now... @demishassabis
7m7 minutes ago Mistake was on move 79, but #AlphaGo only came to that realisation on around
move 87 这就正是我在此所说的“电脑吃惊”。其实即使对于AI研究,最完美的情况也并不是碾压李世石,而是我们看到人机之间的此消彼长,互相学习。围棋是一个极其有趣的问题,希望看到它能为AI研究贡献更多世界的奥秘,而不是如此轻易地被彻底解决。AlphaGo的核心是 MCTS + DNN + RL。之前没有说 RL,但它其实是很有意思的部分,因为在从前的对弈程序研究中,RL 的效果一般并不好。RL 的弱点是 overfit,也就是虽然小道消息公布目前这个版本的 AlphaGo 面对去年的战胜樊麾的版本的胜率是 100%,估计 ELO 分已经超出 4000,号称天下无敌,但这里面实际是会有很大的水分的可能。在其他棋类的例子上,有这样的例子: RL 后的程序秒杀 RL 前的程序,但面对其它不同棋风程序的胜率反而略微降低。下面我们看 MCTS 和 DNN 的缺陷。================================================身为人类,恰好对于电脑围棋、General Game Playing、机器学习有过一点研究,希望在此为形势不利的一方支招。冀望研究AI的朋友们此时都开放一点,告诉公众和棋手,目前AI所存在的缺陷,而不是有意无意地只想搞个大新闻。很理解Google等公司作为利益相关者,大谈AI的长处,不会自揭短板。Google这次取得的成就也非常伟大。但即便从公司利益出发,现在为人类棋手支招,事实上也有利于进一步促进AI水平的提高。如果人类不在最佳状态,那么对于机器的测试又如何能测试出机器的极限?下文如有错漏,请各位不吝补充。1) 复杂的劫争、复杂的对杀(Semeai)、"看似有利实际不成立的棋"、"看似不利实际合理的棋"(做过对弈程序的朋友会清楚,这些反应出来就是"漏看","过分乐观")等等,一言喻之,所谓 trap,一直是蒙特卡洛树搜索(MCTS)甚至对弈树搜索的软肋,如 International Conference on Computers and Games 2013 论文集中,多篇都讨论过这类缺陷的表现。AlphaGo 通过运用深度神经网络评估和选点、tree与playout的知识共享、历史知识共享、暴力增加搜索速度和节点数,等等,弥补了大部分"漏看"的情况,但"漏看"仍会存在。对于围棋,尤其如此。这首先来自于,由于对弈树太大,所以MCTS在每一层都会尽快选中少数点集中搜索。如果一开始的选点全部或大部分错了,根据合格的MCTS的设计,仍然可以在后续搜索中找回正确的选点,但需要的时间会很多,有可能就会漏看;其次,在playout中,也同样会有覆盖不够的盲点,影响局面评估。一个具体的例子。AlphaGo 在局势均衡时,出现的怪招,如果是在短兵相接的情况下出现的,一部分会是算路极深的妙手,但也会有一些属于这样的误算(就是没看到后续双方的正解,而是陷入了错误的变化),表现出来就是损棋。后文会继续谈电脑的怪招问题。2) 同样,深度神经网络(DNN)也存在盲点,且这种盲点属于此方法的根本问题,现阶段无可能解决。下面是一个普通人不了解的事情:DNN与目前的绝大多数机器学习算法,所学习到的,其实都是统计知识,而不是精确的逻辑知识。举个图像识别的例子。给DNN一群人在一起的照片,DNN现在可以数出里面有多少个人,且有时比人类还要强。比如只露了某个身体部位,也可能识别出来。但是,也永远会有人类看上去一目了然,但DNN识别错误的情况,因为DNN完全没有办法学到什么是人的精确定义!这方面经典的文章是
,下图左边精心构造的噪音图像会被DNN以非常高的置信度判定为存在某某物品(有趣的是,可以在右边看到,我们也可以构造出“有点像这个物品”的假图像,说明DNN学到了许多东西,只是不精确)。如果我们拿到 AlphaGo 的网络权重数据,同样可以构造许多类似的欺骗局面。但是,我们拿不到。不过,目前看来,这种问题已经在对局中显现了。一个典型的例子是布局部分,所谓的"走错定式"。与普通人的想象不一样,DNN虽然学习过无数局棋谱,但是绝不会简单地死记硬背棋谱。这是DNN的胜利,它有能力大致学习到棋谱中所反应的更有趣的精神,如布局的方向选择,某个局部和另一个局部之间的联系,等等;而另一方面,DNN所学习到的围棋知识,也存在着同样的"不精确性"与"逻辑性缺陷",正如雾里看花。那么,布局走错次序、走错位置、不同布局的杂糅等等,在了解的人看来,就很可能是DNN的签名(MCTS也有类似的缺陷,因为在它看来布局的许多不同位置的胜率都差不多,结果实际行棋就会有不精细之处)。人类所应该做的,就是不要想太多,按照棋理与布局理论给予还击(是的,人类的布局理论一定还有缺陷,但以 AlphaGo 目前的水准,恐怕还达不到这一层)。如果不了解这件事,把电脑想得太神秘莫测,只求稳,如小李在第二局的一些应对,则会正中电脑的下怀,把自己绕进去了。关于此,柯棋渣的直播和孟主播的复盘 都说得很好。电脑的某些怪招,也同样是这么来的,不一定都是什么天外飞仙。此前举的复杂劫争、对杀等等,也存在精密的逻辑成分(如每个劫材的精确大小、先后手,全棋盘各个局部之间的复杂关系,等等),会是电脑的弱项。另一方面,官子部分虽然也要精确算,但以 AlphaGo 目前的运算能力恐已足以暴力搜索解决(团队应该会在此时接入精确的搜索树而非蒙特卡洛树),不能指望它出错了(看似出错的地方,都是棋局大幅领先时MCTS的签名而已,不改变胜负)。3) 关键的部分来了。怎么应对 AlphaGo?单从对局来说:第一,自己不能出错,每步棋要达到 80 分的质量。 因为电脑抓漏抓棋形缺陷等等的能力有时会很强(就看MCTS是否刚好考虑到了那个变化),不能给它机会。第二,如果看到 AlphaGo 的怪招(特别是棋局开局与中前期的怪招),先想想是否是自己看漏了,如果似乎不是,那么不要把它想得太高明,应该用正常的方法反击,而不要心虚求稳。这样才可慢慢积聚起优势。否则就是安乐死,仿佛不知道输在哪里。第三,同样,AlphaGo的行棋有时会有不精细之处。发现时,都应积极抓住处理。第四,一些需要了解的地方:1. 从 AlphaGo 的 DNN 设计来看,它会略微更喜欢走离 自己上一手 / 对方上一手 很近的点。2. 目前的MCTS算法,电脑容易略微高估自己,低估人的战斗能力和活棋能力。如果人表现得好,电脑是会吃惊的(评论有朋友问什么叫电脑吃惊,这个做过对弈程序的朋友都知道,就是起初认为局势一片大好的评估函数,突然就开始急转直下了,哈哈)。3. 许多人都已经知道,目前的电脑围棋程序在领先的时候都会求稳,下缓手(因为实际测试,这样的胜率确实更高)。以上是对局的方面。而更重要的事情是在对局之外。上面是媒体报道使用的一张图片。这张图片看了令人觉得挺难过。李世石和从前的卡斯帕罗夫一样,现在面对的心理压力,前所未有的巨大。希望能有机器学习专家找到李世石,介绍 AlphaGo 的算法和可能存在的缺陷,让他能够调整状态,奋力再战!此次对局,是 AlphaGo 在暗,人类棋手在明。AlphaGo 看过所有人类棋手的棋谱,而人类棋手却始终蒙在鼓里。有些不厚道的是,Google 故意放烟雾弹,只公布了去年的较弱的版本的对局谱,并且绝不谈最新版本的棋力情况,有心理战的嫌疑。这并不改变 Google 取得了伟大成就的事实,不过也留下了口实。心理因素,对于人类而言太重要了。打个比方,如果换成爱虐电脑,与机器斗争经验丰富的罗洗河,局面会是如何,会比较有趣。如果 Google 不是仅仅为了追求宣传效应,那么建议在此次或此一系列对局事件后,开放与 AlphaGo 对弈的接口,让所有人类顶尖棋手前来实验。即使收费,也会有许多人愿意。人类的学习能力,在许多方面仍然远强于机器学习。通过反复测试,完全可能试出 AlphaGo 的缺陷,学会 AlphaGo 学习棋谱与自我对局所生成的经验(DNN 里面的经验也是有办法直接显示给人类的,不是纯粹的黑箱)。这与象棋的情况不同。围棋很特殊,可以说是最适合人类的一种棋类,比象棋等要适合得多。樊麾在与 AlphaGo 多次对弈后长棋了,其他人类棋手也会有类似的发现。电脑能进步,人也一样。一个强大的对手,可以推动围棋的新发展。(要找到AlphaGo 的缺陷所在,最直接的,是看 AlphaGo 自我对弈的棋谱。自我对弈,就总有一方会输,那么就看看是如何输的。说起这个,许多人可能不知道,对局程序里有大量的内部信息,比如程序估计的选点,每个点的胜率,以及每个点的变化图解。如果再略微分析一下,还可以显示程序认为哪里是局势的关键点,哪里已经尘埃落定,哪里是未来可能争斗最激烈的区域,以及DNN的形式判断理由,等等等等。如果 Google 愿意把这些数据显示出来,那就更有意思了。)行文至此,东方渐白。我相信在围棋这个毕竟是人类创造的棋盘游戏上,机器在不久的将来会彻底战胜人类,断绝一切幻想,正如现在的象棋,但我只想说,NOT TODAY!如果您同意本文的意见,请记得给本文 up vote 一下吧,对,就是点一下左上角那个向上的剪头。何况,这只是 AI 漫漫长路的一个小小驿站。别的不说,前沿的理论数学的证明,很难想象现在的 AI 怎么理解,更不谈怎么推导。代数拓扑和代数几何有希望。数论最难。更简单的例子,AI 什么时候能写出我们在这里的回帖?目前的电脑架构,恐怕希望不大。生物计算机,量子计算机,分子计算机,可能才是正解。不说了,先睡了...彭博 于 日晨补充:对于电脑围棋关注过很多年,大部分这方面的文献都读过,也写过程序。此处写下的 MCTS 和 DNN 的漏洞,既是许多文献的意见,也是自己的经验所得。如果哪位有不同意见,很欢迎指正。但是,这里的所有评论,居然没有一个人正面谈论这个问题(如这些漏洞是否存在,该如何解决),一群人去争论些边边角角的杂事,如 Google 是否应该公开权重公开棋谱之类,有没有可能解读出权重里面的信息等等,各路人瞎吵,令人无语。这是新一代的中医vs西医之争吗?信噪比太低了,全清空罢。最后,点名批评之前评论中的许多人,学了一点机器学习课本知识,就开始 show,太可怕了。世界很复杂,我们都还得虚心学习一个。实际的问题千变万化,不是课本可以涵盖。是的,我对于喜欢人身攻击的人就是这么不留情。讨论问题很好,有些人一上来就人身攻击,这是什么路数?我还搜索了一下,好像很多人都在知乎吐槽喷子,还有人总结说喷子最喜欢抓住他们懂的那点东西死缠烂打。比如 MCTS 这么简单,但对于机器博弈又极其重要的东西,他们很多就不懂,很多课本也不教,所以他们就啥都不会说。关于本文说的主要论题,他们也啥都不会说(真令人失望),就会反复纠缠一些细节。很多时候,我特别特别不想回他们的评论,因为感觉在免费教他们。但是看他们在下面吧,又觉得很容易误导观众(他们会互相点赞!很牛的),怎么办呢?现在我学会了,就是拉黑+关闭评论......
“国际象棋电脑程序想要在人类大师级(Master)选手中赢得一场比赛的唯一可能,是等到这位大师喝得烂醉、同时在下着50盘棋、并且犯下一个他一年才可能犯一次的错误时。”上面这段话是1976年一位高级国际象棋大师(Senior Master)对当时的国际象棋程序所作出的评价。(这种说法是不是听起来很耳熟?20年前,人们差不多也是这么评价围棋电脑程序的。)但在接下来的20年中,随着电脑算法和硬件的不断升级,电脑程序在与人类选手的比赛中战绩越来越好,国际象棋大师们对电脑程序的评价也在一次次改变:“电脑永远也不可能击败特级大师(Grand Master)。”“电脑永远也不可能击败实力强劲的特级大师。”“也许电脑可以击败实力强劲的特级大师,但它永远也无法击败国际象棋世界冠军卡斯帕罗夫。”1996年2月,世界冠军卡斯帕罗夫作为人类棋手的最后一道防线在美国费城迎战IBM的“深蓝”电脑,双方一共进行了六局的较量。在比赛的第一天,深蓝在第一局中击败了卡斯帕罗夫,这也是电脑第一次在标准比赛规则下战胜世界冠军。在第一局比赛结束的当晚,卡斯帕罗夫和他的助手在费城的街道上一直散步到深夜。期间,心烦意乱的卡斯帕罗夫曾经问他的助手“如果那玩意儿是不可战胜的,那怎么办?”不过,在次日进行的第二局比赛中,卡斯帕罗夫扳回了一局。在比赛结束后的采访中,他对深蓝做出了很高的评价:“在某些局面中,它(深蓝)看得非常深,就像上帝在下棋。”在随后的四局比赛中,卡斯帕罗夫两胜两平,最终以4:2的总比分击败了深蓝,捍卫了人类象棋大师的尊严。虽然深蓝失败了,但4:2的比分让深蓝的制造者们心里很清楚,用电脑程序战胜世界排名第一的人类棋手将只是一个时间问题了。要想明白在这20年内人们是如何将国际象棋程序的水平提高到足以跟世界冠军较量的,我们得先来看一下电脑程序下棋的原理。电脑下棋的基本原理其实一点都不复杂,在这里我们用简单的井字棋(Tic-Tac-Toe)来举例说明:井字棋是一种非常简单的二人棋类游戏。棋盘上一共有九个格子,对战的双方依次在格子中画下圆圈或者叉叉。当一方的三个棋子以横、竖或对角的方式连成一条线时即为胜利。想要让电脑下井字棋,最简单的方法就是让它对所有可能的走法逐个推演一遍。比如说对于井字棋来说,第一步一共有三种走法,分别是下在角落上、边上和棋盘中间。对于这三种走法中的每一种,对手又会各有数种应对走法,从而形成更多数量的局面。电脑所要做的就是一步步计算下去,把每一种局面都推演一遍:上面这张图片中显示了电脑推演过程的前两步。其中叉叉选手一共有三种开局,分别显示在图片的第二行中。图片的第三行中显示的是圈圈选手的应对走法。对于叉叉画在在中间的开局,圈圈选手一共有两种应对方法。对于另外两种开局,圈圈选手各有五种对应的走法。这种推演每多推演一步,我们得到的不同局面就会越来越多。上面图片中只推演了两步,或者说两“层”(Ply)。由于井字棋最多也只能下上9步,并且每步的变化都十分有限。从第一步下到最后一步,井字棋一共只有26830种不同的棋局。电脑可以很容易地将每一种情况都推演到底并记录下输赢结果,下面的图片是一个简化的示意图:在上面的图片里,最后一行中蓝点代表的是选手一获胜的结局,红点代表的是选手二获胜的结果。对于可以直接“看穿”每一步棋的最终结果的电脑来说,在和人类下棋时只要尽量选择自己颜色获胜的分支去下就可以了。如果双方都按照最优方案去下,将永远是和棋的结果。让电脑下国际象棋的基本思路其实和下井字棋是一样的。但其中一个重要的区别是国际象棋的变化要比井字棋多得多。在国际象棋的中局阶段,平均每一步都有30-40种不同的选择,这意味着电脑往下推演一个回合(双方各走一步)就要计算一千种可能的情况,并且每多推演一个回合计算量就会增加一千倍。推演两个回合就要计算一百万种情况,四个回合就是一万亿种,八个回合就是一亿亿亿种……由于计算量随着推演回合数的增多呈指数式的增长,电脑是无法像面对井字棋那样直接计算到最后一步的。人们只好做出一定程度的妥协,让电脑在推演到一定数量的回合数就停止计算。由于无法直接推演到分出胜负,所以人们又在电脑程序中增加了评分系统,好让电脑从千千万万个推演结果中选出最优的一个。例如人们可以在评分系统中设定皇后=9分、车=5分、象=5分、兵=1分等等,然后再根据棋子的不同位置对得分进行修正。电脑程序会按照这个评分系统对推演出的每一个局面进行评分。接下来要做的事情显然是根据推演结果来选择下一步要走的棋了。假设电脑刚刚往下推演了两个回合,一共产生了一百万个可能的局面,并对它们一一进行了评分。我们现在是不是应该直接找出评分最高的那个局面,然后向上倒推出我们下一步应该要走的棋呢?当然不是。别忘了,在这两个回合一共四步棋中,只有两步是由电脑程序这一方来走的,还有两步是由对手来走的。对手走出的这两步棋一定是会尽力让电脑一方的评分降低的,所以电脑计算出的最优局面很可能只是存在于理论上而已,对手才不会乖乖地配合你走出这样一个局面。在计算出N个回合后的所有局面后,我们需要用到一个特殊的算法来确定下一步要走的棋。下面的图片中是一个非常清晰的简化示例:在上面的例子中,电脑一共进行了两个回合共四步棋的推演,得到了9个可能的局面,也就是第4行中的9个圆圈。圆圈中的数字是电脑对于这个局面的评分,正无穷大为电脑获胜,负无穷大为对手获胜。在得到第4行的九个推演结果并对它们进行评分后,我们需要根据这个评分对第3行的局面评分(图片中红色箭头)。在这个过程中,我们需要把第3行中每个方框的评分值取为它下面所有结局评分中的最小值。这很容易理解,因为从第三行局面变为第四行局面的这一步是由对手来走的。对手当然会选择让我们的分值最小化的走法。所以第3行最左边的方框被赋予了10的评分,因为对手不可能在这个局面下配合你走出下一步让你取胜的棋,它下面的那个正无穷大局面也是根本不可能发生。在对第3行完成评分之后,我们接下来要根据第3行的评分对2行进行评分。请注意从第2行局面变为第3行局面的这一步是由我方来走的,所以第2行中的每个圆圈的评分值取为它下面所有评分中的最大值。按照这种方法依次类推,我们可以得到对第1行两种走法的评分,分别是-10分和-7分。这两个评分的意义是,如果我们选择左边的走法,四步之后得到的最好结果将是-10分,如果选择右边的,四步之后得到的最好结果将是-7分。根据这个推演结果,我们当然选择右边的走法(图中蓝色箭头)。由于这个算法对于每一行的评分轮流进行最小和最大取值,所以被叫做Minimax算法(Minimax Algorithm)。有了搜索系统和评分系统这两个最核心的模块后,电脑就可以开始下象棋了。电脑用两个步骤来决定自己的下一步棋:首先,电脑按照设定好的搜索深度向下搜索出所有可能的走法,并得到这些走法所形成的所有局面(Position)。接下来,评分系统对按照规则对这些局面逐一进行评分,然后按照上面讲的Minimax算法将评分一层层向上返回。当评分返回到第一层时(也就是电脑要走的下一步棋时),评分最高的走法被电脑选走作为下一步棋。虽然可以下棋了,但这时的电脑搜索效率很低,完全无望战胜人类的大师级选手。为了让电脑在相同的时间内达到更大的搜索深度,人们又想出很多方法来改进象棋程序的搜索系统。例如用剪枝算法(alpha-beta pruning)来切除那些显然不是最优解的路径以节省计算资源,或者把一些搜索结果储存起来(transpostion table)供以后调用……等等等等。除了改进算法以外,另一个更加粗暴的方法就是直接提高计算机的运算速度。同样的一个象棋程序在普通电脑上运行时可能只相当于人类Class C的水平,但放到超级计算机上运行时立刻会上升到人类Class A的水平(Class A选手对Class C选手有90%以上的胜率)。这是因为超级计算机可以使得象棋程序在同样的时间内完成更大的搜索深度,即“看到”更多回合后的情况。电脑象棋程序以上面的两种方式发展了20年后,实力已经越来越接近人类顶尖棋手的水平。等到开发深蓝的时候,IBM团队中技术人员的象棋水平已经根本无法跟上深蓝的水平了。于是IBM又特意雇了一位国际象棋特级大师Joel Benjamin,让他来与深蓝进行对战练习,并对深蓝的参数进行修正。在IBM团队研制深蓝之前,其实电脑已经在一些方面显示出了超越人类的势头。一个叫做Ken Tompson的人在80年代利用计算机对国际象棋的残局进行了研究。对于双方棋子总数少于5个的残局,由于变化相对较少,Ken干脆用计算机对这些残局进行了暴力破解(即把双方所有可能的走法穷尽一遍)。在得到结果后,他惊讶地发现,对于一些人类长期以来认为是和棋的残局,计算机竟然找到了需要走50步以上的获胜方法。在这些残局中取胜的步骤中包括一些看起来完全没有任何意义的走法,这已经彻底超越了人类在国际象棋上的思考能力,更不要提后来计算机又找到了一些需要走500步以上才能取胜的残局。2005年,人们用计算机暴力破解了双方棋子总数不超过6个的所有残局,生成的数据大小有1200G。2012年,人们又暴力破解了双方棋子总数不超过7个的所有残局,生成的数据大小为140000G。用Ken的话来说,这意味着现在当人类和计算机对弈到双方棋子总数不超过7个的时候,人类等于是和上帝在下棋。在科技人员和象棋特级大师的共同努力下,1996年的深蓝虽然输给了卡斯帕罗夫,但已经具有人类顶尖棋手的实力。仅仅一年后,经过升级后的深蓝就又向卡斯帕罗夫发出了第二次挑战。升级后的深蓝可以评估出6个回合内的所有走法,对于部分重要的路径则可以计算到20个回合以后。在双方1997年的第二次交锋中,深蓝以3.5:2.5的比分战胜了人类的世界冠军卡斯帕罗夫,创造了历史。上面这张图片是卡斯帕罗夫在1997年对阵深蓝的最后一场比赛时的情景。电脑象棋程序第一次战胜人类世界冠军在1997年的中国也是一个大新闻,各大中文媒体都进行了报道,印象中答主就是那个时候才第一次听说IBM这家公司。但奇怪的是,在当时很多中文媒体的报道中,讲完这条新闻后都会话锋一转强调说虽然电脑在国际象棋上战胜了人类,但下围棋是绝对下不赢人类的。文章的最后通常会附上一些论述得意洋洋地证明中国人发明围棋比国际象棋要复杂得多。答主当时正在读中学,思想有一点中二,对当时的报道非常失望,觉得为什么没有一篇报道鼓励中国人抢在西方人之前先攻克这个难题,为什么这些人只盯着几千年前的历史而不想着去创造新的历史。当然,让计算机下围棋确实要比下国际象棋困难得多。前面讲过的国际象棋中两个最核心的模块“搜索系统”和“评分系统”在面对围棋时都会遇到很大的挑战。搜索系统:国际象棋只有8X8=64个格子,而围棋有19X19=361个点;国际象棋每回合大约有30-40种走法,而围棋有200-300种;国际象棋一局的长度大约是40个回合,而围棋可以长达150个回合。这些都会导致需要进行的计算量指数级的增长。一个常见的比喻是“围棋中可能的棋局数比可见宇宙中的原子数还多。”如果单纯采用暴力计算的方法,别说1997年的电脑,即使用今天的超级计算机也是毫无希望的。评分系统:国际象棋的评分系统很简单,每个棋子都有一个分值,越重要的棋子分值越高,重要的棋子越多分值越高。电脑可以很容易地按照简单的规则对某个局面进行评分。而在围棋中,每个棋子的价值都是相等的,但棋盘上的棋子数目多少又与局势没有必然的联系。人类可以靠经验、靠感觉,但电脑就很难对局势的优劣进行判断。如果无法对局面进行可靠的评分,上面讲过的算法都将不再成立。这些困难当然每个人都知道,只不过一些人看到这些困难就直接放弃了,而另外一些人会努力找到各种方法来克服这些困难。让李世石和Alphago之间的围棋人机大战成为现实的,正是这群“另外一些人”。鉴于应用在象棋程序上的算法无法被直接使用在围棋程序上,开发围棋程序的人又想出了一些新的办法,例如蒙特卡洛树搜索(Monte Carlo Tree Search)。大家不要被这个逼格满满的名词吓到,蒙特卡洛是世界三大赌城之一,所以“蒙特卡洛”这个词在这里就是随机的意思。在蒙特卡洛方法中,围棋程序在下棋时会首先判断出下一步可能的走法,假设有A和B两种。接下来,对于A和B两种走法,程序会分别按照随机的走法继续把这盘棋一直下到底,然后记录输赢结果。假设程序在A之后按照随机的走法模拟下完了100局棋,赢了50盘。然后程序又在B之后按照随机的走法模拟下完了100局棋,赢了60盘。根据这个结果程序会得出结论:虽然都是随机乱走,在走了B之后乱走的胜率比走了A之后乱走的胜率要高那么一点点,那么想必B这步棋是比A要好那么一点点的。这种算法乍一看有点诡异,但它很好地避开了前面提到的电脑程序下围棋中最大的两个困难。第一,这种方法不需要对某一层的可能下法进行穷尽计算,而只是随机选取一些路径进行模拟,因此大大减少了计算量。第二,这种算法在模拟中会直接将整盘棋下到最后分出胜负,然后再根据胜率来判断一步棋的优劣,因此也不需要设计任何评分系统对未结束的局面进行评分。虽然这种算法可以绕开围棋程序中一些难以克服的困难,但一开始人们用这种算法编制的围棋程序水平也很烂,只能可怜兮兮地在9X9的棋盘上下棋。但随着技术人员的耐心改进,围棋程序的水平也一直在缓慢地提高。2010年,围棋程序MogoTW与职业五段选手Catalin Taranu在全尺寸棋盘上对阵,在受让7子的情况下依然落败。2012年和2013年,围棋程序Zen和Crazy Stone分别在受让4子的情况下战胜了职业九段选手。2015年10月,谷歌的Alphago又把围棋程序提高到了一个新的高度,在没有让子的情况下以5:0的比分战胜了职业二段选手。从网上几篇非常有限的报道来看(Nature的那篇文章我看不到,看到估计也看不懂),谷歌的Alphago的大概工作原理是这样的(下面的内容来自于这篇报道):在Alphago中有两个模块,第一个是“落子选择器”。谷歌的在落子选择器中输入了上百万人类对弈的棋谱供它学习。在完成学习后,当你往这个落子选择器中输入一个新的局面时,它可以预测人类棋手在这种情况下会在哪个位置落子。下面这张图片显示的就是这个模块对于下一步落子位置的预测,以概率表示:在这里请大家注意这个落子选择器除了“猜测”下一步棋的位置之外,并不会做其他的事情。但是如果有两个版本的落子选择器来交替猜测黑白方的下一步棋时,它们之间就可以进行对战了,然后再根据的胜负结果修正自己的预测。这也就是很多报道里讲到的Alphago可以通过与自己对弈不断提高水平。Alphago中的另一个模块是“棋局评估器”。根据Alphago自己和自己对弈的无数棋局的结果,谷歌的工程师可以训练“棋局评估器”对一个局面的黑白胜面进行评估。换句话说,通过学习海量的棋局,谷歌开发出了一个相对靠谱的围棋的评分系统。有了上面的两个模块,Alphago在对战中通过一下步骤来决定下一步棋的位置:首先通过落子选择器来产生下一步棋的备选走法(不一定只有一个位置);在得到下一步棋的可能走法后,程序会利用前面介绍过的蒙特卡洛算法确定其中的最优走法;利用棋局评估器对于这些可能的走法产生另外一个完全独立的评估,并得到相应的最优走法;在得到上面这两个相互独立的结果后,利用一定的权重将它们相组合,产生最终的最优走法。在谷歌发布的视频中,谷歌的工程师在接收采访时表示对三月份的比赛很有信心。他表示李世石是一名很强大的对手,但是人类与电脑相比也有其自身的弱点(还记得前面讲过的电脑发现的需要走500步以上才能取胜的国际象棋残局吗?)。在视频的最后,这位研发人员说:“李世石每年可以下多少盘棋作为练习?也许一千盘?Alphago可以下一百万盘……每天。”==========赛后更新==========3月9日,第一场比赛结束,Alphago 1:0 领先。各方反应:Deepmind的CEO Demis Hassabis发表了推文:“Alphago赢了!!!我们登月成功了。为我们的团队感到自豪!当然李世石也棒棒哒~~”李世石在赛后接受采访时说:“我很吃惊。我从来没有想过我会输……即使在落后的时候。我没想到它能下出这么精彩的棋……我听说Demis Hassabis将我视作值得尊敬的棋手。我同样也非常尊重制作出这个程序的人们。”最后,李世石表示他十分期待接下来的比赛。3月10日,第二场比赛结束,Alphago 2:0 领先。比赛的悬念由赛前的“Alphago是否能至少赢下一局”迅速变成了“李世石是否能至少赢下一局”。3月12日,第三场比赛结束,Alphago 3:0 领先。在2016年前,人们说:“围棋是一种极其复杂的游戏,它的变化比宇宙中的原子数还多,所以电脑是不可能赢过人类的。”在2016年之后,人们可能说:“围棋是一种极其复杂的游戏,它的变化比宇宙中的原子数还多,所以人类是不可能赢过电脑的。”3月13日,第四场比赛结束,李世石奋力扳回一局,Alphago 3:1 领先。今天李世石九段成功逆袭,战胜了Alphago!今天的比赛可谓是这场人机大战之中的莫斯科保卫战,打破了Alphago不可战胜的神话。==========分割线==========今天(3月9日)在微博上看到不少人说Alphago赢了李世石之后就会继续挑战击败了李世石的中国棋手柯洁。我认为这几乎肯定不会发生。如果Alphago真的在后面的比赛中击败了李世石,谷歌很有可能会对继续开发任何围棋程序彻底失去兴趣,因为他们已经在全世界的镁光灯下证明了自己的程序可以击败人类顶尖高手,也证明了自己的技术是全世界最牛逼的。卡斯帕罗夫1997年输给深蓝之后,曾经提出过要复赛,但IBM根本就没有兴趣。柯洁可能永远都没有机会了。
-写在前面的话:1. 本答所有内容,均经过答主深思熟虑,答主对文中的每一句话负责。2. 以答主专业水平之差,眼界之限,谬误在所难免,故本文仅具参考意义。3. 答主欢迎来自任何人的一切态度友善的正当指教。4. 本答不是科普文,而是写给特定人群看的,见谅。谨希望所有看下去的朋友明晰以上四点。-人机大战本身造成人与机器对立的天然属性,使其能吸引所有人的目光。但大家容易忽略的是,一切最核心的因素,归根结底都是人的因素。这里面重要的不仅仅是人与机器之间的关系,更是人与人之间的关系。这次的人机大战,很容易让身处漩涡中央的围棋界和人工智能界产生莫名的对立感。尽管理智的围棋人和AI研究者,都明白这技术进步的重大意义,部分人也明白一些可能的合作的重要性。但落到比赛本身上,产生对立的态度就在所难免。当然,包括答主在内的很多人,起初对待预测赛果的态度,不过只当个轻松的猜测,颇有笑看天地翻覆的见证感。可随着许多心态保守而态度激烈的相关从业者的不断发声,某些对立的存在感越来越强。而近来答主见到的几乎所有媒体的刻意推波助澜,进一步助长了公众眼中的这种对立感。随着某些可见对立在舆论中宣传度的升级,众多友好合作的声音渐渐被压了下去。不仅公众眼中只见大战之硝烟四起,漩涡中央人群也普遍感到了更大的压力感。很多受到媒体过当助推的激烈言辞,已经难言到底是傲慢与偏见,还是追求传播。答主私以为不妥。-三日后的大战本身极具“符号”意义,笔者且尽量抛开主观因素,讨论一下可能出现的各种赛果。以下我们先只讨论理论上的所有可能,不谈概率(毕竟没法判断概率),请大家尽量保持冷静客观的看待。李世石5:0 AlphaGo这大概说明AlphaGo在最近六个月内对高手棋谱的学习以及自对弈的学习过程中,没有取得突破性的大幅度进步。而李世石发挥正常,故在让先到让两子的水平差距下,李世石将AlphaGo横扫。李世石4:1 AlphaGo这种情况和第一种情况的差距其实极大,因为AlphaGo能否赢一盘是一个重要的标志。但这也有两种可能,一种是AlphaGo取得了不小的进步,已经有了接近一流职业棋手的水平,故而硬碰硬的从李世石手中抢下了一盘胜利。另一种可能是李世石在某一盘棋中出现了不可思议的失误,或者在连胜几盘后为了挑战自我或是试探AlphaGo的水平,采取了开局变相让子之类的冒险下法,而遭遇一败。后一种情况下,说明AlphaGo或者进步不大,或者有较小幅度的进步,但未能接近一流职业棋手的水平。李世石3:2/2:3 AlphaGo不论棋局过程如何,一旦出现了这等比分,基本就说明AlphaGo在六个月内取得了大幅度的进步,已经具有了和李世石这等顶尖棋手争胜的实力。对人和人之间的争棋来说,3:2和2:3决定了胜负方,区别极大。但对此次的人机争棋来说,两者其实没太大区别。如果出现了这种情况,那么任何人类棋手,哪怕是现在较之李世石更强的柯洁,在面对AlphaGo时也难言必胜。李世石1:4/0:5 AlphaGo如果李世石的发挥基本正常,没有受到极不正常突发事件的影响,那么这种比分说明AlphaGo已经达到或者超越了人类顶尖水平。老实说,这种水平可能已经距离“围棋上帝”不远了。-对于李世石,很多媒体都将之宣传为“世界第一人”,但准确的描述应该是“曾经的世界第一人”。(正当答主完成本答时,柯洁已在农心杯最后一局中战胜李世石,并将数月以来两人的交手战绩改写为8:2,一个放在旧时代十番棋里已将对手降级的比分)针对李世石二十年职业生涯中,所有世界比赛的成绩,以及与其他所有顶尖棋手的对比,我在一年前写过如下回答:因为是一年前的回答,故而不包括最近一个赛季的数据。但考虑到李世石最近一年来的水平、状态、成绩与棋坛地位与一年前相比,没有发生重大改变,故而以上文章的结论仍然适用于现在。-依据答主现在之见闻,围棋界与人工智能界对比赛结果的预判有着极大的分歧。答主个人浅见,这分歧的存在本身原属寻常,也算不上什么激烈的对抗。但是,一些朋友在坚持自己判断的情况下,还对与自己相反的意见加以嘲讽和鄙斥,就显得心胸略有不宽了,答主私以为这值得我们引以为鉴。围棋界中,大家的判断方差不大,没听说有人认为AlphaGo能够取胜甚至横扫李世石。大家判断的分歧主要在于AlphaGo是否能够取得一胜。正如李世石所言,AlphaGo赢和不赢是重大的分水岭,其只要赢下第一盘,可能就意味着人工智能在围棋盘上超越人类的时刻不远了。说一个八卦,围棋界内私下开盘,基本为李世石让4.5局开盘,同时设定李世石低赔率和AlphaGo高赔率。哪怕在这种情况下,据答主所知,大部分人仍然押李世石获胜,也就是说很多人认为AlphaGo赢哪怕一盘的概率连一半都不到。相对于此,答主个人的主观态度较为激进,认为AlphaGo赢得一盘的概率能够达到甚至超过五成。要说人工智能界的声音,答主所闻则要混乱一些。也有小部分人认为李世石将轻松获胜,但笔者听到的大部分声音都支持AlphaGo获胜,甚至还有一些声音认为前文所言的最后一种可能会出现,也即李世石一胜难求。来自这两个领域之外的声音,答主所闻则完全混乱,判断两方获胜的人数可能不相上下。-对此,答主谨谈一些个人主观看法。我们对赛果的判断,当成笑谈即可,没必要上纲上线。大家闹着玩玩能够增进友谊,争得脸红脖子粗则大可不必。毕竟三日后即将开赛,我们静候事实就是了。更何况,无论比赛本身被赋予的“符号”意义有多强,也只是一场比赛而已。不论哪方获胜,比分如何,更重要的都是我们未来的发展。无论是人工智能的发展,还是围棋的发展。有些人工智能领域的朋友嘲讽那些坚信李世石会获胜的朋友,认为他们不懂深度学习,分析棋谱也走入了歧路。这话有道理。还有一些人工智能专家认为这次AlphaGo没有用到很多围棋知识,而一定程度上接近通用机,并且理论上没有瓶颈或上限。这话一定程度上可能也没错。可是另一方面,这么说的朋友可能也不太懂围棋。深度学习神经网络加蒙特卡洛算法,本身从程序角度来说可能没有瓶颈,但围棋学习的规律本身是有瓶颈的。围棋的规则简单纯粹,虽为人类所定却浑然天成。规则已定之后,围棋盘上的规律就是客观存在的,不依人类的主观看法而转移。围棋的发展史,其实就是一部人类不断探索围棋本身规律的历史。人类围棋水平的进步,其实就是体现了人对围棋本身规律的掌握程度,而并不是什么“艺术创造”。而规律盘旋向上,到一定程度自然出现难点和瓶颈。虽然对人和机器来说,彼此间可能遇到的难点和瓶颈不一定完全相同。-这也引发了进一步的问题,AlphaGo所代表的人工智能围棋程序的意义。答主私以为,容易想到的意义有两层。一者,为通用机的意义。AlphaGo虽然不是纯粹的通用机,但和二十年前战胜人类的堪称傻大笨粗的国际象棋程序相比,简直不可同日而语。通用机对其他诸如医疗、社会安全以及自动驾驶等各种大小领域的意义,已经有很多专家进行了阐述,答主非此专业,不敢赘言。二者,为围棋工具的意义。一旦AlphaGo,或者其他的类似程序在将来超越人类,就意味着那个特定程序对于围棋客观规律的探索可能已经走在了人类的前面。当然,机器本身可以发现和遵循规律,总结提炼的工作却须人类来做。这样,特定的超级围棋程序就可能成为人类探索围棋规律的强大工具,而这对围棋发展的意义不言自明。这第二点,近来少有闻及。这意义虽然比不上第一点的意义那么影响广泛、深远,不那么现实和伟大,但也很有价值。答主很希望大家清楚这一点,无论你来自围棋界,还是人工智能界,或是其他旁观者。-不多谈通用意义,将讨论范畴缩回围棋领域。抛开这次人机大战的赛果讨论而从长远来看,人工智能围棋程序的发展前景无非两种可能:1. 超越人类,不管是这次就超越还是将来超越。2. 短期内遇到瓶颈而未能超越,并且长远的超越时间点因遥远而未知。从现在的形势来看,第一种可能的概率也许较大,但第二种可能性在理论上也一样存在。如果第一种可能在短期内发生,答主认为其不会对围棋及围棋界的发展造成毁灭性的影响。甚至,人工智能在围棋盘上超越人类,对围棋发展的影响很可能是正面居多,而负面较少。答主认为,这取决于我们对待此事的态度,以及将来处理问题的方式,对此答主先不做过多展开。正如有些顶尖棋手所言,也许我们应该重新思考“围棋是什么”。同时我们也需要认真思考,围棋的未来发展应该如何,我们对待围棋的态度应该如何,我们又应该如何在人力所能及的范围内对发展进行导向。-我们正在见证历史,但历史不是一个个节点,而是连绵不绝的。历史也不是完全自动向前移动的,而是要由我们推动和导向的。我们不是观众,而是主人公。-注:本答首发于答主在雷锋网的个人专栏,转载须经授权。
根据David Silver刚刚在UCL最新演讲,三月对战版本的alphago棋力已经到了4500左右,远超人类职业九段!下面是与lee sedol对战的每局alphago的局势评估,alphago有两个胜率的评估,上面浅色那条是alpha更相信的胜率:
我赌AlphaGo赢Google是市值第一或第二的大公司,这样在全世界面前大张旗鼓地约战,肯定是经过周密的评估,如果输得很惨,公司的威望和魅力就大打折扣。肯定用其他高段职业棋手测试过了,赢不了会继续改进,直到觉得有赢面才会公开约战,要不然不成莽夫了。樊麾就是测试用户之一,肯定不止这一个测试用户。围棋是个规则、范围、目的很明确的一个求解问题,这方面根本就不是人的智力长处。计算机的计算、记忆以及其他棋类等能力超过人,是很平常的事,围棋也没看出有质的区别。AI下围棋击败人类是定数,只是时间点的问题。顶尖高手总是能赢,就说明围棋有规律,就可以形成算法和数据库,只要规律被认识,人脑在强大计算能力的计算机面前就不堪一击。既然AI赢人类只是时间的问题,至于这个时间是多长?有人说两年内都没戏,有人说20年,这都没有依据,都不了解AlphaGa的具体情况。我猜会很快,理由如下:二段与九段职业棋手间的差距从人的视角来看很大,但与机器相比,这种差异是微乎其微的。比如百米赛跑11秒是渣,9.8秒是冠军,但机器的能力能跑到12秒,很快就能跑到6秒,跨度是很大的。Alphago不是人下围棋的方法下围棋和增进棋艺,而是另外一套方法,这套方法的瓶颈和增长速度与人类有原理性区别。去年赢樊麾离3月有5个月的时间,算法可以做很多改进,而且在正式比赛时会调整参数,使用强大的集群去加强100倍以上的计算能力。AlphaGo的棋力正好落在樊麾和李世石这个狭小的区间的可能性是很小的。----------------------------------------------------3月9日更新:第一局已赢。围棋专业人士觉得李世石前面有一定优势,后面没下好,AlphaGo也有失误,觉得输得遗憾。不过,AlphaGo既然不是人,对它的判断未必准确,人类下围棋有定式,思维定势,AlphaGo的失误未必是失误,它算的是概率。接下来更看好AlphaGo赢。其实这件事也没什么,影响主要在于大家的心里,对人类智能是灵性、灵感、神秘、独一无二的想法会有动摇吧。人是自然的产物,智能也只是自然法则的结果而已,任何遵循规律的事物都能拥有智能,人和机器没有不可逾越的区别,人也不可能是智能的尽头。
立个FLAG,能战胜。虽然AlphaGO和樊麾比赛的时候,棋力是弱职业选手水平,但已经证明这条路走对了(更重要的是,终于有大公司投钱搞围棋AI了),接下来提高水平只是时间问题。打个比方,好比汽车刚发明的时候,时速大约是30公里(可能不精确,不影响论证),百米12秒的水平。假设当时人类的顶尖水平是百米10秒多。12秒和10秒,在百米赛跑界,比围棋界李世石和樊麾的水平差距还大。但是汽车的原理,已经决定了它将来必然能通过逐步改良,提速到200码甚至更高。从百米12秒提高到百米10秒,对人类来说已经是天堑,但对汽车来说从30码提升到40码并没有什么不可克服的障碍,并且会很快继续提升到50码、60码……汽车提速的瓶颈和人类并不一样。虽然从去年10月到今年3月,AlphaGO是否已经进步了足够多能够战胜李世石,我也没有100%的把握,但这不重要。是今年3月超过,还是再过几个月超过,长期来看无关紧要,重要的是在不远的将来,AI和人类围棋水平的差距,必将达到赛跑水平的差距。所以我这次先大胆投给AlphaGO了。附一个我2014年立的FLAG,当时大家对围棋AI的前景还很悲观:
已经赢了好吧!李世石:打的不错!AlphaGo:机器,永不为奴!
这篇文章更详细的分析了AI的“本质弱点”比以前的AI强了很多,没有明显莫名其妙、脱离主战场的棋。但从5张棋谱来看,仍然有欠稳定、不连贯的地方。以第5局如下局面来举例:右边白棋没有净活,还欠一手棋。白棋判定本身劫才占优,可以暂时脱先不管右边白棋没有净活,还欠一手棋。白棋判定本身劫才占优,可以暂时脱先不管白棋选择打吃黑一子,当然价值也不算小白棋选择打吃黑一子,当然价值也不算小黑棋脱先打吃白棋右边一子,考验白棋死活黑棋脱先打吃白棋右边一子,考验白棋死活此时无论如何白棋都应该打劫撑住,但AlphaGo下出令人瞠目结舌的一步——仓皇逃出一段小尾巴,丢盔弃甲。黑棋如S9将7子笑纳,不仅目数大,而且外围断点自动消失,中腹变得铁厚。此时无论如何白棋都应该打劫撑住,但AlphaGo下出令人瞠目结舌的一步——仓皇逃出一段小尾巴,丢盔弃甲。黑棋如S9将7子笑纳,不仅目数大,而且外围断点自动消失,中腹变得铁厚。但黑棋也短路,不知为何脱离主战场跑去左下应了一手,导致白棋从中央突围而出,黑棋中腹厚势潜力顿时烟消云散。白棋由于黑棋失误因祸得福,但作战思路明显是前后不一致的。但黑棋也短路,不知为何脱离主战场跑去左下应了一手,导致白棋从中央突围而出,黑棋中腹厚势潜力顿时烟消云散。白棋由于黑棋失误因祸得福,但作战思路明显是前后不一致的。之后黑棋尝试强杀白棋大龙,但因为外围弱点太多,只能眼睁睁看着白大龙扬长而去之后黑棋尝试强杀白棋大龙,但因为外围弱点太多,只能眼睁睁看着白大龙扬长而去人类顶尖高手也会出现这类失误,但主要是心理状态而非技术原因。而对AI来说,恐怕预示算法尚有缺陷,也就是我说的技术层面欠稳定、不连贯。如果对阵李世石出现这样的败着,很可能就无法翻身了。
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 这一步校园招聘网 的文章

 

随机推荐