中读

人工智能的春天

作者:郭佳

2017-05-24·阅读时长17分钟

1285人看过

       上世纪许多让人们大开眼界的科幻电影情节都以比人们预期快很多的速度提前实现了。人工智能系统战胜世界围棋冠军就是又一次例证。人们此前都预测,这一天的到来还需要10年时间。然而,就在2016年春天,谷歌公司旗下DeepMind公司研发的围棋人工智能程序AlphaGo(昵称“阿尔法狗”)以4:1的成绩战胜了韩国的世界围棋冠军李世石九段,刷新了人们对于人工智能的预测。





       围棋是人类最古老的棋类运动之一。它起源于公元前2000 多年的中国古代,古时被称为“弈”。战国时期的弈秋是见于史籍的第一位棋手。最早的围棋文物也可以追溯到战国时期。汉朝时,棋盘仍为17路。发展到南北朝,棋盘才定型为现在的19 路,同时传入朝鲜半岛。随着围棋的发展,它逐渐成为中国古代知识阶层修身养性的必修科目。到了清朝初年,出现了中国古代围棋发展的高峰期,但随后,围棋发展的中心逐渐移向日本。


      19世纪末期,德国人科舍尔特(Oscar Korschelt)受聘担任日本铁路技术顾问。一个偶然的机会,他接触到了围棋,并得以跟随当时日本最强棋手、方圆社社长村濑秀甫八段(十八世本因坊)学习围棋。当科舍尔特认识到围棋极具魅力、足以挑战西方世界流行的国际象棋时,他决心向欧洲介绍围棋。从1880 年9月起,科舍尔特在德国的一份大型杂志《德国东亚研究协会会刊》上开始连载介绍围棋的系列文章《日本人和中国人的围棋游戏》(Das Japanisch-Chinesische Spiele “Go”)。1881 年,该系列文章的单行本在日本横滨印刷发行,成为历史上第一本用西方语言(德语)写成的完整介绍围棋的书籍。


       令人遗憾的是,由于科舍尔特完全是在日本学习的围棋, 因此他对围棋的称呼借用了日语说法。日语对围棋的称呼是“囲碁”或“碁”(“碁”是“棋”的异体写法),读作“いご(igo)”及“ご(go)”。于是 “go”从那时开始就变成了西方语言对围棋的最常见称呼。围棋人工智能程序AlphaGo 也是如此得名。“Alpha”是希腊字母中排位第一的 “α”, 与“Go”连在一起可谓一语双关:既可以理解为“最初一步”,也可以理解为“第一围棋”。更加意味深长的是,随着AlphaGo一路出人意料的表现,AlphaGo这个名字或许会在未来某一时刻兼具近似“第一推动力”的暗喻。



