您当前的位置:首页 > 洋洋大观

李喆剖析:李世石的策略与AlphaGo的弱点

时间:2016-03-10 21:04:41  来源:  作者:

 

李喆李喆

  喆理围棋 李喆

  这必将是载入史册的一天。

  人机围棋巅峰大战第一局,人类输了。

  赛前的预测,棋界绝大多数认为李世石必胜,科技界则大约是两派各半。

  认为李世石必胜的一方并非全都是出于傲慢无知,更多人不能相信的只是——这么快。科技界也有很多人了解算法之后认为AlphaGo还不足以战胜人类

  从去年10月的五盘棋谱,到谷歌公开的论文,人们认为围棋AI仍然存在弱点,存在不能在这么短的时间内解决的问题,而这些问题将会导致AI在巅峰对决中失利。

  然而,

  李世石输了。

  关于这盘棋,会有很多解读。不止在今天,甚至在数十年之后,这盘棋还可能会被拿出来研究,从棋谱上,更从人机不同的思维上。不论未来回看这盘棋的是人类还是真正有了自我意识的AI,想必都会有与当下的我们不同的感受。而我们有义务把我们的感受和思考记录下来,让后人知道当时的人究竟是如何理解这盘棋,他们有哪些错误的认识、可笑的想法,又有哪些深刻的洞察。 

  我们来看看,今天这盘棋,究竟发生了什么。这盘棋可能将是有史以来职业棋手最难以统一意见的对局,以下观点是我个人见解,只是在围棋AI时代毫无预兆迅猛而来时,一名棋手尽可能理性的分析和思考。 

  一、李世石的针对性策略

  从棋谱来看,我认为李世石在这盘棋前后主要使用了一个试探,和两个策略。

  1)试探:从未出现过的布局

李喆剖析:李世石的策略与AlphaGo的弱点

  李世石第7手,没有按常规布局在上边连片,而选择走在右边。李世石自己在职业比赛中从未使用过这一开局,甚至整个职业围棋界,没有人见过这一开局。 

  李世石不按常规布局,显然是对电脑的一种试探。在去年10月AlphaGo对樊麾的五盘棋中,所有开局都是常规布局,虽然那五盘的开局在今天已经不是主流,但都是曾经流行一时的布局。 

  避开流行布局,甚至避开曾经流行过的已经被淘汰的布局,选择一个从未出现过的布局。李世石在考验AlphaGo在布局阶段的应变能力。我们知道AlphaGo的深度学习基于大量已有对局的数据,那么,面对一个棋谱库里从未见过的布局,AlphaGo你将如何应对? 

  AlphaGo给出了完美的回答。

