华南理工大学从知识表示看人工智能(上)

今天,智能算法研究中心的黄翰教授并不打算跟大家重谈人工智能的发展历史或者目前人工智能目前的广泛应用,而是想和大家聊一聊人工智能的本质到底是什么。黄老师认为,人工智能的本质是知识的表示。也就是说,不管是从应用还是表征上看,人工智能这种人为制造的智能形式,本质应该都是知识的表示。人工智能表现出的人为制造的智能的这种形式,它的本质应该都是知识的表示。

首先,由于现在很多的人工智能都是用电子计算机或者移动终端来实现的,因此我们在讨论人工智能的本质时,应该要去思考它是怎么被编码到计算机中的。前面提到,人工智能的本质是知识的表示。这意味着,,一个人工智能之所以能够被成功地被编码到计算机中,成为大家看得见、摸得着、用得上的应用,并且服务于社会,这与离不开它成功的知识表示是密不可分的。简而言之,人工智能被成功编码到计算机中就是知识被成功地编码到计算机中。

人工智能的很多问题都可以从知识表示的角度去解释与回答。接下来,我们简单举几个人工智能的例子。1997年,IBM公司生产的计算机“深蓝”(DeepBlue)((DeepBlue))战胜了人类世界的象棋冠军卡斯帕罗夫。“深蓝”是使用C语言编码,、运行在AIX操作系统上的计算机,其运算速度可以达到每秒2亿步棋。本次比赛意味着,人工智能可以使最能代表人类智慧的一项运动——棋类运动,可以用被人工智能——呈现出惊人的人机博弈的技术效果。

图1计算机“深蓝”与国际象棋世界冠军卡斯帕罗夫对战实况图

当时,在第一局比赛中,“深蓝”战胜了人类的世界级国际象棋冠军卡斯帕罗夫,这使人们大受震撼,。但是,从第二局比赛开始后,卡斯帕罗夫好像从第二局比赛开始就抓住了“深蓝”的弱点,在后面的几局中取得了连胜最终以4:2取胜,成功反杀计算机。因此,这次人机大战虽然有一定的影响力,但并不如后来的AlphaGo彻底击败了人类的超级计算机令人印象深刻。

人类能反杀计算机并不是因为“深蓝”这个AI不够“聪明”,而是因为它受到当时设备水平的约束限制,运算能力不足以支撑国际象棋的知识表示。对于国际象棋的棋谱,我们一般会用离散数学中的一个叫做博弈树(GameTree)的经典模型作为它的知识表示,再将其转化为计算机编码。

图2国际象棋博弈树模型示例图

一个棵博弈树对应一局棋局,包括每一个棋步及其后续对弈的情况,因此这种博弈树的规模往往比较庞大。设想一下,如果你下了一步棋后,对方有八招可以应对,那么此时博弈树就有8个分支;对方选取八招之一应对后,每一招你可能有至少五招应对,也就是那么博弈树至少有8×5=40种分支的可能;然后针对你的棋步,对方又有多招应对,接着乘下去,这可能出现的棋局将是一个指数级的组合,因此计算量特别大。然而,那时当时最好的计算机的计算能力甚至比不上现在的一个智能手表,远远达不到国际象棋的知识表示的需求。在这种情况下,我们可以合理猜测,在第一局中,卡斯帕罗夫在第一局中失败的原因可能是轻敌了,而到了第二局,卡斯帕罗夫,他开始认真集中精神对战,AI就却由于算力不足而“思虑不周”,在人类面前节节败退。

图3AlphaGo与围棋世界冠军李世石对弈实况图

至此,大家可能会想:AlphaGo之所以表现出色,是不是因为它真的比“深蓝”聪明很多?其实,从知识表示的角度来说,围棋棋谱的知识跟国际象棋棋谱的知识在模型表示上具有共通性,它们本质上都可以用博弈树进行建模。但是相比与国际象棋相比,围棋棋盘更大,棋步的排列组合数量更多,这使得其博弈树模型的规模更大,所以在这数据计算和存储方面AlphaGo会遇到比“深蓝”更大的困难。但AlphaGo诞生的时代是于“深蓝”问世近20年后,此时已经出现了算力非常强大的超级计算机与廉价的海量存储,这为AlphaGo的搜索能力提供了重要的高性能设备支持。此外,随着5G时代的到来,通讯手段的增强也为AlphaGo的下棋思路提供了强大的技术支持。但实际上,AlphaGo在知识表示上并没有太大的突破,算法本质上还是依托博弈树模型的思想,主要是算力的突破将使AlphaGo它取得了推向了最终的成功。即便AlphaGo在算法上有所改进,那也是因为算力不同,就像做菜一样,原材料和厨具不同,做菜的条件发生改变,烹饪的手法自然也会产生变化。