人机相长


       首尔赛前,熟悉围棋的观者中曾有这样的调侃:“人与人对弈,其实胜败不重要,因为过程好玩。人与机器对弈,不但胜败不重要,而且过程不好玩。机器与机器对弈,就是纯属费电!”但后来的战况显示:人与机器对弈,过程惊心动魄。而机器与机器对弈则绝不只是费电,因为这是围棋人工智能程序进行学习(左右手互搏)的手段之一。


       然而,在机器的背后,还有人类跨越时空的左右手互博。


       20世纪80年代末,作为人工智能的核心,“机器学习”这个多领域交叉学科刚刚进入它的最新发展阶段。AlphaGo这样“科幻”的围棋人工智能程序概念还远没有进入人们的脑海。韩国家喻户晓的围棋世界冠军还是曹薰铉九段。1989年,韩国的曹薰铉九段战胜了中国的聂卫平九段,夺得了有“围棋奥运会”之称的第一届应氏杯冠军。就在这一年,韩国全罗南道新安郡的飞禽岛上,6岁男孩李世石在父亲的引领下,推开了围棋世界的大门。


       在李世石成名后的自传里,他用这样一段话作为自传序言的开头:“6岁的时候,对文字我还懵懵懂懂,不能够完全理解字面的意义。但从那时起,我就开始与横19路和竖19路、361个交叉点的围棋棋盘为伴。” 


       曹薰铉夺得了第一届应氏杯冠军后,韩国媒体进行了连篇累牍的报道。他夺冠的光辉形象成为了改变李世石人生的一个决定性因素。在那之前,小男孩李世石觉得围棋还只不过是一个很有趣的游戏;在那之后,李世石因为曹薰铉而产生了成为一名职业棋手的梦想。


       也是在1989年,13岁的英国少年哈萨比斯(Demi s Hassabis)取得了国际象棋大师的头衔,并在同年龄段里排名世界第二。如今,哈萨比斯已经成为2016年人机围棋对决中的另一个重要角色。他被全球媒体用一种充满神秘色彩的表达带到了大众眼前:“那个AlphaGo背后的男人”,DeepMind的创立者之一。


       哈萨比斯刚满4岁时开始学下国际象棋,很快就显示出了过人的天赋。这个小男孩在棋盘上取得的胜利让他在8岁时便开始思考两个问题:人的大脑是如何学会完成复杂任务的?计算机也能变得像人类这么聪明吗?这两个问题像两粒神奇的种子, 深埋进这个小男孩的内心。在之后的少年和青年时代,哈萨比斯都没有停止过对这两个问题的答案进行不断的求索。


       哈萨比斯17岁时考入了剑桥大学,进入计算机科学专业学习。同一年,哈萨比斯通过自学编程开发的游戏,获得了一次游戏设计比赛的亚军。他在之后借此进入了顶尖的游戏公司“牛蛙”(Bullfrog Climax Group)实习,并参与开发了在全球实现几百万销量的虚拟游戏《主题公园》。在剑桥大学读书期间,哈萨比斯曾在一个高水平的围棋社团里学习过围棋并很快着迷。因为忙于电脑方面的工作,他没有足够的时间练习, 所以仅停留在业余一段的水平,但这并不妨碍他对围棋的喜爱。


       哈萨比斯考入剑桥大学这一年,10岁的李世石进入了首尔权甲龙围棋道场学习。一年后,他就成为了韩国棋院的研究生, 并于13岁成功入段,实现了他成为一名职业棋手的梦想。第二年,也就是1997年,IBM公司研制的深蓝(Deep Blue)首次战胜了国际象棋大师卡斯帕罗夫(Garry Kasparov)。卡斯帕罗夫当时排名世界第一。这一历史性事件让哈萨比斯萌生了去为围棋写一个计算机程序的想法。他想象着,在未来的某天也能让自己的计算机程序去战胜围棋大师。


       1997年,哈萨比斯以双重一级荣誉学士学位从剑桥大学毕业。毕业后,哈萨比斯成立了自己的游戏公司。但直到2005 年,他在游戏界都未能实现自己所期待的成功,于是他返回大学继续深造。这一次,他选择了人脑神经系统的研究方向, 继续探索这个他从儿时就倍感好奇的领域。他在伦敦大学学院(UCL)攻读认知神经科学博士。攻读博士期间,他发表了12篇论文。2010年,哈萨比斯和莱格(Shane Legg)、苏莱曼(Mustafa Suleyman)一起在英国伦敦大学学院创立了DeepMind。他们为Deep Mind设立的愿景是:解决智能问题, 运用智能让世界变得更美好。2014年,谷歌公司以五亿美元的高价收购了DeepMind,开创了谷歌在欧洲进行公司收购的价格新高。被谷歌收购后,哈萨比斯和他的团队将人工智能中的深度神经网络研究带到了谷歌,但总部仍设在英国。 


       和哈萨比斯一样,李世石的圆梦之旅也并非一帆风顺。李世石13岁就实现了成为职业棋手的梦想,但直到19岁才实现了围棋世界冠军的梦想。旁人看他是少年得志,他看自己却是棋路坎坷。李世石在入段3年后就停止了中学三年级的学业,从只有名字在册的学校自动退学,专心学习围棋。也是在那一年,他的父亲去世了,给他带来了巨大的打击。16岁的李世石为父亲没能看到自己夺冠的欢庆场景就与世长辞而感到特别内疚、悲伤。


       很长一段时间里,李世石都无法摆脱父亲去世带来的打击和影响。从2000年开始,他才又取得了一些成绩。也是在父亲去世后,李世石开始由之前那种缺乏“不赢棋誓不罢休”气势的少年,变成了拥有“非赢不可杀气”的斗士。到了2000年末, 李世石在巴卡斯杯天元战决赛中战胜柳才馨九段,获得他职业生涯里的第一个冠军。从那时开始,李世石方才感到,也许他真地能够在黑白棋子的世界里有所建树。2001年,李世石终于打进了世界棋战的决赛,在第五届LG杯世界棋王战决赛中,他的对手是李昌镐九段。决赛是五局三胜制,他取得了2:0的完美开局,只要再赢一局棋就是世界冠军了。在第三局比赛中,他的形势一片大好,便就有了一种稳操胜券的想法,结果气势被遏制住:连输三局,以2:3的总比分与世界冠军失之交臂。2002 年,李世石东山再起,在第十五届富士通杯决赛中获得了职业生涯的第一个世界冠军。14年后的2016年,李世石之所以被选中作为AlphaGo的挑战对象,很大程度上是因为他在围棋界保持顶尖水平已有十多年的时间。


       也正因为这一场千载难逢的人机围棋对决,才让这两个奔跑在各自追梦路上的年轻人,作为各自领域人类智慧的杰出代表并肩站在了世界的镜头前。


