2016年3月13日 星期日

李喆:这两盘棋 没人会比李世石做得更好!【人工智能】

李喆:这两盘棋 没人会比李世石做得更好!

李喆,围棋职业六段棋手,龙星战冠军,AlphaGo与李世石九段比赛,新浪直播解说嘉宾。
引言  
  我不知道这篇文章要怎么开头。
  没有言语能够形容我现在的心情。
  19年前,围棋入门课,用十个棋子在中腹摆出两眼活棋。
  4年前,挥别围棋赛场,进了大学。
  怎么也想不到,在今天,竟然会为了一张棋谱,我哭了。
  哭得很开心。
  我不知道这世界上还有几人与我此时有同样的感受。或许有,绝不会多。
  我不奢求读到此文的人都能理解我在说什么。
  但是,我要把我看到的记下来。
  不是纪念,而是感激。
  我发现,在情绪中,我只能记录下我的情绪,却无法写出这情绪的由来。虽然我自认为清楚地知道它的由来。
  写一篇抒情的文章很容易,但没有什么太大的价值。我看到的东西,这似乎应该用“美”来表示的这种东西,难以抽象成语言将它描绘。于是,我只好等到情绪消退,从理性出发,试着把因果呈现。
  这样,会有更多人享受到这种美吗?
  我不知道。
  或许可以试试。
  深夜。终于可以动笔。
2016年3月10日,AlphaGo对阵李世石,人机大战第二局。
  对于这盘棋,虽然分歧远小于上一盘,但职业棋手之间仍然有许多互不相同的看法。
  或许随着时间的前行,这些看法最终会汇流为一。但在今天,在故事发生的当下,面对经验以外的事情,人类观点的多元无法避免。我的观点同样也是这多元中的一元,正是人类思想的多元性丰富了我们的世界。
  在敲完上面这一串字之后,我原本准备神游到中午的状态,从头梳理一遍我的所见所思,将我看到的那无法用语言直接描述的感受的由来渐次呈现。
  然而,事实教育我们不要在写文章的时候刷微信微博新闻朋友圈……
  一个小时之后,我不得不再次改变写法。
  这两盘棋 ,没人会比李世石做得更好!
  是的,这就是我文章的标题。
  我知道我说服不了所有人。这样的标题也不是我一向的风格。
  但是,在铺天盖地的对李世石的质疑声中,我必须把我看到的讲出来。
  因为,我不相信这些质疑是出于恶意。我只能理解为有些我看到了的东西人们没有看到。每个人的认知体系不同,对待事物的态度也不尽相同,对此倒没什么好指责的。
  在小说《冰与火之歌》之中,有一场“黑水河之战”。守方的指挥者是一个侏儒,用尽了各种策略,最后亲上战场被割掉了鼻子,终于抵挡住了对方的进攻,拯救了那座城市。但在战争结束后,他被解除了职位,甚至成为阶下囚。他所做的一切,人们并没有看到。
