
人工智能(Artificial Intelligence, AI)是当下非常热门的一个讨论主题之一,想必大家对它并不陌生。然而,在十几年前,一提到人工智能,很多人都会认为人工智能这是一个学术性的名词,离生活还非常遥远。大家往往会觉得这个名词应该是属于学术界的,而在日常生活或者工业应用中并不常见。当时的研究热点包括P2P网络、网格计算、信息安全、云计算等,而人工智能被普遍认为是一种比较虚无缥缈、难以落地的、一种偏理论的学术研究。但是放眼现在如今,人工智能的概念已经深入人心,并且它的很多应用跟大家的日常生活息息相关。
今天,智能算法研究中心的黄翰教授并不打算跟大家重谈人工智能的发展历史或者目前人工智能目前的广泛应用,而是想和大家聊一聊人工智能的本质到底是什么。黄老师认为,人工智能的本质是知识的表示。也就是说,不管是从应用还是表征上看,人工智能这种人为制造的智能形式,本质应该都是知识的表示。人工智能表现出的人为制造的智能的这种形式,它的本质应该都是知识的表示。

首先,由于现在很多的人工智能都是用电子计算机或者移动终端来实现的,因此我们在讨论人工智能的本质时,应该要去思考它是怎么被编码到计算机中的。前面提到,人工智能的本质是知识的表示。这意味着,,一个人工智能之所以能够被成功地被编码到计算机中,成为大家看得见、摸得着、用得上的应用,并且服务于社会,这与离不开它成功的知识表示是密不可分的。简而言之,人工智能被成功编码到计算机中就是知识被成功地编码到计算机中。
人工智能的很多问题都可以从知识表示的角度去解释与回答。接下来,我们简单举几个人工智能的例子。1997年,IBM公司生产的计算机“深蓝” (Deep Blue)((Deep Blue))战胜了人类世界的象棋冠军卡斯帕罗夫。“深蓝”是使用C语言编码,、运行在AIX操作系统上的计算机,其运算速度可以达到每秒2亿步棋。本次比赛意味着,人工智能可以使最能代表人类智慧的一项运动——棋类运动,可以用被人工智能——呈现出惊人的人机博弈的技术效果。

图1 计算机“深蓝”与国际象棋世界冠军卡斯帕罗夫对战实况图
当时,在第一局比赛中,“深蓝”战胜了人类的世界级国际象棋冠军卡斯帕罗夫,这使人们大受震撼,。但是,从第二局比赛开始后,卡斯帕罗夫好像从第二局比赛开始就抓住了“深蓝”的弱点,在后面的几局中取得了连胜最终以4:2取胜,成功反杀计算机。因此,这次人机大战虽然有一定的影响力,但并不如后来的AlphaGo彻底击败了人类的超级计算机令人印象深刻。
人类能反杀计算机并不是因为“深蓝”这个AI不够 “聪明”,而是因为它受到当时设备水平的约束限制,运算能力不足以支撑国际象棋的知识表示。对于国际象棋的棋谱,我们一般会用离散数学中的一个叫做博弈树(Game Tree)的经典模型作为它的知识表示,再将其转化为计算机编码。

图2国际象棋博弈树模型示例图
一个棵博弈树对应一局棋局,包括每一个棋步及其后续对弈的情况,因此这种博弈树的规模往往比较庞大。设想一下,如果你下了一步棋后,对方有八招可以应对,那么此时博弈树就有8个分支;对方选取八招之一应对后,每一招你可能有至少五招应对,也就是那么博弈树至少有8×5 = 40种分支的可能;然后针对你的棋步,对方又有多招应对,接着乘下去,这可能出现的棋局将是一个指数级的组合,因此计算量特别大。然而,那时当时最好的计算机的计算能力甚至比不上现在的一个智能手表,远远达不到国际象棋的知识表示的需求。在这种情况下,我们可以合理猜测,在第一局中,卡斯帕罗夫在第一局中失败的原因可能是轻敌了,而到了第二局,卡斯帕罗夫,他开始认真集中精神对战,AI就却由于算力不足而“思虑不周”,在人类面前节节败退。
2016 年 3 月,经过近20年的时间后,综合深度、强化学习思想的谷歌人工智能机器人AlphaGo于2016 年 3 月问世,并且一举战胜围棋九段高手李世石。李世石在围棋领域的知名度极高,获得过多项世界级围棋比赛的冠军,是一位天才级别的选手。然而,AlphaGo在与李世石对弈时,没有给他任何喘息的机会步步紧逼,最后以总比分4:1的巨大优势获得了胜利。在李世石之前与之后还也有不少围棋八段、九段的棋手陆续挑战AlphaGo,但最后都以失败告终。AlphaGo的胜利掀起了关于人工智能的学习、研究、投资、应用产业化的热潮,自此AI自此开始走入大众视野,逐渐变得家喻户晓。