图4《人类灭亡报告书》电影剧照图

我们先不说AI能超过人类的可能性有多大,而是就只是聚焦当下,看看AlphaGoZero到底做了些什么。要想知道AlphaGoZero做了些什么,还要从AlphaGo说起。AlphaGo利用数据驱动的方式,通过训练可以得到一棵博弈树,它是一个离散数学里的图(Graph)的模型,该模型包含节点、边、权重的计算关系。图的模型在计算机中常用的表示方法有邻接表法、矩阵表示法、链表法等,其中邻接表法的实现包括线性表和数组两种形式。总之,AlphaGo是用数据结构将棋步知识编码到计算机中的。而AlphaGoZero虽然没有训练数据,但它能提供一个方法让计算机生成一个图的模型,并且能够把这个图的模型编码到计算机里。两者相比,AlphaGo是通过数据驱动去得到一个模型,而AlphaGoZero是通过自动生成去得到一个模型。

大家可能会问:如何实现自动生成是如何实现的呢怎么做?计算机中有一个名为搜索算法的技术。一般来说,搜索算法技术需要一个评估目标,即搜索结果。对于一个图的模型,搜索算法主要是搜索图的节点、边和权重,这是它是一个比较复杂的组合优化问题。组合优化问题中都会有一个目标函数,。AlphaGoZero中的目标函数是一个小型的验证数据集,比如AlphaGo的用过的数据集,即用数据来测试计算机搜索得到的模型的好坏。从机器学习角度来说,这不叫训练,但其实它跟为数据标记正确答案和错误答案,然后拿去训练的本质是相同的。这有点像我们去找东西或者做东西的时候,每做一个方案就拿回来给人家评价一下是好还是不好。

图5包含AlphaGoZero的《Nature》杂志示意图

AlphaGoZero本质上就是以搜索算法或者优化算法的方式,利用计算机自动生成和AlphaGo类似的博弈树图模型。假设AlphaGo是用一亿个棋局的数据训练出来的,那么AlphaGoZero可以在AlphaGo搜索结果的基础上,通过自动搜索得到更多的图模型的组合,除非理论上AlphaGo的图模型已经是最优的图模型,即它可以在世界上所有的棋局中取胜。但很显然,棋局的排列组合方案的数目是一个超出个人类没有办法计算能力之外算完的天文数字,这一亿个棋局远远不能代表全部的棋局。而AlphaGoZero可以用搜索算法的方式搜索到AlphaGo通过数据学不到的东西,这个技术在现在的机器学习领域被称为神经架构搜索(NeuralArchitectureSearch,NAS)技术。AlphaGoZero的成功,本质上是用计算机去搜索更优的知识表示编码,例如树的结构和图的模型等,还是离不开知识的表示。

然后,我们将目光转向大家所熟知的计算机视觉。计算机视觉是人工智能中非常重要的一个分支,。我们现在使用的人脸识别、图像检测、医学图像分析等都是跟计算机视觉有关的应用。计算机视觉的输入数据一般是图像或者视频,那么如何表征视觉的知识呢?研究者们采用了一种叫分类器的模型,。我们可以把它简单理解成一种复杂的多级的图的模型,它的节点、边和权重都有运算意义,比如说像Adaboost这种级联弱分类器等。

图6AdaBoost算法流程图

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

图7语音识别示意图

图8蒙面检测示意图

图9烟雾检测示意图

总的来说,知识的表示就是人工智能的本质。无论你是是研究自动推理、深度学习、知识图谱、图模型、神经网络结构还是运算,都是人工智能知识表示的一种方式。从知识的表示的角度去看人工智能来看,人工智能的成功与否其实就在于知识表示的成功与否。

参考文献

[1]SilverD.Silver,J.SchrittwieserJ,K.SimonyanK,etal."MasteringthegameofGowithouthumanknowledge",[J].Nature,vol.550,no.7676,pp.354-359,2017.

2017,550(7676):354-359.

[2]Y.Lin,F.Lv,S.Zhu,etal."Large-scaleimageclassification:FastfeatureextractionandSVMtraining",inProceedingsofComputerVisionPatternRecognition(CVPR),pp.1689-1696,2011.

[3]A.Krizhevsky,I.Sutskever,andG.Hinton."ImageNetclassificationwithdeepconvolutionalneuralnetworks",inProceedingsofNeuralInformationProcessingSystems(NIPS),vol.25,pp.1097-1105,2012.

[4]C.Szegedy,W.Liu,Y.Jia,etal."Goingdeeperwithconvolutions",arXivpreprintarXiv:1409.4842,2014.

[5]K.Simonyan,andA.Zisserman."Verydeepconvolutionalnetworksforlarge-scaleimagerecognition",arXivpreprintarXiv:1409.1556,2014.