《冰与火之歌》电影截图
  没有关系,我把我看到的东西讲出来。
  我只希望,读者能耐心看完这一章,再做判断。
  在阅读本章之前,建议先读昨天那篇“【火线速递】——李世石的策略与AlphaGo的弱点”,会帮助理解此文。
  0.莫须有的“协议禁劫”
  这一节是本文最没有价值的部分,也是我最不想写的部分。谣言自破,本不需我来回应。但一方面我对谣言扩散到圈外而感到羞愧,另一方面也能帮助大家稍微理解AlphaGo的算法。
  关于“协议禁劫”的质疑大概来自“AlphaGo七盘棋都没出现劫争”这一说法。
  或许DeepMind会官方回应此事,或许在接下来的对局谣言自散。
  但不需要这些证明,难道我们就不能分辨了吗?
  由弱到强,我先给出三个回应。
  1,懂围棋的朋友,你真的相信李世石作为一名世界顶级棋士在代表人类出战的历史时刻会签这样的协议?不懂围棋的朋友,你真的相信谷歌团队会签这种改变围棋玩法的协议?
  2,AlphaGo的算法决定了他在不打劫就能获胜的条件下会尽量避免劫争,因为优势下的劫争增加了搜索的不确定性,常常会使他对胜率的估计降低。这也是我在上一篇里谈到的逃避劫争问题的本质。但是,非胜不可的劫,电脑必然会打。可逻辑推断或参考第3条。
  3,难道不能去看一眼去年10月AlphaGo对樊麾的棋谱吗?第三局、第五局,都出现了劫争。其中第三局马上消劫形成转换;第五局劫争过程持续18手,亦形成转换。
  在围棋受到空前关注的时刻,我认为圈内人有辟谣的义务,不助长谣言则是底线。
  1.AlphaGo算法的关键特点
  很多人说发现了AlghaGo的很多失误,不能理解这么弱的一个AI怎么能赢李世石,所以blablabla……
  如果你看过上一篇分析仍然这么认为,那可能是我没有讲清楚。绝大多数对AlphaGo实力的错误估计,都是因为对AlphaGo算法原理的不了解。
  强调一下:
  AlphaGo的算法决定其落子的决策基于“胜率”而不是“最优”!
  所有质疑AI失误的同学请记住这一点。
  这也是这篇文章整个分析的逻辑起点。
  这意味着,我们人类所谓的“失误”对于”AI“而言很可能不是失误。
  2.第一局李世石在做什么?
  第一局下完,有棋手提出”李世石心态不对,太过急躁,电脑计算力肯定强,应该慢慢下跟它拼形势判断,它的判断力肯定不行”。
  说得好。李世石第二局就是这么做的。
  只是,在第一局之前,几乎没有人认为李世石的乱战能力会不如电脑。
  在上一篇中,我谈到在赛前对AlphaGo算法的分析认为,它在面对“开放性复杂局面”的时候可能会变弱,因为深度学习加蒙特卡洛的剪枝和搜索在面对开放式复杂局面时可能会变得失效。
  第一局,李世石上来先试探了无谱布局(你说李世石没用什么策略?好吧),然后马上导入开放式复杂局面,呈现出六七块棋纵横交错的场景。
  结果,第一策略失败。起码下到中盘收兵为止,赛后职业棋手基本上都认为李世石亏损。
  如果是我在场上,或许也会在第一盘选择这样的第一策略,但我只会考虑一盘棋试一个策略,毕竟有五盘棋的空间。
  然而,李世石在中盘及时收手,第77、79手主动停战转向收空,导入细棋局面。
  他在第一盘竟然试探了两个策略!
  那么,你可能会问,如果李世石原本形势不利,怎么能导向细棋甚至反而领先呢?那不是说明AI出现了足以颠倒胜负的错误吗?