图3 AlphaGo与围棋世界冠军李世石对弈实况图
至此,大家可能会想:AlphaGo之所以表现出色,是不是因为它真的比“深蓝”聪明很多?其实,从知识表示的角度来说,围棋棋谱的知识跟国际象棋棋谱的知识在模型表示上具有共通性,它们本质上都可以用博弈树进行建模。但是相比与国际象棋相比,围棋棋盘更大,棋步的排列组合数量更多,这使得其博弈树模型的规模更大,所以在这数据计算和存储方面AlphaGo会遇到比“深蓝”更大的困难。但AlphaGo诞生的时代是于 “深蓝”问世近20年后,此时已经出现了算力非常强大的超级计算机与廉价的海量存储,这为AlphaGo的搜索能力提供了重要的高性能设备支持。此外,随着5G时代的到来,通讯手段的增强也为AlphaGo的下棋思路提供了强大的技术支持。但实际上,AlphaGo在知识表示上并没有太大的突破,算法本质上还是依托博弈树模型的思想,主要是算力的突破将使AlphaGo它取得了推向了最终的成功。即便AlphaGo在算法上有所改进,那也是因为算力不同,就像做菜一样,原材料和厨具不同,做菜的条件发生改变,烹饪的手法自然也会产生变化。
2017年10月,Google前沿的人工智能企业DeepMind在世界顶级科学杂志《Nature》上发表文章“Mastering the Game of Go without Human Knowledge”[1],AlphaGo Zero横空出世,声称不需要棋谱训练,完全依靠自我强化学习和参悟,并在短短三天内,就以100:-0的成绩击败哥哥AlphaGo,成为“顶级高手”。“参悟” 一词颇具灵性,大家可能会好奇计算机是怎么参悟的?这个AI是不是真的不需要训练?如此下去,计算机是不是很快就可以取代人类?韩国一导演曾经拍过一部科幻电影,其中一个故事是说一个机器人在寺庙打扫卫生之际,突然顿悟了佛法,后来甚至成为了得道高僧。这些媒体的宣传一度使人开始怀疑AI机器人是不是将很快就会超过人类,并且占领世界,甚至统治人类。

图4 《人类灭亡报告书》电影剧照图
我们先不说AI能超过人类的可能性有多大,而是就只是聚焦当下,看看AlphaGo Zero到底做了些什么。要想知道AlphaGo Zero做了些什么,还要从AlphaGo说起。AlphaGo利用数据驱动的方式,通过训练可以得到一棵博弈树,它是一个离散数学里的图(Graph)的模型,该模型包含节点、边、权重的计算关系。图的模型在计算机中常用的表示方法有邻接表法、矩阵表示法、链表法等,其中邻接表法的实现包括线性表和数组两种形式。总之,AlphaGo是用数据结构将棋步知识编码到计算机中的。而AlphaGo Zero虽然没有训练数据,但它能提供一个方法让计算机生成一个图的模型,并且能够把这个图的模型编码到计算机里。两者相比,AlphaGo是通过数据驱动去得到一个模型,而AlphaGo Zero是通过自动生成去得到一个模型。
大家可能会问:如何实现自动生成是如何实现的呢怎么做?计算机中有一个名为搜索算法的技术。一般来说,搜索算法技术需要一个评估目标,即搜索结果。对于一个图的模型,搜索算法主要是搜索图的节点、边和权重,这是它是一个比较复杂的组合优化问题。组合优化问题中都会有一个目标函数,。AlphaGo Zero中的目标函数是一个小型的验证数据集,比如AlphaGo的用过的数据集,即用数据来测试计算机搜索得到的模型的好坏。从机器学习角度来说,这不叫训练,但其实它跟为数据标记正确答案和错误答案,然后拿去训练的本质是相同的。这有点像我们去找东西或者做东西的时候,每做一个方案就拿回来给人家评价一下是好还是不好。