李喆剖析:李世石的策略与AlphaGo的弱点

  白8挂角正常,黑9二间高夹最为激烈。白10,这一手……非常出色。

  通常情况下,在右上白8遭遇二间高夹的时候,白10是“不存在”的一手,它不在任何定式之中。面对黑9,白棋有诸多定式选择,却没有白10这一手。

  然而,我认为白10是好手。

  白10的好处在于使黑7变成效率低下的一手,虽然在右上局部白棋稍稍亏损,但加上黑7的低效,白棋一点也不吃亏。 

  AI竟然会通盘考虑!传统的围棋AI,会根据已有棋谱来走定式,定式是经过长期检验的局部双方可以接受的定型。然而定式的弊端就在于,不同的周围环境,定式的适用性有所不同。从这盘棋来看,黑9夹击之后,白棋如果选择面对二间高夹最常用的“妖刀”定式,即走在15位,反而将使黑7的位置成为绝对的好点,黑7的效率将会大大提升。

  实战白棋选择了一个定式里没有的、局部稍亏的、却使得黑7这个遥远棋子的效率变低的下法,非常清楚地证明了两点:

  • 电脑不依靠背谱来下棋

  • 电脑的考虑基于全局而非局部。

     

  当然,第一点其实在对樊麾的棋谱中已经可以看出来。在对樊麾的常规开局中,AI出现了数次不同于“谱着”的下法。其中有一盘出现“大雪崩”定式,电脑选择的次序是定式和棋谱里没有的,而且是从逻辑上不如谱着的。注意,这里强调是逻辑上不如谱着,而不是在经验上。即,AI当时的次序是“绝对弱于”谱着,只可能亏没可能便宜,虽然选点是正确的,但在我们看来是“次序错误”。这体现出,AlphaGo不依赖于定式和谱着,但也暴露出AI在逻辑上的不足,反应在棋盘上就可能会出现次序错误。这一点,也是棋手普遍不看好AI能战胜李世石的一个原因。

  但这一问题在这盘棋我们并没有看到。起码,没有非常明显地显现出来(后面会提到一个细微的类似问题)。

  而第二点则是这盘棋AI开局给我们秀出的能力。他轻易摆脱了李世石设下的定式圈套,以全局的视野作出了定式中不存在的选择。

  如果说第一点是我们在AlphaGo对樊麾时已经能够看到的情况,那么第二点则是这局棋在布局阶段对人类试探的完美答复。如果只依靠大量棋谱堆砌出来的局部图像识别,AI做不出这样的选择。

  2)策略一:开放式复杂局面

  李世石第一次试探得到了AI的完美答复,然后李世石使用了他的一个重要策略。从局后来看,正是这一策略导致了李世石局面的被动,但在赛前,我们并未想到这一点。

  我们不知道李世石在赛前有没有接受人工智能领域专家对Alphago算法的分析,但从李世石采取的策略来看,他显然有非常强的针对性。

  我们知道,深度学习在围棋盘上的主要作用是大量剪枝,通过价值网络和策略网络,将搜索的空间大幅减小,形成“棋感”。在这个基础上,再辅以传统的蒙特卡洛算法做搜索计算,最终确定落子的选择。围棋中存在一些封闭的计算空间,比如局部的“死活题”,对于AI而言可以通过穷举来遍历每一个选点,从而完成计算,得出落子点。但围棋中更难的部分是开放式的复杂局面,每一处的不同选择都会波及到其它地方,所谓“牵一发而动全身”。而这种局面头绪繁多,可供思考的选点很多,不同选点之后变化的深度和广度都很大,并且往往一个细微的计算失误会导致整局棋的彻底失败。对于职业棋手而言,这种局面正是最难把握的局面之一。

  赛前有人猜测,AlphaGo的剪枝面对开放性复杂局面的效用将会降低,而搜索的深度广度和准确度要求又使得AI不能依靠蒙特卡洛算法达到精确,因此这很可能是基于深度学习和蒙特卡洛的围棋AI的一个弱点。

  不论李世石是否了解到这些,总之他使用了一个策略:迅速导入开放式复杂局面。

李喆剖析:李世石的策略与AlphaGo的弱点

  这里不做过于具体的技术分析。李世石第23手靠,和第27手挡,将局面导向了开放式复杂局面。原本李世石有更为柔和的选择,但他选择了最为强硬的下法。我们看到,AI的白24、26、28是非常敏锐的战斗嗅觉,完全没有避战。

  从我的经验来看,这个战斗是由黑方挑起的,而黑方挑起战斗的时机并不成熟。在势均力敌的对局中,我们往往会试图在认为有超过50%成功率的时机选择战斗,只是棋手有力战派和稳健派的分别,力战派对于战斗的判断会更为乐观一些。

  李世石是偏力战的棋手。但在本局中,这一开战时机仍然是过早了,可以说是立足未稳时冲向了敌营。我相信在对手是人的情况下李世石通常不会如此选择,他会寻找一个更合适的时机展开战斗,而且他本身就是一个极为擅长寻找战机的大师。

  但是他选择了不等布局结束,直接开战。

李喆剖析:李世石的策略与AlphaGo的弱点

  至此,形成了六七块棋互相纠缠的局面,头绪非常之多。这是典型的开放式复杂局面。仔细观察可以看到,AI是有机会避开这种局面的。

