2016年3月9日,谷歌围棋人工智能程序AlphaGo在和人类顶级棋手李世石五盘大战的第一局中,执白186手中盘胜。这个结果出乎了绝大多数职业棋手和围棋迷的预料。机器的胜利会有很大的社会影响,不过本文将主要从技术层面解读AlphaGo的独特的行棋风格与判断。
棋坛与传媒对这局比赛的关注绝对是史无前例的,中国就有十多家媒体与网站进行了实时转播评论。有职业棋手开玩笑说,自己从来没有这么抢手过。我之前写文章分析了AlphaGo的算法缺陷,之前它对樊麾的几盘棋中确实表现出来了,这次在第一局观战过程中,就准备根据众多职业其手的分析,看它如何犯错的。相信这也是很多围观的职业棋手们乐于进行的。另一方面,职业棋手们也是会犯错的,甚至顶尖职业棋手也经常会犯,只是人类对手又犯错送回来了,真正意义上的完胜谱很少。所以之前我也认为AlphaGo有胜机。
从本局来看确实如此,AlphaGo下了一些职业棋手们认为有问题的着法。这些有疑问的着法,有些招是电脑胜定后的着法,可以认为电脑没有下出“最狠”的手段,但不影响胜利,不能用来说明电脑的水平。还有很多招法就真正是让职业棋手们难以认同,甚至大加批评的。
李世石开局发挥不好,选择有问题。柯洁指出,这是李世石棋艺的弱点,布局阶段的判断有问题,所以自己和李世石下有信心。中间李世石利用AlphaGo的失误,扳回了形势。但后面又有明显失误,按一些职业棋手的判断,是将胜局送给了机器。但在压力之下,李世石出现这些失误也属于正常,并不能说是发挥特别不好。这些不算这盘棋最大的看点。
在我看来非常有趣的是,AlphaGo有不少招数的选择非常独特,对局面的判断更是与职业棋手们很不相同。对于AlphaGo的招法好坏,职业棋手们也时常有分歧。这种判断分歧,在人类职业棋手互相对局时也有发生,但不太常见,因为人类棋手思维还是比较相通的。这万众瞩目的第一局,AlphaGo就引发了职业棋手们非常不同的判断,分歧之多可以说前所未有。
从棋局进程来看,周睿羊和李喆认为,通盘李世石都没有明显的胜机。而古力、俞斌、江维杰等人却在对局中作出了非常乐观的判断,认为黑优势明显,甚至盘算起电脑有没有认输机制(实际是有,如果电脑蒙特卡洛模拟胜率过低会选择认输)。但局后又说不清楚到底李世石哪手是败招。
在公认的棋局转折点,AlphaGo的102手打入右边黑阵之后,职业棋手们简直象蒙了一样,判断非常异常。从结果看,等于白打入黑空,先手吃掉了黑三个子,又回到了左上角的三三守住了一大片空。这时不少职业棋手们已经意识到AIphaGo领先了,之前的判断错了。后来李世石在右下角让白活了6目,这个选择是明显的错误。但即使选择正确,也不足以获胜。
下面用一些参考图来说明关键时刻AlphaGo的失误,及其和职业棋手们不同的推理过程与独特判断。
李世石有所准备,开局猜先正确有了选择权,却仍然选了职业棋手们一般认为贴目过多的黑棋。李世石开局R8这招是新手,也许是想导入AlphaGo“没有见过”的局面。而AlphaGo第10手的托退,就不合职业棋手的口味。24、26这两手棋,显示了AlphaGo的实力,确实不好应付,获得了棋手们的赞许。李世石强硬地27位挡住,可能是一个选择错误,导致了他开局不利。
48手是古力、俞斌等人都指出来的AlphaGo的问题手,甚至在职业棋手眼中是低级错误。这手和黑49手交换,黑是活棋,而且损害了白右上大龙的眼位,将来会导致在中间的战斗中白失去主动。职业棋手一般会保留48手这手不走。
让我们试着去理解,为什么AlphaGo会下这招?首先,这步立从“棋形”的角度来说,是个感觉不错的招法,职业业余的都会注意到,实战中经常下出来。AlphaGo的策略网络显然会把它提出来作为候选点。这招加固了白的左上阵地,还威胁了黑中上一块,黑应对不善是要死棋的。即使黑应对正确,白也可以搜刮让这块棋“两眼苦活”。所以这招在AlphaGo的价值网络与蒙特卡洛树形搜索(MCTS)的推理系统中,会有不错的评分。而坏处,是对白右上大龙眼位有损失。这是一个比较长远的损失,黑攻击这块棋出成果,肯定是几十手以后的事了。这种推理手数太长,可能超过了它的搜索能力。这招棋有点类似于AlphaGo对樊麾第三局中,第60手捣乱不成功还损了眼的那个错招。这可能说明,在与樊麾对局五个月后,AlphaGo的搜索框架仍然不能实现“保留变化”这类较为高级的围棋概念,缺陷仍然存在。
上图是AlphaGo被质疑最多的一串下法。白58手跨断,然后上面交换几手,下面连着推下去,被李世石77手罩吃掉“棋筋”。许多看棋的职业棋手与棋迷到这松了一口气,觉得AlphaGo犯下了大错,黑明显优势了。但是从后来的结果看,这可能是一个错觉,黑的优势没有多大,甚至有没有优势都是个问题。
如果按AlphaGo的算法框架去理解,它是没有什么“棋筋”之类的概念的,从来都是进行全局评估,MCTS模拟还会下到终局去,可能会观察到一些更深的东西,虽然不一定严谨。我认为AlphaGo这里的选择是有道理的,它放弃了中间两子,看似得到的不多,在人的感觉里,白右边中间那一排是厚势还是孤棋都不好说。它在MCTS模拟中,应该是发现了黑右边阵势的弱点,如后来R5的挂、R10的打入。它不是看到了就罢,而是真的会模拟下完,于是可能发现在很多模拟结果中,黑右边阵势被破得很惨。所以,它和很多职业棋手的判断不同,先让黑棋“爽”了不少手,把招数留在了以后。
第80手又是古力等不少职业棋手指出的AlphaGo的问题手。这手感觉上比较缓,只是吃掉了H14和J14二子,但是F17和左上角仍然没有护住。黑81手双飞燕下出后,整个左下角黑棋显得气势如虹,不少职业棋手们和棋迷认为这时黑优势非常大了。
但这又是一个价值判断的问题。AlphaGo会将80、81这些着手作为可能的候选提出,却不会先天地认为某一手就更厉害,还是会用搜索来验证哪招胜率更高。如果白不下80,黑显然会在这里动出,确实味道不太好,全盘一块大的基本空都没有,不少模拟分支中直接就崩盘了,AlphaGo模拟会认为这里最危险。而黑81看上去阵势很可怕,但白星位一子总是不会被吃,有各种复杂的办法来谋活(后来确实先手活了不小的一块)。职业棋手对于阵势的判断往往有问题,不能仅凭感觉。
2015年12月9日,三星杯决赛柯洁执白对时越
类似的一个局面是刚刚过去的三星杯决赛,如上图这个局面。职业棋手们普遍看好时越的黑棋,认为黑右上角阵势庞大。但这只是一种感觉,实际并不靠谱。当柯洁138手挂入后,没几手就发现,黑居然拿白没有什么办法,局势完全颠倒,黑已经必败了。
这是局面转折的焦点,白102手打入。这手之前,职业棋手们一片乐观,黑左下那块空感觉很大。从最后的结果来看,这个胜负手取得了超乎想象的成功。黑拿这手没办法,右上三子先手被吃,白补了C17左上全姓了白。而黑却没有对左下R5那个白子攻出什么东西,等于什么都没捞到,就此告负。职业棋手们在这个过程中,或早或晚发现“不对劲”。但到底李世石哪手是败着也没有说清楚。有说是对102应得不对的,有说是右下角应该R4尖顶的。也有说是左下角让白先手活不对的。
总体来说,AlphaGo的算法设计者中没有职业棋手,对围棋的理解肯定不够深,但是他们对于人工智能与围棋算法的理解非常的深。在MCTS、深度学习、价值网络三大革命技术支持下,AlphaGo形成了与职业棋手们非常不同的行棋风格。不是说AlphaGo下得多么的天衣无缝,职业棋手们已经提出不少质疑。但是,也不能说AlphaGo就犯了什么简单的错误。这种错并不是很容易在数手之内,或者摆一个简单变化图就说它错了,简单算路的错它绝对不会犯。最根本的一点,AlphaGo的判断与职业棋手们非常不同。它有一套自己的“价值观”,不是没有根据的,后面有价值网络以及几百万个搜索局面支持,并不能简单地就说它的判断是错误的。如果职业棋手们粗粗一看,不仔细考虑,可能就会迅速作出结论,说AlphaGo错了。但细细品味后,也会有职业棋手判断不同。
从第一局来看,AlphaGo对人类并没有压倒性的技术优势,不是说从头到尾让人没有机会。本局李世石的失利,也确实有他发挥不佳的原因。但是,AlphaGo已经可以说是一位有着独特围棋哲学与风格的顶级棋手,有着强大的战斗力。职业棋手们应该放下成见,用心去品味领会它的行棋逻辑,不要过于快速地作出经验性的判断。
职业棋手们注意到了自己这个群体的不稳定,说精力不集中会出错,会给机器可乘之机,但对于现代围棋的局面判断之类的“艺术”似乎还比较有信心。应该说,从艺术角度确实如此。但是,AlphaGo的独特风格与价值判断,也应该得到尊重。不能简单地说AlphaGo想得和人不一样,就是有问题。
预计接下来四局中,李世石总结经验发挥水平,还是有机会赢回2-3局的。AlphaGo显然也是有弱点的,只是风格比较独特,弱点不像人想象的那样。
点击下载【新浪体育客户端】,赛事视频直播尽在掌握 |
已收藏!
您可通过新浪首页(www.sina.com.cn)顶部 “我的收藏”, 查看所有收藏过的文章。
知道了