阿尔法狗与人工智能

2017-04-06 21:44刘宗凡
中国信息技术教育 2017年5期
关键词:深度学习

刘宗凡

图灵与人工智能

谈到人工智能,我们就不得不提起计算机先驱——图灵。艾伦·麦席森·图灵(Alan Mathison Turing,1912—1954),英国数学家、逻辑学家,被称为计算机之父、人工智能之父。

图灵在1950年发表了一篇论文《计算机器与智能》,提出了著名的“图灵测试”,指出如果第三者无法辨别人类与人工智能机器反应的差别,则可以论断该机器具备人工智能。后来人们根据图灵的描述,将图灵测试具体化了:测试者在与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,则这台机器被认为具有人类智能。

在图灵提出这个构想以后,不断有科学家试图挑战,但众所周知,图灵提出的人工智能,是具备了人类思维方式的,要挑战的难度可想而知。图灵测试没有规定问题的范围,如果某台机器能够通过测试,则其必须存储人类所有可能想到的问题及合适的回答,还需要理智地做出选择。

2014年,英国雷丁大学宣称人工智能软件尤金·古斯特曼(Eugene Goostman)通过了图灵测试。尤金·古斯特曼是由Vladimir Veselov(现居美国)开发的智能软件,模仿的是一位13岁的男孩,尤金设法让测试人相信被测试者33%的答复为人类所为,这意味着这台超级计算机通过了图灵测试。

当然,图灵测试中所谓的30%,是当时图灵对2000年时机器的一个预测,并且雷丁大学宣称尤金让测试人相信33%的答复为人类所为,和图灵所称的30%以上的人完全分辨不出来对方是人类还是机器,其实差别是非常大的:雷丁大学进行的测试,只不过是测试人员相信其33%的答复为人类所为,换句话说没有一个人完全被机器所骗,和图灵所称让30%的人完全上当,其实并不是一个标准。所以这次测试结果并没有在科学界引起大的波澜。

以后还会不断有人挑战图灵测试,可以想象,如果真有一天有机器能通过图灵测试,这将是人工智能的一场狂欢,是一次质的突破。

人工智能(Artificial Intelligence,AI)一词,是1956年于Dartmouth学会上提出的,比图灵提出图灵测试的时间迟,至今也没有一个统一的定义。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能包含非常多的学科和领域,如机器学习、计算机视觉、语言识别、自然语言理解、控制系统、仿真系统等,并且仍在不断扩展之中。总的说来,人工智能的目的就是让计算机能够像人一样思考。

现在我们普遍把人工智能分成三个层次:①弱人工智能Artificial Narrow Intelligence(ANI)。弱人工智能是擅长于单个方面的人工智能。比如能战胜象棋世界冠军的人工智能,但是它只会下象棋,回答不了其他任何方面的问题。目前我们的人工智能研究,可以说还停留在弱工人智能的起步阶段,只有去年在围棋大战中战胜李世石的“阿尔法狗”,堪称弱人工智能里程碑式的突破。②强人工智能Artificial General Intelligence(AGI)。人类级别的人工智能。强人工智能是指在各方面都能和人类比肩的人工智能,人类能干的脑力活它都能干。Linda Gottfredson教授把智能定义为“一种宽泛的心理能力,能够进行思考、计划、解决问题、抽象思维、理解复杂理念、快速学习和从经验中学习等操作”。③超人工智能Artificial Super Intelligence(ASI)。牛津哲学家、知名人工智能思想家Nick Bostrom把它定义为“在几乎所有领域都比最聪明的人类大脑还聪明很多,包括科学创新、通识和社交技能”。

围棋与“阿尔法狗”

棋牌类运动是人类智慧的结晶,人们把战场的金戈铁马、自然的山川丘壑、人生的酸甜苦辣等都融入其中,在方寸之间殚精竭虑、斗智斗勇。棋牌體现出无穷的魅力,国际象棋和围棋是其中的佼佼者,深得人们喜爱。