李喆剖析:李世石的策略与AlphaGo的弱点

  白42手可以选择在1位这里贴吃,选择吃掉中间两子,弃掉上边三子形成转换,如此便会避免复杂的战斗局面,形势也并不落后。

  但实战白棋选择把上边三子跳出,形成混战局面。这是更强的下法。 

  那么,在进入开放性复杂局面之后,AlphaGo的表现如何呢? 

  答案是,非常好。

李喆剖析:李世石的策略与AlphaGo的弱点

  下午我在新浪和俞斌老师一起做现场直播时,同步进行至此,俞老表示担心白棋上边二路立一个先行搜刮,趁黑立足未稳先赚取利益。话音未落我们就看到AlphaGo下出了这一步。

李喆剖析:李世石的策略与AlphaGo的弱点

  这步靠,本身似乎是“不成立”的,因为黑棋可以轻易地征吃白棋。这一步是业余棋手绝难想到的下法,因为白棋右上自身正处于防守状态,顺着往下贴是本能下法。然而AI下出这一步,在防守时反手一击,包含了弃子整形、试问应手等诸多人类理解的含义。

李喆剖析:李世石的策略与AlphaGo的弱点

  诚然,黑棋可以很轻易地吃掉白棋靠出来的这个棋子,但代价是黑1的俗手打吃和白4的先手便宜。职业棋手能够很容易地看出白棋送一个子整形是有所便宜的,但AI也能轻松地做出这一判断,并且在防守时有此“意识”,真的很神奇。

  当然,对于跨断送吃这步棋究竟是否“好”,棋界并不能给出十分确定的统一答案。但是AI下出这步棋,仍然是对其能力的展现,起码认为AI不会主动弃子、不会防守反击的论断可以休矣。

李喆剖析:李世石的策略与AlphaGo的弱点

  棋局至此,其间的进程在这里不做技术细节上的评论。简而言之,面对开放式复杂局面,白棋处理得井然有序,该弃的弃,该取的取。李世石的第一策略宣告失败。

  这证明了,基于深度学习和蒙特卡洛的围棋AI面对“开放性复杂局面”时的能力并未如设想般下降,反而应对得法,在李世石挑起不利战斗的情况下取得了局面的领先。

  李世石或许意识到了这一策略并未奏效,于是迅速调整,进入了第二策略。 

  3)策略二:胶着的细棋局面

  事实证明AlphaGo并不惧怕复杂的战斗格局,于是李世石选择及时收手,试图将局面导向细棋。

  细棋局面下,要求双方在每一处细小的地域争夺上都尽量做到极致,一两处的失误虽然不会造成大片伤亡,但常常足以致负。 

李喆剖析:李世石的策略与AlphaGo的弱点

  第77手,这是李世石第二策略的开始。这手棋宣告停战,进入胶着的细棋状态,比拼后半盘的功力。如果不选择停战,李世石可以考虑直接在左下挂角,引诱白中腹两子逃出,进而继续战斗。

  但李世石认为第一策略的试探已经完毕,没有奏效,因此选择了第二策略。 

  接下来的棋局,我们转换一下视角,从AlphaGo的角度来探究。 

  二、AlphaGo的争议着法

  关于AlphaGo在此局的表现,棋界比较一致的观点是从布局到中盘的激战白棋下得很好,分歧点主要在对AlphaGo在后半盘的表现。

  1)  缓手?

李喆剖析:李世石的策略与AlphaGo的弱点

  第一个焦点是第80手。上一手黑棋刚在下边挂角,白棋正常的下法是在左边跟着守一步。但实战白棋选择脱先,在左上补了一手。

李喆剖析:李世石的策略与AlphaGo的弱点

  黑棋上一步没有选择在左上马上行动,是认为这样直接作战并没有把握。实战先在下边挂角,稳住实地,再作图谋。

李喆剖析:李世石的策略与AlphaGo的弱点

  面对左下挂角,局部跟着应一个是最常见的下法。但黑棋在确保了下边的地域之后,左上可能会选择现在2位迂回,如果白棋毫不退让,那么6位再战出相当严厉。如果白棋退让,黑棋可以得到左上的角地。这里具体的定型变化并不容易得出结论,存在不少分支。