算法时空


       如果说哈萨比斯和李世石的成长历程串起了这一场世纪对弈在过去30年的来龙,那么AlphaGo得以战胜世界围棋冠军的技术力量就是未来30年人工智能发展的去脉。


       AlphaGo这款围棋人工智能程序是如何赢得与李世石九段的这一场对弈的呢?对于这个问题,上海纽约大学终身教授、前微软亚洲研究院副院长张峥用一种形象生动的方式做出了回答。张峥也把AlphaGo幽默地称为“狗狗”。他说,“狗狗” 其实是这样炼成的:它先偷看了3000万局棋谱,站到了巨人的肩膀上,然后自己左右手相互博弈增涨棋力。“狗狗”下棋的路数如同一杯口味混杂的鸡尾酒——它花费相对高昂的代价,逐个敲开搜索图谱,然后几十条“狗狗”夺门而出,以胜率判断为指南针,用蛮力一击到底。先闪电般地来回踩踏,再凝聚到一点上——啪,落子。既复杂也不复杂。AlphaGo把高度的计算量压缩到可以和人对局的程度,甚至用时更少。


      2016年1月28日,《自然》(Nature)期刊的封面文章从技术角度分析了AlphaGo击败欧洲围棋冠军樊麾二段的“思路”,题为《通过深度神经网络和树搜索来学会下围棋》(Mastering the game of Go with deep neural networks and tree search)。脸书(Facebook)人工智能研究院智能围棋项目负责人田渊栋后来撰文分析了该文的核心内容,可归纳如下。


       首先,AlphaGo系统主要由4个部分组成: 


       1)走棋网络(Policy Network)。给定当前局面,预测或采样下一步走棋。


       2)快速走子(Fast Rollout)。目标和走棋网络一样,但容许适当牺牲走棋质量,因此速度比走棋网络快1000倍。


       3)估值网络(Value Network)。给定当前局面,预估白子还是黑子胜出。


       4)蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)。把以上三部分联系起来,形成一个完整的系统。


       其次,这4个部分各有其运作方式: 


       1)“走棋网络”把当前局面作为“输入”信息,预测或采样下一步的走棋。它的预测不只给出最强的一手,而是对棋盘上所有可能的下一手给定分数。因此,棋盘上有361个点就给出361个分数,而且好招的分数比坏招要高。所谓0.1秒走一步, 就是纯粹用“走棋网络”来下出有最高置信度的合法着法。与以往相比的突破处在于这种做法没有使用常规的“计算式” 搜索,而是“大局观”非常强,避免陷入局部战斗中。如果说AlphaGo因此建模了“棋感”并不为过,特别这在以前是不可想象的。之前机器与人类对弈时使用的是基于规则或局部形状,再加上简单线性分类器训练的走子生成法,需要人类辅助调整参数才会有进步。当然,只用走棋网络,有点像高手不经认真思考的“直觉”随手棋。


       2)有了“走棋网络”,为何还要做“快速走子”呢? 这里有两个原因。首先,“走棋网络”的运行速度比较慢(AlphaGo的速度是3毫秒),而“快速走子”能做到几微秒级别。所以,在“走棋网络”还没有返回的时候,让CPU先搜索起来也很重要。等到“走棋网络”反馈更好的着法后,再更新对应的着法信息。其次,快速走子可以用来评估盘面。由于可能局面数是个天文数字,围棋的搜索是毫无希望走到底的。搜索到一定程度就要对现有局面做评估。一个质量高、速度快的走子策略会大大提高机器的棋力,相当于“以人之短襄助己(机)长”。AlphaGo使用了传统的局部特征匹配(Local Pattern Matching)加上线性回归(Logistic Regression)的方法,达到了2微秒的走子速度和24.2%的走子准确率。24.2%的意思是说,它的最好预测和围棋高手的下子有0.242的概率是重合的。相比之下,“走棋网络”在计算机GPU上用远超乎人类速度的2毫秒时间就能达到人类可能期盼的57%的走棋准确率。由此可以看出:在人类智慧的干涉下,人工智能对于围棋走子速度和精度的权衡。和广义的“深度学习”训练模型不同,“快速走子”使用了一些围棋领域知识来进行“局部特征匹配”。


       3)AlphaGo的“估值网络”可被看作是锦上添花的部分。如果只用“估值网络”来评估局面,其效果还不如只用“快速走子”。只有把两方面合起来才会有更大的提高。“估值网络”训练数据的生成与“走棋网络”不同:每一盘棋只选取一个样本来训练,以避免过拟合。否则,对于同一对局来说, 即便输入稍有不同,输出都是相同的。这对训练很不利。这也就解释了为何需要3000万局、而不是3000万个盘面。对于每局的自我对局,样本选取也很有讲究:先用“直接通过训练学习到的网络”(SL Network)保证走棋的多样性,随机走子、取盘面;然后用更精确的“使用增强学习进行自我对局后得到的走棋网络”(RL Network)走到底,以得到最正确的胜负估计。令人吃惊之处在于DeepMind完全没有做任何对局部死活、对杀的分析,纯粹用暴力训练法训练出了一个相当不错的“估值网络”。这在一定程度上说明“深度卷积网络”(Deep Convolutional Neural Network,DCNN)有自动将问题分解成子问题并分别解决的能力。


       4)对于“蒙特卡洛树搜索”的描述,可能更符合机器而非人类的思维理解范式。AlphaGo使用了带有人类“文艺思维” 式“先验”特征的UCT算法(Upper Confidence Bound Apply to Tree,即“上限置信区间算法”,是一种“博弈树搜索”算法),然后做出了更加机器“文艺思维”式的决绝判定:即先考虑“卷积网络”认为比较好的着法,然后等到每个着法探索次数多了,选择更相信探索得来的胜率值。在允许使用大量搜索次数的情况下,这种方法可以找到一些“卷积网络”认为不好但对局面至关重要的着法。机器的“文艺感”在于每次搜索到“叶子节点”(Leaf Node,离散数学概念之一)时,没有立即展开叶子节点,而是等到访问次数到达一定数目(例如40) 才展开(想象一下春暖时掩藏在绿丛之下的树叶)。这样能避免产生太多的分支分散搜索注意力。既节省人工智能的GPU资源,也在面对人类展开时提高对落子盘面估值的准确度。