把时钟拨回到二十年前的1997年5月,国际象棋届发生了一件轰动一时的大事:国际象棋世界冠军、人类有史以来最顶尖的棋手卡斯帕罗夫和IBM公司的超级电脑“深蓝”进行了6盘对弈,最终以2.5:3.5的比分告负,这标志着计算机在智力领域正式对人类吹响了挑战的号角。

深蓝是一台超级计算机,在当年的超级电脑中排名259位,每秒钟可以运行113.8亿次浮点运算,可以计算出2亿步棋(当然,在现在动辄每秒亿亿次浮点运算的超级计算机面前,深蓝的计算速度已经不值一晒)。IBM公司将100多年来所有国际象棋特级大师的开局和残局的下法输入电脑,共有约200万局。比赛时每场对局结束后,IBM深蓝小组都会根据卡斯帕罗夫的情况相应地修改特定的参数,深蓝虽不会思考,但这些工作实际上起到了强迫它学习的作用,这也是卡斯帕罗夫始终无法找到一个对付深蓝的有效办法的主要原因。

从现在的发展来看,深蓝之所以能战胜人类最顶尖高手,主要是依靠它无穷无尽的计算能力。冷酷无情的机器,只要抓住人类下法中的一个失误,就可以将人类打败。但是,它的最大的一个缺陷就是不会“思考”,所以只能说它是一个集人类国际象棋经验大成的一位“智者”。在卡斯帕罗夫以后,人类还和电脑进行了多次较量,虽然电脑胜多负少,但也不是说它是不可战胜的。因为虽然国际象棋每走一步后对手能走的方案是有限的,但要算尽所有可能,目前也是不可能的。如果从人工智能的角度来说,深蓝还处于“暴力”搜索的初级阶段。

虽然计算机早早就战胜了国际象棋的顶尖高手,但在围棋方面,人工智能却迟迟无法取得突破。虽然围棋在全球普及程度远不如国际象棋,但作为中国四大艺术“棋琴书画”之一,它在中、日、韩等国深受人们喜爱。围棋是我国的传统棋种,它的发明可以追溯到尧舜以棋教子的传说。围棋在春秋战国时期就广为传播,历史悠久,源远流长,历朝历代都涌现出许多才华盖世的棋手,留下了许多脍炙人口的棋坛佳话。

和国际象棋相比较,围棋规则非常简洁,棋盘上纵横十九道,三百六十一个交叉点,只有没“气”的点不允许落子,此外可以说没有任何禁忌。从理论上来说,一手棋后,对方的应对,可以有三百余种可能。双方交替落子,这意味着围棋总共可能有10^171(10的171次方)种可能性。这个数字到底有多大,你可能没有感觉。按通行的说法,宇宙中的原子总数是10^80(10的80次方),即使穷尽整个宇宙的物质也不能存下围棋的所有可能性。所以中国历来就有“千古不同局”的说法。将国际象棋和围棋的复杂性相比较,可以说它们是一滴水和大海的关系。正因为如此,计算机技术在围棋领域一直没有什么突破。

2016年3月9日开始,谷歌旗下DeepMind团队开发的阿尔法狗(AlphaGo)程序和韩国顶尖棋手之一的李世石(李世乭)进行了一次五番棋对决,结果震惊全球:阿尔法狗以4:1的绝对优势击败了集十四个国际冠军头衔于一身的人类代表!

这是一个令绝大多数人目瞪口呆的结果。如果按照深蓝的思路和围棋的复杂程度,这个结果确实有些不可思议。我们可以简单地说,阿尔法狗令人震惊的地方,是它不是利用计算机超快的速度来穷举各种可能,而是它具备了“思考”的能力!它不是亦步亦趋地将以往棋手的经验集中起来对付人类,而是具有自己的围棋观点和思路。在棋战中阿尔法狗下出了很多人类不能理解的招数,开始的时候被职业棋手评论为错招、臭棋,但最后证明这只不过这些职业棋手无法理解的招数,也就是说,阿尔法狗已经有了“创新”的能力。不仅是程序作者不理解它的下法,连最强的职业棋手也无法理解。阿尔法狗颠覆了职业棋手的围棋观,让几千年来的围棋理论出现了动摇。