李喆剖析:李世石的策略与AlphaGo的弱点

  实战白棋选择了脱先补左上,左下黑棋得到“双飞燕”作为补偿。至此,对棋局的判断出现分歧。做直播的棋手中,有一些认为此时已经是黑棋优势,白棋上一步补棋是大缓手。也有人认为白上一步虽然缓,但形势还是白棋不错。 

  上一步究竟是不是缓手?我们这里先不做结论,往下看。

  2)  恶手?

  下一个焦点在第86手。

李喆剖析:李世石的策略与AlphaGo的弱点

  白86断,又是棋谱里没有的下法。不过对局至此,我们对此已经并不惊讶。这步断的意图对人而言很好理解,由于黑棋右边很厚,白棋想通过弃子整形,使黑棋的厚势变得重复、效率低下。从人的角度来看,这是白棋最明显的意图。

李喆剖析:李世石的策略与AlphaGo的弱点

  实战结果,棋手普遍认为左下白棋亏损,并且是严重亏损。这是因为,黑棋围住了一大块空,白棋实地受损。 

李喆剖析:李世石的策略与AlphaGo的弱点

  普遍推荐的变化是这样,白棋在确保自身安全的同时尽可能缩小黑棋的地域。有人认为,这样的进行白棋比实战“便宜一个贴目”,也就是六七目。如果是这样,实战白棋的选择亏损严重。

  但是,这个图存在一定的风险,关于这个风险我们留到后面来说。

  三、载入史册的一手!

  左下定型结束,人类棋手普遍产生乐观情绪:李世石优势,AI也不过如此嘛。

  然而,接下来的AlphaGo的一步棋成为了此局最为闪耀的明星。

李喆剖析:李世石的策略与AlphaGo的弱点

  白102,右边三路点!

  这一手必将载入围棋的史册,与古今诸多妙手共同谱写灿烂的篇章!

  在未来的AI棋谱中,必将留下非常多震撼人心的妙手:它们或许比这一手更加精妙,或许比这一手更加深奥,但它们都无法取代这一手在围棋历史中的位置! 

  此手完全出乎了李世石的预料,他面对这一手,进行了全局唯一一次长考,仍然遭受重创。

  在直播时,也有职业高手在白棋下出这一步之前已经预测到这一手。但是,对于人而言这里有一件非常有趣又苦恼的事情:对局者对于对方这种着法的预计往往不如观战者。

  这是因为,观战者可以很轻松地站在双方的立场来思考棋局,为双方寻找最强的着法;而对局者更多时候是在思考自己的着法,相较而言会容易忽略对方隐蔽的强手。李世石如果预料到这一手,或许会在之前找机会刺一下作为防备。但作为对局者很难有如此周密的行为,尤其在面对AI的时候,更难想到电脑会有如此强的手段。 

  更有趣的是,这一手包含了相当大的计算量,有不少需要计算的分支,如果是人来下,即使能想到这一步,离真正算清楚并下出来还有不小的距离。也就是说,即使人类看到这一步,也要通过大量时间的计算来验证这一步是否成立。然而,电脑下出这一步,并不比其他的着法用时更长,相反比后面一些人类看来简单甚至必然的着法用时更短。

  我们不禁要问:AI真的都算清楚了吗?

  AI、真、的、都、算、清、楚、了、吗??

李喆剖析:李世石的策略与AlphaGo的弱点

  实战的结果是这样,白棋右边先手割下黑棋三子,回到左上守角。顺便提一句,这里守角的手法值得注意,大量棋谱以及多数棋手的第一感都会走在旁边一路,但只要仔细看一下就会发现,此局面下实战AlphaGo的选点更好。 

  棋局至此,我认为已经是白棋稍优的局面,但也有人认为仍是细棋。