谁的春天? 


       综上分析也可以反映出,AlphaGo与以前的围棋系统相比,较少依赖围棋领域的知识,但也远未达到通用系统的程度。职业棋手可以在看过了寥寥几局后明白对手的风格,并采取相应的策略。到目前为止,人工智能系统要达到人类智能水平还需要大量样本的训练。可以说,没有千年来无数人类棋手在围棋领域的积累,也就不可能有围棋人工智能系统的今天。


       “深度卷积网络”有自动将问题分解成子问题并分别解决的能力。张峥教授在人机围棋大战开赛前是属于看好AlphaGo 可以胜出的少数派。而他对于AlphaGo的信心就是基于AlphaGo运行原理中的这一技术细节——AlphaGo的深度卷积网络。因为它是从棋局的小局部开始总结。而小局部的经验可以在棋局中自然迁移,有助于AlphaGo取得对弈的优势。


       AlphaGo的多层前馈卷积神经网络是从神经科学的研究中获得的启发。其中尤为重要的研究是1981年共同获得诺贝尔生理学或医学奖的胡贝尔(David H.Hubel)和威赛尔(Torsten Nils Wiesel)对视觉系统信息处理过程的研究。


       卷积神经网络是第一个真正的多层结构学习算法,是一种“深度监督学习”(Supervised Learning)下的机器学习模型。“监督学习”是“深度机器学习”方法的一种。AlphaGo 在这次人机围棋大战中的胜利,反映了能够进行深度学习的人工智能已取得了一日千里的进步。人类研究人工智能的目标, 按照张峥教授颇具诗意的表述,是“制造出有灵性的工具。” 恰恰也正是这份对“灵性”的探索和追求,促使科学家们不停地探究人类大脑的奥秘,试图通过加深对人类大脑的认识来创造出拥有人类般能力的人工智能。


       以AlphaGo为代表的人工智能之所以能取得今天的进步, 是因为吸收了人类知识宝库里几十年、甚至是上百年的研究成果。比如“强化学习”技术就是从控制理论、统计学、心理学等相关学科发展而来。最早可以追溯到巴普洛夫的条件反射实验。但直到20世纪80年代末、90年代初,强化学习技术才在人工智能、机器学习领域达到广泛研究和应用。


       AlphaGo挑战人类最复杂棋类运动围棋的成功,是各学科知识融会贯通、大量数据收集、硬件加速等多方面因素共同作用的结果,更是弱人工智能(ANI)飞速发展的典型代表。人工智能的发展包括三个阶段:弱人工智能(Artificial Narrow Intelligence,ANI),强人工智能(Artificial General Intelligence,AGI),以及超级智能(Artificial Superintelligence, ASI)。


       “弱人工智能”专门研究单项任务。比如,计算驾车行驶路线或下围棋。强人工智能是至少和人类智力水平相当的人工智能。从弱人工智能发展到强人工智能面临着巨大的挑战。这次围棋人机大战中AlphaGo的胜出,充分反映了人工智能在加速发展的现状。科学技术正以指数级的速度发展,也预示着强人工智能的实现并没有看起来那么遥不可及。


       作家巴雷特(James Barrat)在有一年的强人工智能大会上对人工智能专家们进行了一次调查,来了解大家对强人工智能发展进度的预期。他的调查数据显示:超过2/3的被调查者认为强人工智能将在2050年左右实现。在其他类似的调查中,人工智能专家们甚至更加乐观,认为2040年左右就能实现强人工智能。


       弱人工智能阶段的AlphaGo战胜人类围棋冠军的时间,比人们之前预测的时间早了10年。那么,未来强人工智能的实现会不会也为大家带来惊喜。想象一下,30多年后,一个智力水平和人类相当、会下围棋、甚至外形都与人类相似的机器人和李世石对弈,他会有怎样的感受?忆及往昔,他一定会百感交集。那一刻,也会在一个春天吗?(本文来自《新知》总第14期,图片来自网络

文章作者

郭佳

发表文章4篇 获得4个推荐 粉丝250人

科普作者、书籍译者

中读签约作者

现在下载APP,注册有红包哦!
三联生活周刊官方APP,你想看的都在这里

下载中读APP

全部评论(21)

发评论

作者热门文章

推荐阅读