由于围棋的变化太过复杂与多样,于是,人们认为,在可以预见的时间里,人工智能可以在所有智力游戏中战胜人类。阿尔法狗的横空出世,横扫了人类高手,展示了人工智能取得的突破性进展。阿尔法狗的这次胜利,无疑将会载入人工智能发展的史册。

深度神经网络与蒙特卡洛树搜索

我们在惊叹于阿尔法狗的所向无敌之余,会禁不住思考,到底是什么造就了它如此的辉煌?

对于人工智能来说,围棋因其巨大的搜索空间、评估棋局和评估落子地点的难度而被认为是最具有挑战性的经典博弈游戏。我们给电脑围棋程序引入一种新的方法,这个方法使用估值网络来评估棋局,以及使用策略网络来选择如何落子。这些深度神经网络被一种新的组合来训练:使用了人类专业比赛数据的监督学习,以及自我对弈的强化学习。没有使用任何预测搜索的方法,神经网络下围棋达到了最先进的蒙特卡洛树搜索程序的水准,该这程序模拟了数以千计的自我对弈的随机博弈。我们同时也引入了一种新的搜索算法,该算法把蒙特卡洛模拟和估值、策略网络结合在一起。(谷歌研究人员发表于《自然》杂志的论文Mastering the game of Go with deep neural networks and tree search的摘要)

从论文中我们可以看出几个关键词,即神经网络、深度学习、蒙特卡洛树搜索。

1.神经网络

神经网络作为一个计算模型的理论,最初是由科学家Warren McCulloch和Walter Pitts在1943年提出来的。康内尔大学教授Frank Rosenblatt于1957年提出的“感知器”(Perceptron),是第一个用算法来精确定义神经网络、第一个具有自组织自学习能力的数学模型,是日后许多新的神经网络模型的始祖。Rosenblatt乐观地预测,感知器最终可以“学习、做决定、翻译语言”。神经网络没有一个严格的正式定义,它的基本特点是试图模仿大脑的神经元之间传递,处理信息的模式(如下页图)。

一个计算模型要划分为神经网络,通常需要大量彼此连接的节点(也称“神经元”),并且具备两个特性:①每个神经元,通过某种特定的输出函数(也叫激励函数activation function),计算处理來自其他相邻神经元的加权输入值。②神经元之间的信息传递的强度,用所谓加权值来定义,算法会不断自我学习,调整这个加权值。在此基础上,神经网络的计算模型依靠大量的数据来训练。

神经网络算法模拟生物神经网络,是一类模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。而深度学习就是其中的一类算法。

2.深度学习

深度学习算法是对人工神经网络的发展。在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括受限波尔兹曼机(Restricted Boltzmann Machine,RBN)、Deep Belief Networks(DBN)、卷积网络(Convolutional Network)、堆栈式自动编码器(Stacked Auto-encoders)。

监督式学习:在监督式学习下,输入数据被称为“训练数据”,每组训练数据都有一个明确的标识或结果。在建立预测模型的时候,监督式学习会构建一个学习过程,将预测结果与“训练数据”的实际结果进行比较,并不断调整预测模型,直到模型的预测结果达到一个预期的准确率。阿尔法狗在早期输入了大量人类高手对局的棋谱,用KGS围棋服务器的3000万个棋局,训练了13层的策略网络。在输入留存测试数据的所受特征时,这个网络预测人类专家下棋的精准率达到了57%。

非监督式学习:在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。阿尔法狗借助现在无穷的计算机能力,不断进行自我对弈,在海量的对局中,提高对局势的判断能力,这就是非监督式学习。