李喆剖析:李世石的策略与AlphaGo的弱点

  实战黑棋123手以下明显亏损,如图尖顶活角优于实战。但此图究竟谁胜,还需要深入的仔细研究。我个人的意见是,白棋稍优,并且我猜测AlphaGo也认为能赢。 

  黑123以下在目数上亏损了接近一个贴目,使得棋局直接失去了悬念。最终双方盘面接近,李世石无法贴目,投子认负。

  我们惊异于AlphaGo的表现,惊叹于李世石的败北。对于接下来的比赛,很关键的一个问题是,AlphaGo究竟有没有失误?

  四、AlphaGo的“失误”

  这盘棋AlphaGo有没有失误?

  令人欣慰,从人的眼光来看,我们可以找到AlphaGo的明显失误。这种失误不是指那种基于人类经验而认为的失误(经验有可能会骗人),而是可以通过逻辑分析来确认的失误。

  1)“失误”一:

李喆剖析:李世石的策略与AlphaGo的弱点

  白136手吃。对于职业棋手而言很容易判断,应该吃在一路,比实战便宜大约1目。

  2)“失误”二:

李喆剖析:李世石的策略与AlphaGo的弱点

  白142手挡,对于职业棋手而言,这也是一个很容易确认的明显亏损。

李喆剖析:李世石的策略与AlphaGo的弱点

  白棋正确的下法是1位跳,这样将来留下了5、7、9吃两子救回三子的下法,从目数上分析明显优于实战(大约1-2目)。即使白棋不在5位扳,走8位先手粘掉也优于实战一点点。

  这两处“失误”都是在局部,没有任何与外界的关联性,属于封闭式的失误,其亏损可以用逻辑推理的方式证明。相较于AI展示出来的水平,似乎这两个失误是“不应该”的。

  基于此,又有棋手表示:“这都看不到,AI不过如此啊”。

  前面“恶手”里讲到的左下角白棋的问题,也有人看做是第三个失误。但那个失误的性质与这两个不同,我们对那个失误的认定在很大程度上还是基于经验的,虽然也包含了逻辑推理,但并不完全。在我看来,按照笛卡尔的理论,对这那失误的认定是可怀疑的。

  但这两个失误却不可怀疑。既然如此,我为什么要在标题里给“失误”打引号呢?

  这引出了一个非常有趣的话题:在棋盘上,失误的定义是什么?

  3)不同的“失误”定义

  对于我们棋手而言,什么是棋盘上的失误?假如我们把基于经验认定的失误都排除在外,只留下基于逻辑推理认定的失误,那么失误意味着:A在逻辑上优于B,而我选择了B。

  在这个意义上,只要我们找到了“可确认的更优下法”,就认为我们出现了失误。

  但是,对于AI而言,失误是否意味着相同的事情?我们怎么理解AI出现了在我们看来低于其水准的失误?

  这就涉及到AI的算法问题。假如AI有一天穷尽了围棋,那么只要它有一步不踏在最优解集合里,就是失误。但是,现在的AI还远无法穷尽围棋。

  AlphaGo的算法运用了神经网络加蒙特卡洛,蒙特卡洛算法的一个特点是:不求最优。

  蒙特卡洛算法给出搜索之后的胜率评估,然后AI会根据这个胜率来选择落子点。也就是说,AlphaGo本来就不追求最强最优的下法,它只是追求在它看来胜率最高的下法。

  那么,回到前面那两个“失误”,之所以打上引号,是因为在AlphaGo看来,或许这根本不是失误!

  虽然在我们人类看来,逻辑上明显A优于B,但AI在那时认为两者的胜率相似,从获胜的角度来说,两者没有区别!甚至A之后的犯错概率高于B,从而导致它认为B的胜率高于A!

  如果两条路同样能通往胜利,在AI的意义上,你还能说它是失误吗? 

  或许能!

  但是前提条件是人类利用这种“失误”击败了它!否则,在AI的意义上我们无法指责那是它的失误。

  再回过头看前面,白棋左上的补棋和左下损目抢得先手,真的是可以确认的坏棋吗?

  左上的补棋,证明AI认为补棋的胜率优于走左下,这一判断很可能是建立在AI对右边那手点的认识之上。甚至大家公认的左下白棋亏损,也可能是基于对右边那手点的认识,希望在左下抢一个先手,并且在胜率上认为这是没有问题的。

  而李世石对形势的判断显然是基于没注意右边那手点。 

  五、AlphaGo的“弱点”

  这么说,难道AlphaGo真的就不可战胜了?不一定。从这盘棋中,我们可以看出AlphaGo的弱点。问题在于,这几个弱点是否足以影响人机对决的胜负?

  1)  逻辑缺失

  虽然上一章我认为对AI失误的认定需要谨慎,但在另一个层面上,这还是说明了AlphaGO的弱点。

  深度学习加蒙特卡洛,AlphaGo在剪枝和搜索这两方面的能力在这盘棋中已经得到证明,人类下棋同样依靠剪枝和搜索,并不能在这两点占得上风。

  但是,AlphaGo的算法缺乏逻辑能力。这一点实际上在10月对阵樊麾时已经有所体现,在这一局的两处“失误”则体现更为明显。

  蒙特卡洛算法使它并不是根据“逻辑上A优于B”来做选择,而是根据AB各自的胜率来做决策。

  在准确性上,概率不如逻辑。

  AI基于逻辑缺失而导致的“失误”,是否可能成为人类棋手的突破口? 

  2)  逃避劫争?

  AI面对复杂劫争时的糟糕表现,是蒙特卡洛时期固有的顽疾。去年在北京夺冠的围棋AI,在对阵连笑时甚至不能理解循环劫,不停地找劫来回提,使局面一塌糊涂。这是因为,基于概率,循环劫也总有打赢的可能。这也是第一个弱点的延伸,如果基于逻辑,会明白这是不可能的事情。

  使用的深度学习的AI能否避免这个问题?目前我还没有看到。不过,似乎AI有刻意逃避劫争的倾向。