[6]K.He,X.Zhang,S.Ren,etal."Delvingdeepintorectifiers:Surpassinghuman-levelperformanceonimagenetclassification",inProceedingsoftheIEEEInternationalConferenceonComputerVision,pp.1026-1034,2015.

THE END
1.人工智能中的知识表示及应用特点机器之心知识表示是一组描述事物的约定,可以看成是人类知识表示成机器能处理的数据结构。知识表示是人工智能的一个重要研究课题,应用人工智能技术解决实际问题,就要涉及各类知识如何表示。我们要研究如何将知识存储在计算机中,能够方便和正确地使用知识,合理地表示知识,使得问题的求解变得容易和具有较高的求解效率。知识表示是数据https://www.jiqizhixin.com/articles/2019-04-09-7
2.第2章:知识表示知识表示是关于世界的信息表示符合机器处理的模式,用于模拟人对世界的认识和推理,以解决人工智能中复杂任务。 一种知识表示分类观点(1)基于非逻辑的知识表示(2)基于数理逻辑的知识表示(3)基于统计学习的分布式知识表示。 知识表示的发展 经典知识表示 逻辑描述 https://blog.csdn.net/weixin_42486623/article/details/117923748
3.知识的表示方法有哪些1. 符号表示法:使用符号、图形、数字等方式来表示知识,如数学公式、化学结构式等。 2. 语言表示法:使用语言文字来传达和表达知识,如书籍、讲座、讲义等。 3. 图形表示法:使用图表、图像等形式来展示知识,如流程图、思维导图、统计图表等。 4. 数据表示法:使用数据和统计信息来表达知识,如数据库、统计分析、数https://www.360doc.cn/article/75092861_1119240635.html
4.知识表示的意思知识表示的解释知识表示 知识表示[zhī shí biǎo shì] [计] knowledge representationhttps://www1.dict.li/%E7%9F%A5%E8%AF%86%E8%A1%A8%E7%A4%BA/
5.知识表示(豆瓣)写书评 加入购书单 分享到 推荐 内容简介· ··· 本书是计算机专业本科生或研究生知 丛书信息· ··· 经典原版书库(共380册), 这套丛书还有 《神经网络设计》《计算机网络教程》《数字信号处理》《软件工程》《纯数学教程》 等。 喜欢读"知识表示"的人也喜欢的电子书· ··· 支持Web、iPhonehttps://book.douban.com/isbn/9787111121497
6.知识表示学术百科提供全面的“知识表示”相关文献(论文)下载,论文摘要免费查询,知识表示论文全文下载提供PDF格式文件。知识表示中文、英文词汇释义(解释),“知识表示”各类研究资料、调研报告等。https://wiki.cnki.com.cn/HotWord/153538.htm
7.知识表示是什么意思应该怎么翻译科学技术名词规范用词知识表示 英文翻译KR 所属学科计算机科学技术>人工智能 名词审定计算机科学技术名词审定委员会 见载刊物《计算机科学技术名词(第二版)》 科学出版社 公布时间2002年https://mkeji.911cha.com/djd1Mg==.html
8.知识表示相关工具书解释 ·英语常见问题解答大词典·实用金融英汉词典·汉英政治经济词汇新编·英语常用词详解词典·汉英新词新语辞典 knowledge representation(本文共28字)阅读全文>> 权威出处:《英汉-汉英文献信息词典》 扩展阅读: ·知识表示https://mall.cnki.net/reference/R2007080010079718.html
9.什么是知识表示?人类最擅长理解、推理和解释知识。人类知道事物,这是知识,根据他们的知识,他们在现实世界中执行各种行动。但是机器如何做所有这些事情取决于知识表示和推理。因此,我们可以将知识表示描述如下: 知识表示和推理(KR,KRR)是人工智能的一部分,它关注人工智能代理的思维以及思维如何促进代理的智能行为。 它负责表示有关现实https://www.rocschool.com/tutorial/rocschool-show-326.html
10.知识表示概述本实训主要介绍知识与知识表示的概念,通过学习让你从总体上了解知识表示的基本概念及特点。 任务关卡 第1关知识与知识表示的概念 正在挑战7人次完成挑战462人次可获经验30点 所属课程 人工智能导论 8611 技能标签3 知识的表示知识的特性知识的概念https://www.educoder.net/shixuns/4phjrqwk/challenges
11.知识的表示,knowledgerepresentation,音标,读音,翻译,英文例句根据模具设计知识的类型和特点,研究了CBR系统中冲模结构知识库知识与控制性知识的表示方法,导出了符合工程设计习惯的冲模结构知识库知识表示方法—典型冲模结构特征图和与其对应的适合于CBR推理的控制性知识表示方法—基于冲模结构特征的产生式规则表示。 更多例句>> 5http://dictall.com/indu/112/111594212E0.htm
12.知识表示的方法有哪些知识表示是人工智能领域的一个重要分支,它涉及到如何将知识或信息编码成计算机可以处理的形式。以下是一些常见的知识表示方法: 1. **符号表示**:这是知识表示中最基础的方法,使用变量、符号和规则来表示知识。例如,逻辑表示、一阶谓词逻辑等。 2. **语义网络**:在这种表示中,知识通过概念和它们之间的关系来表示http://www.360doc.com/content/24/0402/18/75092861_1119241038.shtml
13.知识的表示方法12篇(全文)框架(Frame)是一种结构化表示方法,是为表示重复的一连串原型事件而设计的,描述各类事件内部或相互关系的具体属性,框架通常由指定事物各个方面的槽(Slot)组成,每个槽拥有若干个侧面,而每个侧面又可拥有若干个值,因此在框架表示法中,框架被看成是知识表示的基本单元。不同的框架之间可以通过属性之间的关系建立联系,从而https://www.99xueshu.com/w/ikeymnyet27e.html
14.什么是知识表示?设计知识表示方法有什么要求?答案解析 查看更多优质解析 解答一 举报 知识表示(knowledge representation)是指把知识客体中的知识因子与知识关联起来,便于人们识别和理解知识.知识表示是知识组织的前提和基础,任何知识组织方法都是要建立在知识表示的基础上.知识表示有主观知识表示和 解析看不懂?免费查看同类题视频解析查看解答 https://qb.zuoyebang.com/xfe-question/question/e7306047f816735c3baf4f3ce46877a0.html
15.知识表示的基本概念.ppt第二章 知识表示 本章主要讨论知识表示问题,介绍7种知识表示方法:状态空间法、问题归约法、谓词演算法、语义网络法、框架表示、本体技术、过程表示。 掌握状态空间法、问题归约法、谓词演算法、语义网络法的要点及其之间的关系,了解框架表示、本体技术、过程表示。 知识表示的基本概念 知识表示:研究用机器表示知识的https://max.book118.com/html/2019/0924/8043034020002052.shtm
16.人工智能基础知识二知识表示腾讯云开发者社区知识表示是对知识的一种描述,或者说是一组约定,一种计算机可以接受的用于描述知识的数据结构。 选择知识表示方法的原则:充分表示领域知识,有利于对知识的利用,便于对知识的组织,维护与管理,便于理解与实现。 一阶谓词逻辑表示法 命题:非真即假的陈述句 谓词:刻画个体的性质,状态或个体之间的关系 https://cloud.tencent.com/developer/article/1825867
17.专家谈知识图谱:知识将比数据更重要,得知识者得天下以这四个条件去看知识表示就会发现,只有知识图谱是满足所有这些条件的:知识图谱规模巨大,动辄包含数十亿实体;关系多样,比如在线百科图谱DBpedia包含数千种常见语义关系;结构友好,通常表达为RDF三元组,这是一种对于机器而言能够有效处理的结构;质量也很精良,因为知识图谱可以充分利用大数据的多源特性进行交叉验证,也可利用https://www.secrss.com/articles/6106
18.人工智能·知识图谱知多少(一)描述逻辑(description logic)是一种用于知识表示的逻辑语言和以其为对象的推理方法,主要用于描述概念分类及其概念之间的关系。 一个描述逻辑系统中的名字可分为概念(concept),属性(role)和个体(individual) 基于描述逻辑进而丰富表达和精准计算属性的OWL DL和OWL Lite,以及以资源描述架构(英文:resource description framworhttps://maimai.cn/article/detail?fid=1510278754&efid=vg1buZ9HC84iBnYaGiBC1g
19.什么是知识表达?知识表达技术(knowledge representation technologies):一个集合名称,表示一套基本表达工具,例如逻辑、规则、框架、语义集等。 以各种语言建立知识表达的日常练习是很重要的,尤其是使用底层的知识表达技术。例如,Hayes关于液体的本体论就是处于一种由类似空间碎片的概念组成的表达阶段,包括了入点、表面、边等。(?)更为基https://www.jianshu.com/p/461319ca12e4
20.知识表示的方法——逻辑表示法产生式表示法框架表示法语义语义网络表示法、框架表示法、脚本表示方法、过程表示、混合型知识表示方法、 面向对象的表示方法等。 在本文中,着重介绍目前使用较多的知识表示方法。目前使用较多的知识表 示方法主要有:逻辑表示法、产生式表示法、框架表示法、语义网络表示法、面向对象表示等等。 https://blog.51cto.com/u_11908275/6393150