图5 包含AlphaGo Zero的《Nature》杂志示意图
AlphaGo Zero本质上就是以搜索算法或者优化算法的方式,利用计算机自动生成和AlphaGo类似的博弈树图模型。假设AlphaGo是用一亿个棋局的数据训练出来的,那么AlphaGo Zero可以在AlphaGo搜索结果的基础上,通过自动搜索得到更多的图模型的组合,除非理论上AlphaGo的图模型已经是最优的图模型,即它可以在世界上所有的棋局中取胜。但很显然,棋局的排列组合方案的数目是一个超出个人类没有办法计算能力之外算完的天文数字,这一亿个棋局远远不能代表全部的棋局。而AlphaGo Zero可以用搜索算法的方式搜索到AlphaGo通过数据学不到的东西,这个技术在现在的机器学习领域被称为神经架构搜索(Neural Architecture Search, NAS)技术。AlphaGo Zero的成功,本质上是用计算机去搜索更优的知识表示编码,例如树的结构和图的模型等,还是离不开知识的表示。
然后,我们将目光转向大家所熟知的计算机视觉。计算机视觉是人工智能中非常重要的一个分支,。我们现在使用的人脸识别、图像检测、医学图像分析等都是跟计算机视觉有关的应用。计算机视觉的输入数据一般是图像或者视频,那么如何表征视觉的知识呢?研究者们采用了一种叫分类器的模型,。我们可以把它简单理解成一种复杂的多级的图的模型, 它的节点、边和权重都有运算意义,比如说像Adaboost这种级联弱分类器等。

图6 AdaBoost算法流程图
机器视觉模型的本质是建立一个图的模型,语音识别也是与之类似。语音识别是一种信号,这种信号的知识表示一般是表示音频的信号和语音字库的一种对应关系,用语言的符号来呈现。语言的符号会涉及另外一个名为自然语言处理的分支,它的知识表示一般采用一些词袋模型、词向量模型等。

图7 语音识别示意图
除此之外,一些人工智能相关技术的前端应用也是在讲知识表示的故事。例如,我们在视频监控里识别一个人是否戴口罩或者一个人是否蒙面,首先要把戴口罩或蒙面的知识用计算机表示出来;在烟火检测或烟雾检测中,首先得要把烟火跟烟雾的知识用计算机表示出来。

图8 蒙面检测示意图

图9 烟雾检测示意图
除了写一个显性规则或者一个命题逻辑表示知识,还可以通过基于数据驱动的方法去学习这些知识,即利用数据把规则通过计算的方式存储在给定的图模型中,这个图模型往往会采用卷积神经网络来实现,这也是一种知识的表示。前者是基于规则的知识表示,后者则是基于数据驱动的知识表示。从2010年的NEC-UIUC[2],到2012年的Super Vision[3],到、2014年的GoogLeNet[4]和VGG[5],还有、2015年的MSRA[6],以及近几年提出的一些网络模型,这些深度学习的发展也是把相关知识表示成了神经网络结构。最后,知识图谱也是目前大家关注的热点之一,它本身就是一种很直观的知识的图表示。
总的来说,知识的表示就是人工智能的本质。无论你是是研究自动推理、深度学习、知识图谱、图模型、神经网络结构还是运算,都是人工智能知识表示的一种方式。从知识的表示的角度去看人工智能来看,人工智能的成功与否其实就在于知识表示的成功与否。

参考文献
[1] Silver D. Silver, J. Schrittwieser J, K. Simonyan K, et al. "Mastering the game of Go without human knowledge", [J]. Nature, vol. 550, no. 7676, pp. 354-359, 2017.
2017, 550(7676): 354-359.
[2] Y. Lin, F. Lv, S. Zhu, et al. "Large-scale image classification: Fast feature extraction and SVM training", in Proceedings of Computer Vision Pattern Recognition (CVPR), pp. 1689-1696, 2011.
[3] A. Krizhevsky, I. Sutskever, and G. Hinton. "ImageNet classification with deep convolutional neural networks", in Proceedings of Neural Information Processing Systems (NIPS), vol. 25, pp. 1097-1105, 2012.
[4] C. Szegedy, W. Liu, Y. Jia, et al. "Going deeper with convolutions", arXiv preprint arXiv:1409.4842, 2014.
[5] K. Simonyan, and A. Zisserman. "Very deep convolutional networks for large-scale image recognition", arXiv preprint arXiv:1409.1556, 2014.
[6] K. He, X. Zhang, S. Ren, et al. "Delving deep into rectifiers: Surpassing human-level performance on imagenet classification", in Proceedings of the IEEE International Conference on Computer Vision, pp. 1026-1034, 2015.
总编:黄翰
责任编辑:袁中锦
文字:黄翰
图片:袁中锦
校稿:何莉怡
时间:2022年1月11日