半监督式学习:在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构,以便用合理的组织数据来进行预测。

3.搜索与蒙特卡洛树搜索

计算机最大的优势在于计算能力,而搜索的本质是穷举——列出每一种可能出現的情况,所以计算机能战无不胜了。

搜索在实现时的最普遍方法有两种:一种是深度优先搜索,另一种是广度优先搜索。以“走迷宫”为例,深度优先就是按照规则一直往前走,直到无路可走时往回走,再按照规则往前走,这种方法一定可以找到出口或证明没有出口。无路可走时往回走,这种方法也叫回溯法。在玩游戏《仙剑奇侠传》时,面对复杂的迷宫,我们有一种笨办法,从起点往前走,如果有分叉就选左边的路走,走到路的尽头就往回走,再在分叉的路口选左边的路走(已经走过的路在意识中将它删除),用这种方法一定可以走出迷宫。这种方法就是深度优先搜索。

与深度优先搜索不同,广度优先搜索是站在某个路口,先试探所有可以走一步的路,看有没有哪个路口到达了出口。如果没有,则把所有相邻路口记下来,按某种规则搜索这些路口所有相邻的路口,直到到达出口。广度优先搜索找到的第一个出口是最近的出口,但搜索树的宽度扩展太快,需要大量空间来存储已经走过的路口。

这两种搜索的过程,都会形成一棵搜索树。比如下棋,有些地方是根本不允许落子的,我们花力气去搜索是没有意义的;有些地方明显是败招,也不需要去搜索。不需要搜索的路径我们不再走,就是在搜索树上把某些枝条去掉,我们称为搜索剪枝。搜索剪枝能大大减少计算机的搜索量,但相对棋类运动来说,工作量还是太大。

下棋时,每个棋子代表的价值和走在不同位置的作用都不同,我们在搜索时要区别对待。我们引入一个估值函数,对下一步要走的路口进行估值,选一个最值得走的路口走,这样就能最快走到终点,这就是A*搜索。

当然,迷宫是一个人走,下棋是两个人下,在搜索中,人们发明了“极小化极大算法”(minmax algorithm),就是计算机在寻找下一步棋的时候,优先选择不管对方怎么下,对我们都不会太坏的地方。我们进一步缩小搜索空间,以便计算机能在某些分支搜索得更深,而不把时间花在一看就不行的废棋上,其中一个重要的算法叫Alpha-Beta剪枝。深蓝就是主要运用了Minmax搜索和Alpha-Beta剪枝,并加上局势评估和往前看。深蓝的局势评估考虑了棋子的重要性、每个棋子的影响范围、王的安全系数、先手等因素。这个评估是动态的,要往前穷举数步棋中的所有变化。据说深蓝可以往前推12步,12步大概有10^ 24(10的24次方)种变化,加上剪枝和深蓝强大的运算能力,是可以实现的。而人类顶尖高手大概可以推算10步,因此计算机面对人类高手基本上稳操胜券。

但围棋的变化实在过于复杂,远远不是国际象棋可以比拟的。不过深蓝还是带给我们非常多的启发,就是如何寻找一个精确的形势评估函数。围棋的形势判断非常微妙,并没有一个比较客观的方式。不同的职业棋手对同一步棋,可能会形成截然相反的评判意见。比如什么是势?什么是厚?什么是薄?不同风格的棋手都会有不同看法。

那围棋中有没有绝对客观的呢?只有一条,那就是最终的胜负。但要穷尽整个搜索树,在可预见的未来那是不可能实现的。在搜索树中,我们可能有几个分支是导向胜利的,那我们需要把所有分支都穷尽找到最优的方法吗?不需要的,我们可以抽样统计其优劣。如何抽样?当然在计算机允许的时间内越多越好。比如下在某个位置的这手棋到底好不好?我们可以在这个基础上下一千局、一万局乃至更多。到底多少局好?我们可以算到读秒时间结束为止。像这样在确定时间内完成的随机算法,就叫做蒙特卡洛算法。深蓝用过的搜索算法,现在一样能用:只要把局面评估方法换成蒙特卡洛就行了(用模拟对局的最终胜率而不是评分值来评价当前局面的好坏),这就是所谓的“蒙特卡洛树搜索”。

