返回列表 发帖

AI专家周志华:给李世乭同学支个招

2016-03-11 周志华 科学人

  昨日,谷歌AI AlphaGo与职业九段李世乭之间的第二场围棋大战以李世乭认输告终,AlphaGo以2:0的战绩领先。此后,各路棋手、围棋爱好者纷纷给李世乭“支招儿”,人工智能的研究者也不例外。讲到AlphaGo可被抓住的弱点,南京大学的AI专家周志华有话要说。


  作者介绍:周志华,南京大学计算机系教授,美国人工智能学会会士、IEEE会士,中文亚马逊计算机类最畅销书《机器学习》的作者。人工智能领域世界级专家。

  看了第一盘棋之后,我对李同学在后面几盘的表现比AlphaGo更有兴趣 。因为目前机器学习技术的一大瓶颈,是需要大量的高质量样本才能构建出强大的模型;但是人类在许多任务上往往只需很少的样本就能显著提升能力,这是目前的机器学习技术做不到的。

  我们不知道人类是如何做到这一点的,也不知道人类在这方面的能力到底有多强。很想看看作为人类顶级专家的李同学,在遇到新事物的时候,基于极少的样本会采取什么措施来提高胜利机会,这也许会对我们的研究工作有启发。


李世乭后三场的应对,也许会对人工智能研究工作有所启发。图片来源:Google



AlphaGo的罩门

  有一个关于电脑围棋的基本常识。围棋的状态空间数太大,考虑走子顺序大致有 361!=10^768的规模,甚至哪怕仅考虑每个点上可有黑白空三种情况,也是3^361 = 10^172 的规模。


考虑走子顺序时,围棋盘上的状态空间有361!种组合。图片来源:Google



  即便每天下1千万局棋、每局棋见识1000个新状态,也不过10^11,沧海一粟而已,几乎可以忽略不计。所以,必然会有大量的“走子模式”,是电脑没见过、做不好的,是它的弱点(否则人就不可能战胜电脑)。

  那么,人类棋手该怎么做呢?大概应该尽可能尝试不同的“走子模式”,争取尽快找到它的弱点吧。不用害怕因尝试不对而造成局面被动,因为若找不到弱点那就必败,而只要能“逮到”电脑的哪怕一个弱点,拼命重复这种模式,再坏的形势也能扳回来。

  这是因为人类智能的“鲁棒性”极好,遇到新事物后很快就能适应,而人工智能就不行了。例如现在若让李同学和AlphaGo改成25路棋盘,李同学仍能战,但AlphaGo就要重新去收集25路棋盘上的棋谱、重新训练模型才行。


换成这样25路棋盘,李世乭可能觉得没啥,但对于AlphaGo来说就是一场推倒重来。图片来源:youtube.com



  附带说一句,今年国际人工智能AAAI大会上,AAAI主席Dietterich教授做的关于人工智能下一步研究方向的“主席报告”,谈的就是未来要研究“鲁棒人工智能”(小声说:里面提到了我们组的一项工作)。

李世乭的稻草

  在第一盘里李同学走了好几种试探,第二盘又走了脱先等等 …… 但是,想尝试不同的走子模式的话,直觉上应努力探索与其他走法“差异”最大的模式吧。有一种模式——打劫,人类棋手应该很容易想到,并且很容易感知到它和其他走子模式非常不同。但是,为什么李同学一直没尝试?而且,第二盘里明明有几个机会做劫,他自己却在躲。


所谓“打劫”,是指下围棋时,己方提掉对方一颗子之后,对方不能立即落子提回,必须要在其它地方落子,等到下一手才能提这颗子,防止对局进入无限循环。打劫争的虽然只是一两颗棋子的死活,但许多棋局中,这一两颗子的死活有可能关系到全局胜负。图片来源:wordpress.com



  这令我很吃惊。难道因为人类在强大心理压力下会失去寻找敌人弱点的直觉,所以连这么明显的模式都找不到了?那就意味着,人类基于小样本提升性能的本事竟然与心理状态有关?然后,有网友提供了信息,原来AlphaGo和樊麾有一局打过劫。这就释然了,看来李同学是看到AlphaGo有应付打劫的能力,所以不再尝试。

  晚上回头再看那局AlphaGo打过劫的棋谱。我以为,李同学还是可以尝试一下打劫。因为根据前面那局棋完全不能断定AlphaGo能处理好打劫。


