清华大学教授李涓子:AI系统如何实现认知推理?
您想知道的人工智能干货,第一时间送达
认知是人获取和应用知识的过程,知识图谱是人对客观世界认知的表示。人工智能系统如何实现知识的表示和推理?
在2021年世界人工智能大会上,由AI TIME组织的“图神经网络与认知智能前沿技术论坛”中,清华大学计算机系教授李涓子围绕“知识图谱与认知推理”做了主题报告,从问答系统的角度解释了AI如何实现认知推理。
图1:报告题目
李涓子指出,目前人工智能虽然在很多简单问答数据集的问答能力上已经可以和人类相媲美,但是对复杂问答的问答能力还任重而道远。
究其原因,李涓子认为:复杂问题的答案往往需要进行多跳的推理。为此,李涓子团队将知识驱动和数据驱动相结合,提出了可解释认知推理框架:将提问对象表示为图结构,将复杂问题解析为由基本函数组合而成的程序,以表示推理过程,在图结构上使用注意力机制进行模块推理,使得每个模块的输出可以被人类所理解。
图 2:认知推理框架
以下是报告全文,AI科技评论做了不改变原意的整理。
认知 VS 知识
图 3:本体
认知是人获取并应用知识的过程,知识图谱是人表示客观世界认知的一种形式。如图 3 所示,Ogden 和 Richard 在1923 年提出了经典的语义三角模型。该模型表明,人类可以通过符号建立起人在认知过程中形成的世界模型。在人类的知识系统中,人们将客观世界事物的认识概化和抽象为概念「Concept」,建立起概念和事物、概念和概念之间的关系,能够将客观世界中的实体和脑海中的概念对应起来,从而通过概念来认识和理解世界。「Form」(符号/词)指向「Referent」(指称物/事物)的虚线代表了人类使用符号为客观世界中事物赋予语义的过程(即通过词激活概念,再通过概念反映客观事物)。
图 4:知识图谱与本体
在2012 年,谷歌曾用「知识图谱」表示语义网络,这种图结构的表示中包含概念、实体,也包含它们之间的关系。由于这种方法在知识表征简单和具有知识的大规模性,在语义搜索中得到很好的应用。因此人工智能研究社区针对知识图谱开展了大量的应用和研究工作。
图 5:各种知识图谱
例如,研究人员已经构建起了各种通用/专用知识图谱,这些知识图谱在语义搜索、推荐系统,问答系统等应用场景下发挥了很大的作用。
人工智能的发展趋势
图 6:人工智能研究简介
人工智能研究者们的目标是研究和设计智能系统,让这些系统能够像人一样具有感知、推理、思考,并做出规划和决策的能力。并且通过「图灵测试」来测试系统是否具有智能。目前,人工智能研究已经发展出了许多子领域,例如:知识表示和推理、机器学习、计算机视觉、自然语言处理、机器人等。其中,知识的表示和推理在人工智能研究中具有很重要的地位。
图 7:人工智能与知识
目前,我们正处在第三代人工智能的浪潮。第一代人工智能的标志是“符号主义”,图灵奖获得者西蒙和纽威尔提出实现智能的充分必要条件是构造出一个物理的符号系统。费根鲍姆也因为建立了以领域知识库和推理构成的专家系统获得图灵奖。这一时沿着这个思路,研究者们开发出了一系列专家系统。这一时期,研究者认为实现智能系统不仅需要像人一样解决问题的能力,还应该具有人们所具有的知识。
第二代人工智能的标志是当下流行的深度学习。深度学习作为连接主义的代表性方法,尝试洞察以神经元和神经元之间的连接结构,从而获得研究智能的启发。第二代人工智能的关键之处在于利用大数据和强大算力和机器学习算法,即「数据+算法+算力」。目前,对深度神经网络的大规模预训练也在很多领域取得了很好的效果。
而第三代人工智能,需要在数据、算法、算力之外再向人工智能系统中引入知识。
图 8:知识驱动的人工智能
以IBM Watson Deep QA和目前GPT—3为典型代表,说明第一代和第二代人工智能系统的优势和存在问题。
IBM Watson 的 Deep QA 是符号主义的代表性应用之一。该问答系统在Jorpardy节目上战胜了人类冠军选手。系统有三个特点:(1)使用了大规模知识和非结构化资源(2)提出了一种有效融合问题理解、答案检索、论据查找的问答框架(3)通过机器学习算法对查找到的上百个答案进行推理和融合。
该框架也存在不足之处。首先知识是稀疏的,系统中使用了维基百科等知识图谱的结构化知识,然而最终的问题与知识图谱直接匹配上答案只有约 2%。此外,该系统也缺少对细粒度知识的表达,导致知识图谱和深度语义理解相互分裂开来。而我们认为,知识图谱和深度语义理解应该被结合起来。
图 9:数据驱动的人工智能(自然语言处理)
第二代深度学习的人工智能发展的代表当属基于深度学习的大规模预训练模型(例如,GPT-3),其在下游任务中无需经过特殊的训练,就可以获得很好地性能。例如,北京智源人工智能研究院发布了万亿参数的大规模预训练模型——「悟道」,它在文本生成、写诗等十余项任务上的性能已经超过了现在的 SOTA 模型。
当然,这种大规模预训练模型仍然不够智能。如图 9 右下角所示,GPT-3的 在问答任务中,有时答非所问,有时会给出存在很明显违背常识的答案。这说明,尽管大规模训练模型建立了数据之间复杂的结构关系,但并不一定具有了认知能力。
图 10:人工智能的未来
近年来,许多著名的学者都提出了对人工智能未来发展趋势的构想。例如,有「深度学习」三驾马车之称的Hinton、Bengio 和 LeCun 提出,人工智能将会结合表征学习和复杂的推理。我国人工智能泰斗、清华大学张钹院士指出,建立可解释、鲁棒的人工智能论和方法是十分必要的。
图 11:三空间融合法
张钹院士在《信息科学》期刊中给出了实现第三代人工智能的一种可能的理论框架——三空间法。其中,连续特征空间代表人的感知系统,离散语义符号空间代表认知系统,二者之间还存在一种连续的准语义空间。我们可以通过上升(raising)操作将连续空间中的特征表征迁移到准语义空间中,进而通过抽象操作将准语义空间中的表征迁移到离散语义符号空间中。反过来,我们可以通过嵌入、投影,将离散语义符号空间中的表征迁移到连续特征空间。这样一来,我们就构建了一种感知、认知相结合的通道。
图 12:系统 2 深度学习—认知
Bengio 等学者在今年6月的智源大会上提出,深度学习的发展正在经历从系统1的深度学习到系统2的深度学习,要想实现认知计算,我们就要实现系统 2 的深度学习。诺贝尔经济学奖获得者丹尼尔卡尼曼提出,在人的认知系统中存在系统 1 和系统 2,其中系统 2 进行较慢的逻辑化、序列化的推理。Bengio 介绍了他们基于该思想在因果理解、分布外数据(OOD)泛化等方面开展的一系列工作。
图 12:千脑理论
在美国工程院院士 Jeff Hawkins在北京智源大会上也介绍了他受脑皮层结构和工作机制的启发提出的「千脑理论」,该理论可以将数字与符号相结合。该理论指出,人类大脑皮层的底层参数非常多,非常不稳定,存在稀疏性。人类的树突结构具有连续的自监督学习能力,可以自动地不断进行各种预测,并在预测任务中去学习各种模式。
Jeff Hawkins 还提到:如今的深度学习系统中并没有恒定的知识表征,而人类的大脑中存在「参考系」的恒定表征(参考系处于大脑皮层的上层)。另外,由于人类大脑皮层中存在皮质柱结构,上千个皮质柱为对象构建出相互关联的模型,才能建立起世界模型。
可解释的认知推理
图 13:问答系统
我们团队从图灵测试出发,尝试在问答任务中探索可解释的认知推理技术。换句话说,问答系统用户提问的对象可能是图片、文本,也可能是知识图谱,可解释的问答系统都能给出准确的答案。
目前,虽然现有的问答系统在简单问答任务中,在很多数据集上达到了与人类相当的水平,但是在复杂问答任务中,和人类还相差甚远。
图 14:复杂问答和可解释推理
原因是:复杂问题的答案,不仅需要多跳的推理,可能还需要需要进行计数、比较,甚至是逻辑运算的操作。如图14 所示,当我们问到「两个乐队是否具有相同的人数」时。我们首先需要识别出两个乐队,明确每个乐队有哪些成员,然后分别对两个乐队的成员进行计数。最后对计数结果进行比较。上述步骤其实也是一个可解释的推理过程。
图 15:相关工作
目前,针对复杂问答任务,研究者已经尝试用语义解析、图神经网络、多跳查询等方法应对。然而,这些方法处理的知识的类型非常有限。例如,多步查询方法大多处理的查询是「键值对」的知识形式,图神经网络主要面向实体和实体关系类型的知识,对于其它类型的知识(例如,计数、属性值)往往束手无策。更重要的是,上述方法缺乏可解释性,无法解释得到推理结果的过程。
图 16:主要思路
为此,我们提出了基于图的可解释认知推理框架。框架以图结构数据为基础,将逻辑表达用作对复杂问题的分析过程,从而表示成显式的推理路径。注意“图结构既可以是文本中的实体或实体之间的关系的表示的图结构,可以是图片的场景图的图结构,也可以是知识图谱的图结构。
在认知推理框架中,我们可以将提问的对象描述为图的结构化数据,然后,在理解问题的过程中,将问题转化为模块化的描述。其中模块化过程是一个可编程的函数组合,可以把它分解为图上的最小粒度的操作函数序列;推理过程可以通过神经网络实现,我们为每一个元函数构建了对应的神经模块网络。上述每一个过程都可以展示出来,这意味着能够解释推理过程,从而输出相应的答案。
针对场景图的可解释显式视觉推理
图 18:视觉问答
基于上述框架,我们研究了视觉问答,即在图片的场景图上进行推理问答。视觉问答模型的输入为图片;问题为前文所述的复杂形式的自然语言问题;目标是要求问答系统直接给出准确的答案。
图 19:可解释的显式神经模块网络
如图 19 所示,我们可以通过场景图表征一张图片。可以利用现有的已生成的场景图,也可以首先感知物体,进而构建场景图;对于用户提出的问题而言,通过对问题进行予以解析得到函数序列的表征;然后,在推理过程中将各个神经模块网络应用于场景图。
图 20:场景图
这一视觉问答模型既可以用已有的场景图作为输入,也可以动态地通过目标检测补全场景图。
图 21:元模块
在此基础之上,我们设计了四种元函数,从而实现神经模块网络来进行推理,每一个元函数都对应一个神经模块网络。整个程序可以由神经模块网络组合而来。
图 22:CLEVR 数据集实验结果
模型效果如何?在 CLEVR 数据集上,模型在相较于现有方法大大降低参数量的前提条件下,达到了 100% 的精度。如图 22 右侧所示,亮点代表了每一步执行的结果,我们的方法可以有效地得出推理过程的可解释可视化结果。
图 23:VQA 数据集
不仅是CLEVR 数据集,我们的模型在真实的 VQA 数据集上比现有的最好模型,在准确率上也高出了三个百分点。
面向复杂的基于知识的问答的可解释编程
图 24:基于知识的问答
我们也将该框架应用到了基于知识的问答(KBQA)任务中。目的是通过可编程、可解释的程序来表示推理过程。该程序的输入为知识图谱和复杂问题,输出为所需要的答案。例如,我们问「姚明和Vanessa Laine Bryant的配偶谁更高?」。对于这一个复杂问题,我们希望根据知识图谱得到答案:「姚明」。
图 25:现有的 KBQA 数据集
目前现有的大多数 KBQA 数据集的规模有限,而且问题中多是仅仅考虑关系信息,忽略了属性信息等其他类型的知识,缺少需要复杂逻辑推理的问答。为此,我们提出了 KQA Pro 数据集,该数据集包含近 12 万个经过筛选的高质量问题。
图 26:主要思路
目前大多数与 KBQA 相关的研究都会把问题表示 SPARQL查询。我们在认知推理框架的基础上将其与对应的 SPARQL 建立联系,并表示为函数的编程问题,通过组合元函数的操作建立推理过程。如图 26 所示,如果我们要回答两个人谁更高的问题,我们实际上会执行一个 SELECT 语句,首先查找到两人的高度,然后对高度的数值进行比较。
在我们建立的数据集中,我们考虑了 9 种问题类型,并为知识库的各种操作定义了 27 个基本函数,可以回答包含逻辑操作、比较等类型的问题,也可以回答「Yes orNo」的选择问题。
图 27:KQA Pro 数据集的构建
在构建 KQA Pro 数据集的过程中,最终核心的部分是定义组合性的基本函数,以及通过组合这些基本函数构建推理的程序。我们把该过程称为可编程的函数组合。在构造过程中,我们首先基于知识库的模板生成大规模的问题,然后通过众包重写问题,再请其他人对重写的问题进行验证。
图 28:知识抽取
在数据集的构造过程中,不失通用性,我们使用了常用的 FB15K 数据集中的对象关系属性。在FB15K的基础之上扩展了各种更加详细的属性,将其与 WikiData 进行关联,并加入一些有歧义的实体。最终,得到的KQA Pro数据集包含了 700 多种概念,1 万多个实体,实体具有 300 多种关系型的属性,800 多种数值型、字符串型属性,以及上百万个三元组。
图 29:问题生成
在生成问题的过程中,我们需要解决两个问题:(1)保证问题的复杂性和多样性(2)明确提出的问题,定位到对应的答案。具体而言,在生成问题时,通过在知识图谱上进行采样的方式,先确定准确答案所在位置,然后用递归组合的方式扩展问题,让它成为一个复杂问题。
图 30:问题生成——定位阶段
我们的实体定位策略如图 30 所示,先定位到实体对应的概念,然后用概念和属性值进一步深度的扩展。例如,要定位某人口大于一定阈值的城市,可以通过关系扩展该问题,然后给出建立对应的嵌入式扩展问题的模式。
图 31:提问阶段
综上,可以支持 9 种复杂问题的提问方式,包括了计数、比较、验证和逻辑操作等丰富多样的问题。
图 31:重写和评价
我们在亚马逊AMT众包平台上让标注者重写机器生成的问题。针对每一个重写出来的问题,还有另外 5 个标注者评价该问题是否与原问题的意思相同,并且评价该问题是否符合自然语言的表达。
图 32:数据集简介
KQA Pro 数据集的程序中函数的组成、问题类型的分布、问题的长度如图 32 所示。
图 33:采样
我们还为每一个问答对设计了对应的 SPARQL 程序。在此基础之上能够构造有 10 种选项的选择题,同时让问答系统给出最终的标准答案。
图 34:在 KQA Pro 数据集上测试现有模型的结果
构建好数据集后,我们在端到端的环境下只利用问题和答案训练问答模型,测试现有的最好模型在我们的数据集上的性能。实验结果表明,现有的方法在 KQA Pro 上性能比在其它数据集上差很多。这说明,KQA Pro 上的问答任务较为困难。
图 35:多阶段训练实验结果
我们观察到,如果我们将这个端到端的过程分解为根据问题得到对问题的语义解析,再在此基础之上生成答案,使用BART 模型对问题的解析正确率能达到 80% 以上。这说明,对问题的理解实际上是一个认知过程。这种多阶段的方式比端到端训练模型的方式效果要好很多,说明中间的语义解析十分重要。
图 36:实验结果
我们可以更加透明地将推理过程显示出来。相较于 SPARQL,我们可以更清楚地知道推理出现了哪些错误。SPARQL 中涉及很多的变量,而我们可以很容易地在序列化执行过程中定位到问题,并对该问题进行修正。
图 37:KQA Pro+
目前,我们将该框架应用于完整的 Wikidata 数据上,该数据集涉及到 2000 多个属性。我们试图利用属性生成复杂问题,目前已经生成了上百万问题。我们希望可以用自然语言问答 Wikidata 上生成的问题,对于任何存在于 Wikidata 上的知识,我们都可以得到正确的对问题的理解,生成用户想要的答案。
结语:迈向认知推理
图 38:结语
总结一下,知识驱动和数据驱动相结合的表征和推理是机器智能研究的重要基础,我们提出了基于图的可解释认知推理框架。未来我们希望构建可扩展的通用推理函数库,找到构建推理过程所需的基本函数,并构建这些函数的模块神经网络。今后,我们希望能够考虑多模态的认知推理,并且实现增量性学习的推理过程。