在昨天,对此问题我还不能完全肯定地回答,但在今天我可以确认:
  第一局所谓李世石的领先和细棋都是人类经验带来的错觉!从开局战斗到最后结束,一直是AlphaGo优势!
  这一判断也符合AlphaGo自己的胜率走势。
  在上一篇,我提出AlphaGo对局面的判断是基于一手对方没有算到的严厉手段(102),我们认为它在左上的缓手(80)和左下的恶手(86),确实并不肯定好,但在AI看来却是最接近胜利的选择。观战棋手认为左下之后黑棋已经逆转甚至大胜,是由于
  1) “左下白棋大亏”
  2)对第102手没有充分的准备。
  3)人类的傲慢自负。
  然而,
  1)是一个依靠经验的局部判断,并不具有能构成证明的准确性;
  2)AlphaGo的局面判断基于有102这一手;
  3)人类的情绪降低了判断能力。
  102手一出,李世石长考无果,局部大亏。然而,这个大亏根本就在AlphaGo的判断之中,对它而言,这只是搜索树中可能出现的一个分支。
  至于很多人认为后面黑右下走好还能收——确实是能收,但恐怕不能赢了。当然,跟我下或许你能赢,但对AlphaGo不行,这是从AlphaGo的算法和下法的逻辑推出来的。当然,这个结论的得出依赖于AlphaGo在对阵人类时这套方法不会出现问题。基于这两天它这套方法在对人类时还没有出现任何问题(关于失误问题请看上一章或上一篇),我只能极大程度地相信它。这个信念只有在AlphaGo这套方法在对阵人类出现问题而败北时才会动摇,才会需要去寻找它的问题在哪里,以及人类能够怎么去利用。
  有趣或者说可怕的是,对于人类而言无比闪耀的”胜负手”102,包含了如此多的计算、判断和预谋,对于AI而言却只是它这一局平凡的93手棋中平凡的一手。
  这样的话,李世石的第二策略起到什么作用了呢?
  非常大的作用。对于第一局的80和86手,我们在经验上认为它们可能是不好的棋,但无法严格证明。但对于后面的136手和142手,我们可以严格证明它们肯定劣于另一个选点。这使我们确认了AI的一个弱点,即“缺乏逻辑能力”(见上一篇)。如果再补充一条,可以认为“缺乏局部封闭搜索能力”(这一条是否算弱点可讨论)。
  因为逻辑能力的缺乏,导致AI有时会出现人类看来明显的失误。
  但我们认为的不可理解的失误,只是在它看来不会降低胜率的选择。确实,我们可以指出他的一些基于逻辑的可证明的局部亏损,比如无谓的绝对先手交换,比如目数的白白亏损。在对第一盘的总结中,我认为这可能会是电脑的一个弱点(对AI而言不是失误),即“缺乏逻辑”而导致的局部小损,而这可能是人类仅有的两个突破口之一。AI在优势时会在局部有所退让以确保胜利,在均势时如果也退让岂不是人类就有了领先机会?因此我提出:
  1,我最期待的策略是,李世石按照人类研究很深的套路开局,因为AI并不会背套路。即使不能凭此占优势,也要尽可能保持局面的均势。在这个条件下,AI或许会在一些简单的局部因逻辑缺失而有所亏损,人类牢牢把握住这些微小的利益,最终取得小胜。不过,这似乎并不是李世石常用的风格。
  这是第一局之后我分析认为针对电脑弱点的最优策略。
  3.第二局李世石在做什么?
  如果是你,在第一局的下法失败之后,第二局你会怎么下?
  我的想法是,通过第一局我意识到AI的强大可能超乎之前的想象,在我认为他最可能失败的地方他居然成功了,但好在我也看到了他可能的弱点。我根据它最可能的弱点制定了一套新的策略,然后严格按照这一策略执行。
  这是因为,我发现可针对AI弱点执行的策略并不多,而第一局我使用两个策略失败了。我可能需要更专注于一个策略的执行,毕竟后面还有三盘的空间。这是我在第一局后会做出的决定。
  或许有人会问:”瞧你说得这么玄乎,你又不是李世石,他又没说,你怎么证其有?”
  是的,我不能证其有。即使他说了也不能完全证其有。我只是用棋谱信息加上AI算法来做的合理推测。当然,李世石有可能并没有制定什么第几策略。如果是这样的话,他就太天才了——别人用知识和推理达到的方案,他仅凭意识就做到了。
  前面说了这么多,总还得用棋谱说话嘛。那么让我们看看第二局到底发生了什么。
  我个人认为,对于这一局,传统的棋评解说意义已经不大了。
  先看第13手。右下先虎之后脱先中国流,这又是“职业棋谱中从未出现过的布局”。看到这一步,李世石站起来,出去抽了根烟。
  下面请允许我趁李世石出去抽烟时暂时代入他来思考。(画风突变如有不适请勿见怪)。
  此局我下决心执行一个策略,这个策略是针对AI弱点的攻击。这个策略简单说是:”熟练开局,争优保平。细微局面,等待失误。“(原因在前面讲得很清楚了)
  于是我开局选择了最普通的布局应对。白方这一布局在历史上经久不衰,没有千局也有几百局实战了(感兴趣可以去搜一下)。经过昨天试探,AI不会背谱,人类整体的经验很可能是最有力的,我要尽可能导入到熟悉的套路中。
  下到12手,我心里还有一点兴奋:这个布局我是见得多了,白棋总是不亏的。
  然后,看到对方落下黑13。
  纳尼?
  定式不下完?
  这还能脱先?
  我勒个去,AI你不会是知道我在想什么,跟我玩心理战吧?
  啥时候通过图灵测试的?
  好吧让我想想。你定式不下玩就脱先我得制裁你啊,夹击如何?