第二场,执白子的李世乭并没有尝试“打劫”。图片来源:gokifu.com



  从电脑围棋的角度,打劫可以说是一个梦魇(我以为根据目前披露出来的技术信息,AlphaGo很难达到人类顶尖棋手水平,其中一个原因就是打劫)。电脑下棋时需以某种策略对不同位置上落子的“绩效”进行评估,然后选择绩效最高的位置落子。打劫带来的大麻烦之一,是它使得绩效评估所涉及到的空间暴增。

  举个简单的例子:假定黑棋走A点是绝对先手,并且当前A的绩效评分最高,那么黑不妨把这步棋走掉。但是若盘面上存在打劫,情况就变得微妙起来,先走掉A则黑棋损失一枚劫材,可能造成打劫不胜,于是,现在A的绩效评分和刚才就不同了,A可能暂时不该走。再进一步,如果黑棋在其他地方走棋制造出一个新劫财,那么A的绩效评分又发生变化,A又变得可以走掉了…… 感觉到了吗?A点的评分在不断发生变化,而且是整个盘面上任何地方有走子,它的评分都可能变化。这就导致,后面每步棋不管走在哪里,原来对A点的评分都会失效!


呃,这怎么办捏……



  要知道,围棋这么大的搜索空间,即便再强大的电脑也必须依赖剪枝等技术来缩减空间,而剪枝的重要原理之一大致来说就是:近处走子对远处子的评分影响不大。好了,出现打劫之后,一切都变了。在没有劫争的时候,如果我们把搜索空间看作一棵树,那么当出现劫争时,这棵树变成了一个动态的森林!从一棵树变成一座森林,这个影响有多大?恐怖的差别!搜索空间的巨幅增长,将导致单位时间内电脑的搜索深度巨幅下降。大致说,原来电脑能算到50步棋以后的变化,现在可能只能算5步了。前提是:劫还在那里,没被消掉。

  那么,一般围棋程序如何处理打劫呢?最简单的策略,要么是不管它,当做啥也没发生;要么是不顾一切立即消劫。当然损失是免不了的。劫保留的时间越长,对电脑的影响越大。前面讨论的还只是单劫。若出现连环劫(消不掉了),一般电脑程序就完了。


樊麾(黑子)与AlphaGo(白子)在对弈时曾经出现过打劫的状况。图片来源:David Silver et al. (2016)Nature



  AlphaGo和樊麾出现打劫的这局棋,是出现打劫后,双方立即争劫,把劫消掉。大家应该明白了,仅凭这个表现,还不能判断AlphaGo是不是已经摆脱打劫梦魇了。所以,李同学不妨尝试一下:造个劫,别急着消,看看AlphaGo的表现。

先进技术促进社会发展

  最后,我想跟大家说,即便AlphaGo真的解决了打劫问题(以及其他各种潜在的问题)最终完胜李世乭,大家也没什么好担心的。

  从技术的角度来看,人工智能比人类智能差得太远。像我前面说的,机器学习技术面临的瓶颈,对人类来说不是什么困难,现在马上改成25路棋盘,那李世乭同学一定5:0全胜。从围棋的角度看,电脑下围棋战胜了人,会不会导致围棋这项智力运动今后变得无人问津呢?不妨想想,汽车跑得比人快,轮船游得比人远,但这并不妨碍田径、游泳仍是备受瞩目的体育运动。事实上,先进技术不仅不会阻碍、反而会促进人类社会的发展。

  这些天花了不少时间写文章,其实想传递给大家的,就是这句话:不用担心“人工智能威胁论”。

  (编辑、排版:Calo)
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

返回列表