作者:危辉 复旦大学计算机科学技术学院认知算法模型实验室
除了AlphaGo以4∶1战胜了李世石,近年来,类似的例子还有不少。例如,IBM公司的Watson程序在问答比赛中战胜了人类冠军、计算机会写新闻稿和赋诗、自动驾驶、所谓用意念控制无人机等。由此似乎可以得出结论,人工智能的时代真的开始了,世界将面临被机器接管的风险。
我们在接受这些突破之前有必要探究一下隐藏在背后的技术实质。例如,Watson是基于文本匹配的检索,没有多少推理的成分;赋诗程序是效仿标注格式的充填,需要人工筛选结果;自动驾驶所依赖的附加设备价值超过车辆本身好几倍,且对环境敏感;所谓意念只不过是分离出来的脑电信号,对它的分类结果在可靠性、稳定性和可重复性上都很差。
AlphaGo下棋程序在人工智能领域属于计算机博弈这一研究分支,那么,它究竟难不难实现呢?双人博弈下棋游戏开展得非常早,属于人工智能少数几个鼻祖级的研究对象之一。例如,上海科技馆有一个下五子棋的机器;1997年IBM公司开发出了国际象棋程序;2008年的西洋跳棋程序更是达到了人不犯错就只能与它下平手的水平。可见,人工智能学者在这一领域已经深耕了很多年。
人工智能的春天真的来了吗
李世石
所有这些双人博弈游戏都有三个共同特点:第一,游戏规则非常明确;第二,棋局布局很清晰且很规整;第三,棋盘空间很有限。这些看似不重要的特点对计算机程序、对人工智能来说却是极端重要的利好。因为正是这些规则性、规范性和有限性,使得看似复杂的下棋问题在计算机上变得非常可行,如此明确的计算对象恰是计算机编程能够如鱼得水的理想环境。所以,计算机下棋不但不是挑战,反而远比自然语言理解、场景理解、不确定性推理等任务要容易研究得多,否则它就不会在人工智能诞生的一开始(20世纪50年代)就成为我们的研究对象之一。
在技术实现上,人工智能下棋程序通常使用一种被称之为“状态空间搜索”的方法,其核心思想是:第一,把棋局的演化过程看成一个个状态,用某种数学形式进行记录;第二,由下棋法则规定的走步方法可以把这些状态串联起来,形成一张非常庞大的状态演化网络;第三,用搜索的办法在网络中找出对自己有利的走步策略。这种方法由于形式化程度高,因此非常适合在计算机上编程实现。当然,这也带来了存储空间和搜索效率的问题。实际上,我们往往会利用一些有价值的信息来引导搜索的方向,如我们“歧路寻羊”时会利用羊留在路上的蹄印或留在草上的牙印来筛选跟踪路径。这次AlphaGo下围棋同样会面临这样的问题。它利用机器学习技术,从大量现成的对弈中学到了两样至关重要的东西,一是如何由当前的棋局映射出若干应子对策,二是如何对应子后的布局进行利己性打分。前者使它能够快速找到应对走步,后者使它能够快速对不同走步的好坏进行判断。这样就避免了它在庞大到超乎想象的围棋状态空间(理论上总共有3361个状态)中进行穷举搜索,只需进行小范围的有限搜索即可,其中所谓机器学习过程就是从大量以往的对弈棋谱中建立当前布局与下一步走步之间的对应关系。AlphaGo所基于的搜索技术和机器学习技术其实都是现成的,但它在对棋局模式的刻画方式和如何对棋局好坏进行评价方面还是有创新性的。尤其是它对围棋布局的数学化表征方式,这直接影响到机器学习的效率和能否最终找出布局与走步之间的关联关系。
AlphaGo的成功更像是人工智能领域中基于实例的推理研究,也就是针对当前面临的问题去寻找以往经历过的一个或几个类似的问题,把当时的解决方案拿来做一点适应性修改后应用到新问题上去。当套用到下围棋这个需求上时,这个基于实例的推理过程就可以简化为当前棋局布局与以往某个布局间的相似性匹配和走步方法类推。因此,我们可以说谷歌公司用一种非常恰当的技术解决了一个非常有显示度的问题。但是据此说这个围棋程序能够“学习”和“创新”还是值得商榷的,因为它实现的实质上是同一范畴下的类比。它进行走步决策时完全不理解人类棋手那些“金角银边草肚皮”之类的下棋原则,也不需要懂什么叫“实地”,只是把下围棋当作了一个由一种布局模式推演到另一种布局模式的过程,只知其然而不知其所以然。我们甚至不能认为这是一种智力,充其量是一种强悍的细分记忆力。
人类围棋下输了,那么人类智能就此崩塌了吗?其实人类智能的强项可能不在下围棋这种只有极少数人才能达到高水平的项目上,而在那些应付不可预期的能力上面。例如下图,它显示了一种包装鸡蛋的方式。
假设我是第一次碰到这种方式的包装,且要从这样的盒子里把鸡蛋拿出来,我的第一方案是把鸡蛋抠起来,但我的背景知识马上就告诉我这样做不行,因为鸡蛋会被抠破的。我的第二方案是把整个包装的一边移出桌子的边缘,然后从上往下捅,但细想这也不保险,因为稍不注意就捅到地上去了。由此我立刻想到我们可以从下往上顶鸡蛋,取鸡蛋的问题就顺利解决了。这样的问题看起来不难,几乎人人都能解决,但其奥妙的地方就在于类似这样的问题我们可能是第一次碰到,要解决它时并没有预编程,也就是说我们脑子里没有针对性地储存好如何拿鸡蛋的程序,而是靠灵机决断做到的。大量的背景知识帮了我们大忙,知识引导我们如何去行动。这样的例子有很多,如我们所熟知的乌鸦喝水、曹冲称象、司马光砸缸等,都堪称问题求解的典范。其实这种灵机决断的决策能力才是我们智慧最精华的部分,而对此,人工智能还不知道究竟应该怎样去实现。
最近很多媒体都在讲,人类将有若干工种被人工智能替代,例如司机、秘书、翻译、客服、导游等。那么,事实是否如此?人工智能的春天真的到了吗?笔者认为,这与人工智能早期发展史上经历过的那段热情高涨期一样,过于乐观了。若仔细分析一下,完成某些工作——例如导游——所涉及的那些智能的核心要素,如推理、问题求解、知识库、学习能力、理解能力等,就会发现我们低估了这种任务的复杂性。人工智能界的学者经常告诫自己一句话:“在玩具世界可行的方法未必能够推广到真实世界上去。”这些工作蕴含着大量的不可预期性,我们现有的技术还很难应对得好。
那么,人工智能的现状是什么?我们以前经常讲,人工智能的发展遇到了瓶颈,笔者认为,“瓶颈说”对于人工智能的现状而言还是很高的评价,因为这起码说明我们已经把瓶子的别处都看了个通透,并且能够确定何处才是出路所在了。但事实上,人工智能还达不到这个程度。笔者认为,人工智能的现状是“瞎子摸象”,每个人的观点和方法都没统一,缺乏整体性的认识,因此也就没有长远的解决方案。人工智能界经常引用这样一段话——“飞机能够成功飞上天是因为我们放弃了对鸟的模拟”。既然如此,人工智能为什么非要效仿人类智能机制呢?这句话还引出了一个隐藏于现实之中的弊端,那就是,人工智能界现在已经分不清什么是权宜之计,什么是长久之策了。