我拆1,你拆2,我攻3,你抢4……这棋失控了啊,这局面没人下过啊?
  我这棋好不好呢?下边会攻成什么样?是否足以抵消黑上边阵势?
  以下省略几十个脑海中飞速出现的变化图……
  判断不清,好像没啥把握。
  怎么办?策略就这么被破了?
  有了!我就当右下黑棋没交换虎那一下不就行了!
  咱谱着该走哪还走哪,机器你能怎么着?
  哈,我咋这么机智呢?
  AlphaGo你有我这么机智吗?
  一盒烟正好抽完,李世石回到了座位上,落下第14手。
这是右下没有虎和拆一交换时最常见的下法,也不知有几百盘。而且这时黑棋虎白棋也多半会拆一。
  好了,这个小故事告一段落。我并不是说这就一定是李世石的心理过程,而是说,如果是我,我会这么做。
  这盘棋技术上无与伦比的精彩我想留到第二部分再谈,那里有更加精彩的新世界,但在这里暂时先略过。
  再简单回应一下所有认为李世石后来84、146、172这三手棋没选择打劫有问题的观点。
  1)认为李世石不选择打劫是因为签了协议的人。
  您好,再见。
  2)认为李世石不选择打劫实在太怂了的人:
  如果你看完前面的分析还这么认为,那请回答:打劫能赢?
  当然,你可以说84托虎明显优于实战,146应该夹进去才能争胜,172不冲不足以平民愤……
  那句话怎么说来着……你以为你以为的就是你以为的吗?(这句话用来看人和AI真是金句了)
  对AI来说,气势是什么?血性是什么?胜负感是什么?
  AI只看:胜率是什么。
  的确,我这不也是我以为的?
  好吧,请告诉我托虎做劫在当时为什么比实战好,后两处哪一处你认为会对胜负产生影响?给一个有效辩护吧,不要摆几步说个看不清就赢了。
  在我看来,这盘棋李世石完整地贯彻了他的策略。
  可惜的是仍然并未取胜。原本预计在熟练的布局套路下能在前半盘占优或持平,然后在后半盘等待AI因逻辑缺失而造成的局部小亏损。然而,在形势接近的情况下,电脑的局部“失误”变得比第一局更小、更难确认(比如15、117等先手不保留)。
  这可能是一件非常可怕的事情。它告诉我们,在形势接近的情况下,AI的“失误”也会变少,甚至消失(不被人发现)。AlphaGo形势越好,他的”失误”可能越多。我们基于这些”失误“对它进行棋力的判断,只会造成对它无止尽的误解。
  还是把上一篇文章的结语在这里引用一下:
  如果我们只用人类思考围棋的方式来理解AlphaGo,或许我们将永远都不知道是怎么输的。
  读到这里,相信大家对AlphaGo有了更直观的认识。
  或许有人会想到这一点:这么看来,AlphaGo岂不是遇强更强?
  的确是!
  它的目标只有赢,不求最优。
  在对手弱的情况下,它可能选择的类似胜算的点就更多。
  在对手强的情况下,它可能选择的类似胜算的点就更少。
  后者,意味着更精确,意味着在人类思维的意义上更少失误。
  那么,AlphaGo的极限在哪里?我不知道。
  但我认为AlphaGo饶天下一先是指日可待的事情。
  虽然我赛前和现在都无比希望李世石能获胜,因为人机相持的时间越长,可供围棋界反思的时间就越长。
  但是,理智告诉我,AI真的绝尘而去了。
  让我们回顾一下老罗的这段话:
  “人工智能就像一列火车,它临近时你听到了轰隆隆的声音,你在不断期待着它的到来。他终于到了,一闪而过,随后便远远地把你抛在身后。”
  围棋AI,是这段话最好的注脚。
  看完第二盘之后所有认为AlphaGo 只是后半盘强的人,如果你能理解前面提到的知识和逻辑,那你也应该能理解这一点:
  是李世石的强大逼出了AlphGo的后半盘。
  为什么第一盘AI的后半盘”失误“更多?因为”失误”时AI已经胜定。
  第二局赛后的采访中,Demis Hassabis表示程序中间一度认为形势接近(根据胜率显示),而李世石表示自己是完败。
  如果说第一局李世石输棋之后还有曾经领先的错觉,这一局他自己则完全没有了错觉。即使在棋界几乎公认为AlphaGo明显亏损的左下角定型之后,李世石都不觉得自己有过任何优势。正是这种正确(保守?)的认识加上前半盘相对熟练的格局,使得AlphaGo一度认为局势接近(很好奇AlphaGo有没有认为自己落后过)。这也激发出AlphaGo强劲的后半盘,在对阵世界顶尖棋士时,仅仅通过收官就将胜负差距扩大到盘面十多目。
  对于这件事情的夸张程度,棋手们能否正视?人类面对不能理解的事物,总是用固有的知识体系来理解。但是,新时代真的来了。
  4.李世石,直面AI的围棋英雄
  读到这里,我希望有一部分人能够理解在李世石和AlphaGo之间究竟发生了什么。
  这一节,我是对你们说的。
  从古至今,我们从来不知道在围棋技术的浩瀚空间里,人类到底站在了什么位置。是离天只有三尺远?还是仍然站在地平线?
  如果把穷尽看作天,把入门看作地,人类今天对围棋的认识究竟在什么层级?
  藤泽秀行先生曾说:”围棋,我只知百分之五”。相信包括我在内的绝大部分棋手,都曾认为这是谦辞。往正面解,是敬畏心;往负面解,不知是什么心。
  真的是谦辞吗?
  纵向看不清,横向比较一下总可以吧。其他有职业体系的棋类项目,变化比围棋少很多,未知的东西少很多,那么其职业选手是不是很可能相比我们在各自体系中站在更高的层级?
  可是,他们都早已接受了AI的层级在人类之上这一事实。
  诚然,在不短的时间里围棋是仅存的硕果,围棋选手看着用机器训练的同事们,发出”围棋永不会被机器打败”的豪言,似乎在捍卫着什么了不得的东西。
  并不是我想要戳破这种幻象,而是事实摆在眼前,不由你不信。
  国际象棋遭遇深蓝挑战时,人机之间还相持了一段时间。直到今天,在国象和象棋,虽然人不能战胜AI,守和还是可能的。一方面AI的技术层级可能并没有比人类高出太多,另一方面和棋的空间是一个很大的缓冲带。
  围棋呢?确实围棋更难于被AI攻破,可是一旦攻破,会有多少高出人类的空间?围棋AI离天还有多远?人类棋手离天又有多远?没人能给出准确的回答。
  如果没有围棋AI,我们将永远不知道自己在围棋的天地之间究竟处于什么位置。
  围棋AI是我们唯一的参照者。
  虽然在围棋被穷尽之前我们仍然不能准确地定位自己究竟处在什么位置,但是,
  我们不再孤独。
  多年以后,围棋书上将会如何讲述这次李世石代表人类围棋最高水平与新生AI对决时做出的种种努力,又将会如何评价面对忽然之间凌驾于人类之上的围棋AI时李世石的表现,我并不能肯定。
  我只是希望在这个连李世石的职业精神都会受到质疑的时代里,把我看到的事情告诉大家。是不是真相,请自行判断。
  “李世石面对AlphaGo,并未因五个月之前的棋谱而有丝毫轻视,他做了非常充分的准备。他抛开人类的偏见和自负,试图理解AlphaGo运算的机理,并找出其中可能存在的弱点。在比赛伊始,他就对AlphaGo可能存在的弱点进行了直指要害的攻击,并且在失败后迅速调整,继而展开了第二次、第三次针对性攻击。正是他的策略针对性,使人们更好地理解了AlphaGo的强度和特点,以及不同于人类的决策模式。他在第二局中就已经找到了足以在中盘接近甚至抗衡AlphaGo的布局策略,使人类第一次见识到AlphaGo梦幻般的后半盘。”
  ——这是我对李世石在人机大战前两局表现的评价。
  从这两盘来看,我不认为这个世界上还有哪一个人能够代替李世石将这件事做得更好。
  写到这里,天已经亮了。
  但是故事还远没有结束。
  5.在后三盘可以做什么
  第二盘之后,我在上一篇文章中推测得出的最优策略已经被AI强大的实力证明难以取胜。虽然这一策略在最大限度上利用了人类集体的经验,从而能够在中盘取得接近的局势,但在这种情况下AlphaGo的后半盘不是限时人类所能抵挡的。那些认为李世石发挥太差、自己上去可以不失误的选手,既低估了人性的弱点,又低估了AlphaGo的实力。
  昨天给出的次优策略则是关于劫争:
  2,另一个策略是在局面选择中尽可能制造劫争,即制造对方不开劫就不利的局面。当然,AlphaGo目前没展现出复杂劫争的能力并不能证明它没有这种能力,因此这种策略是存在风险的,太过刻意是不行的,还要考虑局面的自然和均衡。
  但是在看完第二盘AlphaGo的表现之后,我认为这一策略实际上也已经破产了。AlphaGo的算法使得它只会去打那些能影响到胜负的劫争,与胜负无关的劫他就不会打了。
  虽然如此,我觉得李世石还是会去试试。我在第一局时只看到了AlphaGo的两个弱点,第二局则基本证明这两个弱点都是人类所无法利用的。AlphaGo在尽可能避开劫争的条件下仍然能完胜李世石,这才是关于劫争方面应该关注的焦点。
  关于弱点,李世石在第二局赛后表示,没找到AlphaGo的弱点。我认为他非常诚实,而且他确实已尽力寻找。
  虽然我非常希望李世石在这次比赛能够获胜,为围棋行业的发展争取时间。但在我看来,后三盘在正常情况下李世石将毫无胜算。
  空中开局是否有效?我认为无效,但或许比较有趣。
  如果不去找bug,剩下的事情就只有——跟AI学棋。
  6.人类如何跟AlphaGo学棋
  这是个不小的话题,在未来一段时期内会被围棋界的人反复拿出来讨论。在这里我只是简单开个头,或有不确之处。
  首先一句话:AlphaGo的棋既容易学又不容易学。
  为什么不容易学?因为ALphaGo所有的着法都是从全局考虑并基于它认为的胜率,如果只是单纯地模仿它的下法,将会掉入巨大的陷阱。
  陷阱1:AlphaGo的一些下法本身就不是最优,甚至不如人类的选择。例如第一局中的那两个典型”失误“。如果真要学局部的下法,或许只好期待他左右互搏时拿出最强功力(或者对人类的让目对局,总之需要给它增加难度以减少选择。)
  陷阱2:AlphaGo的下法基于全局,全局形势稍有不同可能就不适用。例如第二局AlphaGo在左下的下法,几乎所有人都认为局部明显亏损。但AlphaGo是基于上边和右边的情况而在左下做出的选择(对此我将在第二部分解说……学习),这对棋手思维的拓宽有巨大的好处,但具体的着法却不宜照搬。即使是天外飞仙的第37手,也是在独特的局面下才是当时的好棋,如果对任何高拆二都跑去肩冲就成了东施效颦。
  为什么容易学?因为AlphaGo的围棋技术层级已经在人类之上,它每一盘下出来的招都值得棋手反复思考推敲。仅仅两盘,就已经有这么多的亮点、更多的不解,这绝对是史无前例的棋谱。
  AlphaGo给出选点的思维方式与人类不同,但我们却可以用人类的方式去理解它,这是一件多么美妙的事情!同一个点,AlphaGo通过数据的方式来给出,人类却用道理的方式来接收,围棋的数与道在这种对话中得到完美的呈现。
  此文的第二部分原本准备用棋谱解读的方式来呈现我从第二局中看到的无法用言语来表达的震撼和美,但本文或许已经太长,两部分关联性又较弱,更主要的是,天色已大亮……留在下一篇吧。
  想念吴清源大师。

沒有留言:

張貼留言

卒業

業卒