因为围棋之树实在太大,每个结点模拟次数多,时间不够用,模拟次数少,答案又不精确。阿尔法狗的主体仍然是蒙特卡洛树,但它巧妙地用了两个深度学习模型,一个预测下一手,一个判断形势。预测的结果,降低了搜索宽度;而形势判断,则减小了搜索深度。深度学习从人类的经验中学来了棋感与大局观,它们使蒙特卡洛如虎添翼。

人工智能与“后围棋时代”

2016年12月29日,一位名叫“Maser”的棋手登录弈城网、野狐网(专业围棋对弈网站),掀起了围棋界的“腥风血雨”,以60连胜的战绩横扫当前所有顶尖高手。现在我们已经知道,“Master”就是阿尔法狗的升级版本。

DeepMind公司创始人哈萨比斯此前在一次采访中曾透露,他们的团队正在尝试训练一个没有学习过人类棋谱的人工智能,这也可能就是Master和阿尔法狗不同的原因。如果Master真的没有学习过人类棋谱,却有了突飞猛进的实力,那就恰恰印证了谷歌AI技术的全新突破。

如此强悍的阿尔法狗,是不是已经成了“围棋之神”?也就是说它是不是已经对围棋的每一步都能应对正确、永无失误?其实,要成为“围棋之神”,就要穷尽围棋的每一种可能,而我们知道,围棋的可能性是趋向无穷,目前还不能说阿尔法狗的每一步棋都是围棋真理,只是它的每一步棋,都尽量保证必胜。

在大战Master以后,古力说:“夜深了,心情渐渐平复,但脑海里依然浮现着这几天的奇幻之旅——从勇士集结到一一抬走,从信心满满到麻木绝望。相对于恒定的Master大师,我们人类的喜怒哀乐,对未知的憧憬与探索,也许正是我们活下去的最深层的动力。阿尔法狗的出现已经彻底颠覆了我们棋手对局势原有的掌控、判断。那我不禁要问,多年后的某一天,当你发现自己曾经的意识、认知、抉择都是错误的时候,你会一如既往地错下去,还是否定自己,给自己重新开始的机会呢?致最好的时代or最坏的时代!”

最好的时代or最坏的时代?这就是人工智能对围棋领域的颠覆。围棋千百年来积淀的理论、定式等,在人工智能的帮助下,将揭开新的一页,围棋正式进入“后围棋时代”。

小米总裁雷军说:“相比以往人工智能的尝试,阿尔法狗的表现空前地像人,又超越人。策略、直觉、意识等方面,从来都被认为是人类的专属能力,而现在阿尔法狗的表现完全颠覆了这些过往的‘定论。过去,科技带来的人类能力的延展基本是物理性的,远的有纺织机代替手工作坊、汽车代替马车,近的有GPS实现全球定位,‘通信+智能终端实现实时资讯传输、交互等,但眼下则是完全不同的维度。这应该是第一次进入了真正思维领域,可能将为人类带来分析、判断、决策思维的直接效率提升。”

日本现代围棋史上最杰出的棋手之一藤泽秀行曾经说过,“棋道一百,我知七”。人们以前都认为这是棋圣的谦虚说法,现在我们再来看这句话,何尝不是人类的真实写照。在人工智能领域,我们所知的也许还不到百分之七,但阿尔法狗引领的这次人工智能的突破,将如旭日东升,喷薄而出,开启一个新的时代。

猜你喜欢
深度学习
从合坐走向合学:浅议新学习模式的构建
面向大数据远程开放实验平台构建研究
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究