李喆剖析:李世石的策略与AlphaGo的弱点

  回到有争议的左下角,棋手普遍认为白棋如图是最强的下法,但是AlphaGo可能担心劫争: 

李喆剖析:李世石的策略与AlphaGo的弱点

  黑6开劫是最强的下法,在右边点一手找劫,接下来可能形成转换,白棋是否肯定便宜?粗粗一看,不能确定。 

  另一处有趣的是最后的官子:

李喆剖析:李世石的策略与AlphaGo的弱点

  此时白棋胜势已定,在做最后的定型。黑棋左下先手搜刮,白棋需要做活。

李喆剖析:李世石的策略与AlphaGo的弱点

  实战白棋选择的是1、3做活,并非最强手。

李喆剖析:李世石的策略与AlphaGo的弱点

  最强手是白1,成连环劫活,目数优于实战。

  但是,无论是出于不考虑最强手,还是出于对劫争的逃避,实战白棋没有这样选择。

  这么看来,起码AlphaGo还没有显示出它有应对复杂劫争的能力。

  那么,劫争是否会是AlphaGo的一个命门呢?

  在我目前看来,AlphaGo最可能的弱点只有这两个。

  六、人类可能的策略 

  基于对AlphaGo弱点的分析,我认为李世石接下来可选择的策略并不是很多。

  1,我最期待的策略是,李世石按照人类研究很深的套路开局,因为AI并不会背套路。即使不能凭此占优势,也要尽可能保持局面的均势。在这个条件下,AI或许会在一些简单的局部因逻辑缺失而有所亏损,人类牢牢把握住这些微小的利益,最终取得小胜。不过,这似乎并不是李世石常用的风格。

  2,另一个策略是在局面选择中尽可能制造劫争,即制造对方不开劫就不利的局面。当然,AlphaGo目前没展现出复杂劫争的能力并不能证明它没有这种能力,因此这种策略是存在风险的,太过刻意是不行的,还要考虑局面的自然和均衡。

  七、结语

  如果我们只用人类思考围棋的方式来理解AlphaGo,或许我们将永远都不知道是怎么输的。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 验证码:
推荐资讯
饶毅,不做院士又怎样?
饶毅,不做院士又怎样?
嫁给梁山的女人——女烈士扈三娘事迹感动大宋
嫁给梁山的女人——女
司徒文:我所知道的北大武斗
司徒文:我所知道的北大
 NASA:依赖施舍的伟大
NASA:依赖施舍的伟大
相关文章
    无相关信息
栏目更新
栏目热门