You are on page 1of 44

目录

企业人工智能从技术战略到行业落地论坛 3

一、从感知智能到认知智能的挑战 4

二、人工智能研究领域最需要哪些突破? 7

三、人工智能在场景应用中的突出表现和挑战 8

四、关于阿里研究院 10

基于超大规模预训练模型的小样本和零样本学习 12

一、人工智能进入三轮同时驱动的时代 12

二、M6:中文多模态预训练模型 15

三、M6 超大规模预训练模型的应用场景 15

四、超大规模中文预训练语言模型 PLUG 16

五、大规模预训练模型 AliceMind 在 VQA 任务上的突破 17

六、从弱人工智能(Narrow AI)到通用人工智能(Artificial General Intelligence) 19

面向知识的可解释认知推理 20

一、Complex QA and Explainable Cognitive Reasoning 20

二、Knowledge Oriented Programming Language (KoPL) 28

三、KQA Pro: A Dataset for Complex KBQA with Reasoning Programs 35

四、Conclusions 42
3 > 企业人工智能从技术战略到行业落地论坛

企业人工智能从技术战略到行业落地论坛

【编者按】CCF C³是由中国计算机协会 CCF CTO Club 发起、面向企业技术专家的热门技术和

战略分享会。活动旨在联结企业 CTO 及高级技术人才和资深学者,每次以一个技术话题为核心,走

进一家技术领先企业。

2021 年 9 月 24 日,CCF C³第十期“认知智能”分享会在北京阿里研究院举行,来自各行业的

企业 CTO、高级技术人才和资深学者,共同探讨企业人工智能从感知智能向认知智能阶段发展的意

义。本次活动由 CCF 副秘书长、亿邦动力 CEO 王超主持,CCF 副理事长、创新工场首席科学家、澜

舟科技创始人周明做了开场致辞,并代表 CCF 为活动承办方阿里研究院颁发 CCF C³活动承办单位

感谢牌。

分享会上,阿里研究院副院长安筱鹏代表承办方致辞,清华大学长聘教授、清华大学人工智能

研究院知识智能中心主任李涓子和 CCF 人工智能与模式识别专委会常委、阿里巴巴研究院数字技术

研究部高级总监苏中在活动中分别作了题为《面向知识的可解释认知推理》和《基于超大规模预训

练模型的小样本和零样本学习》的报告。
企业人工智能从技术战略到行业落地论坛 < 4

活动最后,由苏中主持了名为《企业人工智能,从技术战略到行业落地》的高峰论坛,CCF 副

理事长周明、阿里巴巴集团公共事务副总裁程璟、清华大学李涓子教授参加了本次论坛。

以下为本次论坛的内容干货整理,以飨读者。

一、从感知智能到认知智能的挑战

相比以前的小数据智能,现在的人工智能是一个大数据的智能,因此数据、算法和算力相关作

用,形成三轮迭代的过程。但这其中还是需要将知识融合进去,这也是目前对人工智能的挑战。
5 > 企业人工智能从技术战略到行业落地论坛

人工智能进入三轮同时驱动的时代

图片引自主持人苏中《基于超大规模预训练模型的小样本和零样本学习》

人的智能是可以交互的,可以把简单的问题换一个角度重新阐述,但在大数据海量运算中是无

法实现的。所以人工智能的发展方向是将知识系统代入三轮中以便更好的推理和训练模型。

那么从感知智能到认知智能面临哪些挑战呢?

周明 CCF 副理事长、创新工场首席科学家、澜舟科技创始人
企业人工智能从技术战略到行业落地论坛 < 6

CCF 副理事长周明介绍,现阶段我国人工智能的发展水平与美国基本是并驾齐驱的。在感知智

能领域,从研究到实践已经做到了世界领先水平,超过了美国。在认知智能方面,由于本身的复杂

性,在全世界的发展都还处于摸索阶段。

所谓感知智能就像我们看到东西,听到东西,这是第一步,而认知智能就是相当于我们接受到

了感知信号之后,用大脑思考、回答问题、做决策的一个过程。我们希望电脑也能学习这个过程。

从感知智能跟认知智能在实现机理上的区别来看,感知智能可以理解为一个 single-turn(单轮

交互),一个输入和一个输出,基本不涉及知识图谱和常识,不需要推理步骤;相对应的认知智能

就是 multi-turn (多轮交互),包含复杂的内容和推理步骤,可能不单是算法、算力和数据能够解

决的。

现阶段人工智能还只是刚刚起步,我们需要建立知识库,实现推理过程。达到这一目有不同的

途径,可以从符号、知识图谱、常识来出发;也可以从数据出发,这两个加起来,就好像人脑的两

个思维过程,有人用 system 1 & system 2 来表示,system 1(直觉系统)是用大数据完成输入

后直接快速输出答案,end-to-end,无关对错,也没有太多的解释;而 system 2(逻辑推理系统)

就是一步一步推理最后给出答案。

未来这两种模式能否交汇?虽然方向还不明确,但无论往哪儿走,无非是从知识出发,要么从

数据出发,要么融合来解决问题,这是一个重要的课题和挑战。

周明副理事长举了个例子:我们想象一下如果一个人要解释一件事他可能会举例说明,但不会

举一万个例子,为什么电脑没有这么聪明呢?就是 end-to-end 预训练,它是假设大脑一片空白,什

么都没有,对任何新任务都要做 end-to-end 设计。

但实际中我们的大脑是有基础技能的,周明称之为 foundation skill,比如语言表达和理解能力、

计算能力,这些技能是不需要预训练的,只需要将它们连在一起,当有新任务出现的时候,大脑会

基于基础技能只需要做一些微调就可以轻松解决。
7 > 企业人工智能从技术战略到行业落地论坛

但现在的 end-to-end 预训练忽略了基础技能的存在而永远是从零开始设计,这就导致数据样本

量持续不足的现象(Few-shot)。foundation skill 可以是数据的也可以是知识的,也可以是融合的,

我们需要做的是将每一个基础技能做好,然后设法将它们连成一片,让每一次新任务出现时都可以

进行快速调整输出。不同于李飞飞提出的 foundation model(基础模型),同一模型可以管很多事,

skill(技能)适用于任何 model,而 foundation model 过于强调 model,周明认为是不对的。

那么面对众多行业,foundation skills 是通用的还是专用的?

首先,人作为一个人智能体有一些 foundation skills,比如语文数学英语,生活常识,等等这

些不分领域的技能是最底层,这就像现在预训练模型,无论你干什么具体任务,都是可以通用的。

当深入到某个领域的时候,由于领域的特点,又有一些领域独有的底层 foundation skill,比如电工、

交通警察、医生。如果我们把这些知识体系都建立好以后,当有新任务的时候就可以自由的调用不

同领域的知识体系来使用,也很容易从一个领域扩展到另一个领域。

周明的设想是首先由我们把最基础的技能整理建立一个类似 SaaS 平台,然后提供一个应用手册

给每个领域的专家来建立领域知识库,这样老员工可以通过 wiki 的形式将自己的知识加入进去,新

员工就可以看到这些知识,然后这些知识体能自动的串联起来,把人类的知识传承下去。

二、人工智能研究领域最需要哪些突破?

李涓子 清华大学长聘教授、清华大学人工智能研究院知识智能中心主任
企业人工智能从技术战略到行业落地论坛 < 8

目前人工智能大模型已经非常强大,参数和参数之间的关系、多模态间的关系已经建模的非常

好。但李涓子教授认为,这些还只是参数,并没有上升到知识或者认知的层面。

因此如果说要攻克或突破的方向,李涓子教授认为有两个思路。

一种思路就是在训练大模型的时候把认知的东西交给它,但这种方式很难实现;另一种思路是

把知识库放上面,底下是大模型或多模态,上层的知识从大模型中蒸馏出来,用这样一个知识结构

结合底下的大模型来进行复杂问题的推理。这也是李涓子教授目前在研究的课题。这两种思路都是

希望大模型能够在两种知识架构下发挥最大的效应。

现在我们国家也在进行知识图谱的技术架构,按照知识的生命周期分阶段建立。这个整个技术

架构下面,它还分了领域。比如电力领域、金融领域、文献领域,在不同领域中建立跟领域相关的

知识体系,知识获取和应用的技能,形成领域的基础设施。

三、人工智能在场景应用中的突出表现和挑战

程璟 阿里巴巴集团公共事务副总裁、阿里云市场化及政务、行业团队核心创始成员

结合之前在工业实践方面的经历,程璟认为人工智能在提升效率和风控两个方面的推动作用尤

为突出。

以双十一活动为例,在双十一期间阿里平台网站每秒钟会有上千万的访问量,这时必须使用人

工智能来解决问题,“客服”就是一个典型的人工智能应用案例,它向我们展示了在高并发场景中
9 > 企业人工智能从技术战略到行业落地论坛

如何把大量的简单重复的问题用机器来解决,这大大提升了效率。

而在风控领域,比如假冒伪劣商品的筛选,对于有十亿种商品的阿里平台来说,这个工作单凭

人工是无法完成的,所以也需要引入人工智能来解决。

人工智能的应用场景还有很多,比如优酷在 2018 年世界杯期间推出了“精彩片段集锦”,使用

人工智能技术实时制作赛事精彩片段呈现给球迷们;阿里鹿班智能设计平台,其智能生成、创作助

手、智能排版、设计拓展等功能模块,无须专业设计人员操作,可以帮助企业快速、批量、自动化

的进行图片设计。

再比如庭审的场景,是感知智能的典型应用,法庭记录的时候,这不光是一个语音识别的问题,

还包括对法庭上不同角色人物的识别和判断。

不同的场景会对人工智能提出不同层次的应用需求,这些需求推动人工智能技术的发展和迭代。

程璟认为现阶段人工智能实践中的挑战主要体现在三个方面:

1、首先是对准确率的要求。对准确率要求高的场景对人工智能的挑战更大,就比如钢铁厂的例

子,钢材的评级会直接影响钢材的价格,如果使用人工智能来识别钢材就要保证很高的准确性。

反之对于网店客服的场景,在人工客服应接不暇的时候使用智能客服,可以极大的缓解客户打

客服电话打不进的问题,这时对回答问题的准确性就不做过高的要求了。

同理在现阶段疫情流调的场景下,先通过人工智能进行第一轮的筛选,就会很大程度节约人力

成本。

2、第二是鲁棒性。人工智能的鲁棒性较弱,很多在测试阶段表现良好的数据,在实际场景应用

中由于加入了一些随机噪音而变得很不稳定。
企业人工智能从技术战略到行业落地论坛 < 10

3、第三是样本量。程璟认为在规模性的场景,数据量积累比较多的场景,人工智能的实践效果

会比较好。比如在偏互联网的场景里面,数据积累成本低、数量大,可供学习的样本量就相对更多,

人工智能的应用效果也会更突出。

反之对于一些政企场景,由于数据量少而复杂,对人工智能应用的挑战就会更大。

程璟认为,如果把云计算比作“电”,人工智能就是“灯泡”。在未来,云计算还是会作为数

字时代的基础设施,为越来越多的创业者所用。

现在无论是感知智能还是认知智能,都是以人为第一视角看问题,从视觉、听觉、感觉到推理

的过程都是以人为本的。在未来是否会有主体的转化,比如从城市的角度去思考,这就超出了人的

认知边界,但机器是可以达到的,这可能是未来在工程实践中可以去探索的一个领域。另外,在科

学发现领域,人工智能的运用也将会发挥重要作用。

四、关于阿里研究院
11 > 企业人工智能从技术战略到行业落地论坛

阿里研究院的前身是 2007 年成立的阿里研究中心和 2012 年成立的集团政策研究室,是国内互

联网企业中第一家内设研究智库。十多年来,阿里研究院秉承“开放、分享、透明、责任”的互联

网精神,依托阿里巴巴不断的科技创新,扎根阿里巴巴数字经济体丰富的商业生态、数据和案例,

见证了电子商务、数字经济和云计算的发展,已经成为在国内外数字经济和数字治理研究领域,具

有广泛影响力的生态型研究平台。
基于超大规模预训练模型的小样本和零样本学习 < 12

基于超大规模预训练模型的小样本和零样本学

演讲嘉宾:苏中

内容概要:

一、人工智能进入三轮同时驱动的时代

二、M6:中文多模态预训练模型

三、M6 超大规模预训练模型的应用场景

四、超大规模中文预训练语言模型 PLUG

五、大规模预训练模型 AliceMind 在 VQA 任务上的突破

六、从弱人工智能(Narrow AI)到通用人工智能(Artificial General Intelligence)

人工智能学习里有一个很大的难点,如果我们希望让计算机认识苹果,可能要给它 1 万张甚至

10 万张苹果的图片,它才可能认得清楚。而人有特殊的能力,如果是小朋友,我们可能只需要给

Ta 一幅很抽象的画可能就足以让 Ta 辨识出苹果。如果给 Ta 一个真实的苹果,Ta 甚至可以举一反

三,这就是本文想阐述的小样本学习在生活中的例子之一。

零样本学习也是人特有的一项能力,我们可以将自己在某个领域里面的经验运用到另外一个领

域,比如我原来是在企业的研究院做技术,现在在产业的研究院工作,做的工作跟以前不一样,很

多东西就是零样本学习,这项能力是人特有的。

一、人工智能进入三轮同时驱动的时代

有时候人工智能并没有那么智能,我们会说它是人工痴呆,但只要我们能从过去的海量数据里

面总结出经验就好。
13 > 基于超大规模预训练模型的小样本和零样本学习

人工智能有三个轮子,分别是数据、算力和算法。这些年在自然语言领域里预训练的技术,给

我们提供了一个特别好的场景,就是可以给机器无穷无尽的数据,不用做标注。比如,我们可以把

全世界历史上所有的诗词歌赋全部交给计算机去读。我们还发明了一些很好的技术,比如基于注意

力模式有很多方式可以从语言的内容里找到关联,把人类所有的知识融在深度学习模型里,构建出

一个非常庞大的语言模型。
基于超大规模预训练模型的小样本和零样本学习 < 14

我们做了一个简单的统计,在 2019 年之前,我们的算法模型没有超过 10 亿参数的。但从 201

9 年以后,从 GPT-2 开始,出现了 10 亿以上的模型,接着开始出现千亿、万亿的模型。

在万亿的模型里面,机器好像开始融会贯通学到了一些东西。把这些内容放进去以后,尤其是

GPT-2 那些看起来非常炫酷的 Demo,我们就可以跟它做自由交流了。它可能会通过图灵测试,让

我们甚至不知道自己是在跟一个机器交流。

在这个场景下,我们发现通过算力、海量的数据能解决小数据或零样本学习的问题,取得了一

定的突破。
15 > 基于超大规模预训练模型的小样本和零样本学习

二、M6:中文多模态预训练模型

(Multi-Modality to Multi-Modality Multitask Mega-transformer)

阿里在这方面做了一些工作,比如 M6。

M6 项目于 2020 年起步,从最初几亿的规模到 2021 年 5 月份万亿的规模,最近又突破了十万

亿的大关,这个过程经历了很多挑战。为了让几百片显卡能够很好地工作,这里面不光涉及到人工

智能的算法,也涉及到很多计算机体系架构,海量计算、绿色计算等的能力。

有了这样的万亿模型,我们能干什么?

三、M6 超大规模预训练模型的应用场景

和 Google 的模型不一样,M6 项目组做了多模态,把图片和文本放在一起学习。比如大家去淘

宝网站上,可以看到任何产品都会有照片,照片旁边会有一段说明。我们可以把信息放到模型里,

机器从当中去抽取一些规律,得到的结果令人惊诧。
基于超大规模预训练模型的小样本和零样本学习 < 16

上图是模型里的一个真实演示。我们每次都可以得到不同的答案,比如我们输入“男女外套保

暖棉袄连帽轻棉衣”,也可以输入任何稀奇古怪的内容,比如乞丐服等等,模型都会生成一个衣服

的款式,因为它能在所有的图片里找到与我们输入的文字信息和图片内容之间的关联。

我们输入了棉衣,机器并不理解什么叫棉衣,但它可以从海量的数据里找到棉衣应该具备哪些

特征,然后用这种方式来生成一个高清晰度的图,这样的技术未来或许也可以用来做时装设计。

在电商领域还遇到一个挑战,比如有一个新的产品,我们应该用什么样的广告词比较合适呢?

我们可以输入产品的一个图,机器会输出许多文案,你可以从中挑选,甚至跟机器做交互反馈。

它相当于把多种模型的能力构建在一起,有些能力可能已经超过普通人,这就是多模态大模型可能

带来的一些非凡能力。

四、超大规模中文预训练语言模型 PLUG

预训练语言模型 PLUG 是百亿的参数,可能是中文领域里最大的模型。


17 > 基于超大规模预训练模型的小样本和零样本学习

预训练语言模型 PLUG 把这些可以拿到的所有数据,比如把菜谱放进去让机器去学习,学完了

以后机器就掌握了一些规律,输入西红柿炒胡萝卜,它就给我们一个菜谱,再点击一下还可以得到

其他西红柿炒胡萝卜的菜谱。

预训练语言模型还有一个比较有意思的能力是小说续写,比如我们给它一段红楼梦,它可以往

后续写。该模型不光是把语言本身的规律找到了,甚至找到了语言之间的关联,将故事串起来,类

似于一个小朋友学会了讲故事,这一点是大模型计算机比普通人强的地方。

如果我们把海量的数据给到模型,它从中找到规律,通过这个规律去扩展,这上面就可以延伸

出很多应用。比如让人头疼的各种报告汇报的撰写,在未来也许我们只需要给几个关键词,机器就

可以帮我们写得很好。

五、大规模预训练模型 AliceMind 在 VQA 任务上的突破

接下来看一下大规模预训练模型 AliceMind 在 VQA 任务上最新的进展。


基于超大规模预训练模型的小样本和零样本学习 < 18

上图是 AI 在“读图会意”的场景。给计算机一个图,问它一个问题,然后它给一个答案,这

就是 VQA 的场景。这个比赛已经进行了很多年,所以问题还是很复杂的,比如图中下方这个女生的

胡子是用什么做的。准确的答案是香蕉,人类回答的正确率大概是 80.83%,AliceMind 团队的最新

结果是 81.26%,在这个数据集上它超过了人类的能力。

我们知道,一直以来深度学习在感知的某些方面早已超过了人类,比如在视觉、语音识别等方

面,当然它还是跟数据集相关。但人类有些能力仍然特别,比如我从来没听过广东话,但当我到广

东的时候还是能听懂一些,而机器如果完全没有听过广东话,那么它得到的结果可能完全不同。但

是在非常复杂的数据集上,机器已经可以做到跟人一样,甚至更好。

我们可以设想一个场景,如果有海量的数据,海量多模态之间的关联,用大模型的技术有可能

解决认知智能里小样本或无样本学习的场景。
19 > 基于超大规模预训练模型的小样本和零样本学习

六 、 从 弱 人 工 智 能 ( Narrow AI) 到 通 用 人 工 智 能 (Artificial


General Intelligence)

以前我在研究机构树立的目标是要做通用的人工智能,就是让机器可以像人一样学习思考,解

决一些复杂问题,不局限于像电子拍摄违章等场景,而是能帮人做决策,可以像人一样主动发现问

题,找到问题,甚至定义问题,最终目标是从感知到认知,真正实现从弱人工智能到通用人工智能。
面向知识的可解释认知推理 < 20

面向知识的可解释认知推理

演讲嘉宾:李涓子

内容概要:

一、Complex QA and Explainable Cognitive Reasoning

二、Knowledge Oriented Programming Language (KoPL)

三、KQA Pro: A Dataset for Complex KBQA with Reasoning Programs

四、Conclusions

一、Complex QA and Explainable Cognitive Reasoning

(一)Knowledge Representation and Resoning

先介绍一下复杂问答,即 QA 和可解释认知推理。

人工智能就是通过研究和设计,使得计算机可以像人一样感知、思考、推理,并进行规划和决

策的一个系统。
21 > 面向知识的可解释认知推理

通过图灵测试,可以从以下几方面来研究人工智能,分知识表示、推理机器学习、计算机视觉

自然语言处理和机器人。我们这里主要介绍的就是知识表示和推理。

为什么知识是和认知非常相关的?实际上它就是认知的一个定义,是人怎么去获得知识和应用

知识的过程,我们把它称为认知。我们主要介绍的就是用认知来做推理,用知识去做推理——

knowledge oriented and reason。

(二)The Third Generation of AI

现阶段,我们已经从感知的智能到了认知的智能,这也是达成的共识。比如第三代的人工智能

是可解释的,是安全可信的,它也提出了知识+数据+算法算力这样一个框架。
面向知识的可解释认知推理 < 22

如上图,图灵奖获得者做深度学习,也是要把推理和表示学习进行结合的,也就是把符号表示

和推理,和深度学习来进行结合。

(三)Complex Question Answer

什么是问答?问答就是图灵测试最典型的一个方面。由人去问问题,计算机来自动回答这些问

题。我们可以问图片,可以问文本里面隐含的知识,也可以问知识图谱里面隐含的知识,最终得到

从 question 到 answer 的结果。


23 > 面向知识的可解释认知推理

现在很多的推理,很多的问答系统和相关的数据集都有关于简单问答的测试。比如上图 squad

2.0 是斯坦福的一个简单问答数据集。第一行是 human performance,显示已经超过了人的水平,

当然这不能说是在 simple answer and question 上面真正超过,只是在数据集上超过了。

再看这个斯坦福复杂问答数据集,是在 vqa 上用图片去做复杂问题提问。它需要一些推理过程

的时候,在数据上就远远达不到人的水平,所以复杂问答是比简单问答更难的。

(四)Complex QA and Explainable Reasoning

什么是复杂问答呢?

首先,答案不能是从文本里面或者图片里面直接获得的知识,是要用 retrieve 方法得到的。如

果结果是 encode 到一个图片里面,直接可以 retrieve 出来的,这就不是复杂问答。

复杂问答需要有推理的能力,而这个推理的能力体现在多跳推理、技术比较,还有一些交并补

的逻辑操作。
面向知识的可解释认知推理 < 24

如上图,这是一个例子。 这个问题的答案是不在这图里面的。要得出人的数量,是需要一定的推

理能力的.要找着这个乐队,确定它的 numbers 有哪些人,然后去记述这个 count,再看两个 count

是不是一样。

它的答案是不在这两个自然段里面的,必须通过一定的推理,得到他们是有相同的人数这个答

案。中间的推理步骤,我们称之为复杂问答。

(五)Related Works

复杂问答可以分成这三类,一类是 semantic parsing,就是对问题进行理解,然后把它表示成

一种逻辑表达,而这种逻辑表达可以是 SPARQL ,也可以是拉姆的演算,可以是中间的任何一个逻

辑结构。
25 > 面向知识的可解释认知推理

第二类是利用端到端的 graph neural network(图神经元网络),第三类是 multistep query。

这两个都是深度学习的方法,但这些方法存在的问题是什么?

第一个问题,是缺乏可解释性。另外,在深度神经网络上做推理,它对知识类型的处理非常有

限,它只能处理实体到实体之间的关系。但知识的形式是非常多的,而它只是把实体和实体变成图,

在图结构上去算。

针对这个问题,我们做了一些研究。随着研究的进展,逐渐明确了这个框架,并把它称为面向

知识的可解释推理。因为知识就是认知的结果,所以后面就把认知去掉了,我们的 framework(框

架)是什么?其实就是图逻辑表达和推理。

(六)Our Main Idea

那么为什么用图?图是一种显示的表示,和人的认知是比较 match 的。看语义网络,就是

Smart network,研究认知怎么去记忆这个知识,它是一种显式的知识的表示。
面向知识的可解释认知推理 < 26

不管是知识图谱,还是内置的场景图,还是文本里面实体之间的关系,都可以用 graph 表示。

它可以针对不同的形式表示,也可以用深度学习的方法来进行表征,就是用图来表征。

另外,怎么把认知的推理过程和整个图结构结合起来?我们做了一个面向知识的程序设计语言,

在程序设计语言上去推理。这个程序就是我们的推理过程。

(七)Explainable Cognitive Reasoning Framework

可以把面向复杂问答的对象表成图,这个叫目标的结构化。我们可以把复杂问答看成一个

question program,而这个 program 表示了其中的推理步骤。


27 > 面向知识的可解释认知推理

像上图这个问题,有多少物体是在这块棕色金属右边且在红色方块左边的?它根据推理步骤就

能得到一个人能看懂的答案。这个 cube 是红色的,它的 left 是谁?相当于把这个 question 前面的

自然语言表达表示成了一个推理过程,整个推理过程的步骤可以在执行 program 以后得到答案。

上面 program 的执行过程,就是场景。我们想通过这个场景,解析不同结构。比如这个先找到

一个 cube,再找一个红的 cube,接着去履约他的 left,就激活了另一个节点。另一个程序也是,去

找一个柱形,然后找一个 brown 的金属,最后得到的是它们所对应的位置。

上述两个 program 的交集,其实不止一个。但过程最后得到的就只有一个结果。而每一个

target 的操作,是可以用 module 去实现操作的,可以看成是模块化的神经网络对这个操作去建模。

那要怎么去实现这个框架,也就是上面的每一个透明的显示的过程?
面向知识的可解释认知推理 < 28

整个计算虽然是在深度学习框架下做的,但它的每一个步骤都是可解释的。我们用 modular

neural network 去实现每一个函数的计算,包括它的逻辑操作、它是否存在、它的基数,然后去描

述。

二、Knowledge Oriented Programming Language (KoPL)

(一)KoPL Motivation

在斯坦福上发的最简单的 vqa club 的数据集上做了研究之后,我们考虑,是不是可以把它扩充

到知识的范畴,去做知识的推理编程,所以我们就设计了 Kopl 语言。


29 > 面向知识的可解释认知推理

比如 knowledge oriented 的 program,这里的 operation 是由一组原子函数或者操作来组成

的函数,它带的参数就是知识的元素,我们可以通过编程语言把复杂的问题变成多个推理的步骤,

并把它称为 program,这个推理步骤是很容易去理解的。

把这个推理过程变成程序,人也很容易对它进行 control。程序编错了,人可以去操作它,对它

进行修正,这对人来说是更好的影响。

我们用 SPARQL 来表示这个过程。看 SPARQL 中间,因为它用的是图结构,所以实际上用

program 去表示出来更容易理解。执行这个模板之后,得到的就是答案。

(二)KoPL Framework

这个 framework 就是编程语言里面的参数,那么 knowledge 的元素是什么呢?


面向知识的可解释认知推理 < 30

在这里面,我们给出了一个 knowledge base definition(知识库定义),它的一些函数就是原

子的函数,是对知识库上知识的一些操作的原函数,还有对知识进行 query 的语言函数。program,

就是 function 的 conversation,是由一系列的 function 组成的,这个 program 是可以去执行可以被

编译的。它可以在智库上执行,产生问题的答案。

(三)Knowledge Base Definition

知识库大家应该都已经了解,有 concept(概念)。其实人也是这样,有概念,有实体有关系,

还有描述实体的属性.
31 > 面向知识的可解释认知推理

比如三元组当节点的时候,它在不同时间的配偶可能是不一样的,所以它对实体也有一个修饰

的关系。我们把它称为 qualifier。

从上图里可以看到,在矩形里面都是实体的知识,中间是联系这两个实体的关系。里面画虚线的

是 qualifier 的一些修饰关系,还有它的属性,比如 date of birth、height,这些都是 attribute 的

关系。

在 kopl 语言里面,它所处理的函数里面对应的参数就是这些内容。

(四)Atomic Functions of KoPL

我们在 kopl 里面定义了 14 个知识库上的操作函数。


面向知识的可解释认知推理 < 32

就是上面的 find、filterConcept 或者是 filterstr 等,这都是对于属性值的过滤,FilterConcept

是对 concept 过滤。然后找出一些实体,对这个函数的定义,都是在数据在知识库上最基本的操作。

最后一列是每个函数对应的的 input output,而这里面都是对应了最基本的知识的元素。


33 > 面向知识的可解释认知推理

因为是面向复杂问答,所以也有 query 方式。而这些 query 方式具有逻辑计算的能力,可以去

做验证,可以去做比较,也可以去做逻辑运算。

(五)Program Examples with KoPL

我们可以写一个 program,然后在这个知识库上一编译就可以得到结果。去执行这个程序的过

程,就是得到答案的过程。

看一个简单的例子。要先找着实体,然后通过实体去关联,它的 publication date 是在 1940

年之后,这通过 filter year 按时间来去过滤的。

就好比它是一个动画电影,最后得到一个技术。实际上每一个操作过程,都是一个代数集合的

计算,最终对得到的实体进行计数。

我们给出一个问题之后,就可以去写理解这个问题的 program,而这个 program 不需要额外的

操作,只需要对它做执行,就可以得到问题的答案。
面向知识的可解释认知推理 < 34

(六)KoPL Conclusions

KoPL 不仅仅可以面向 KBQA 上的复杂问答,还可以把这个复杂问题表示成上面说的方式的组

合。

另外,跟 sparql 相比,它还有比较好的可解释性。如果生成了对应的 sparql query,错了之后

就不太好改。而我们有这个 program 之后,可以直接对 program 进行更改。

它还可以做知识 guide 的复杂问答。这是一个我们在 HotpotQA QA 上的数据集,一个真实的

问题。HotpotQA QA 是面向文本做多跳推理的一个数据集。
35 > 面向知识的可解释认知推理

比如上图,他的儿子是什么时间出生的?可以把这个问题变成一个 program。在知识库里面,

这两个人都是存在的。但在 wiki data 里面的数据集,这个人和他是儿子的关系是没有的,那这个

关系体现在哪?

在这个文本里面。

我们提问 who is his child,就可以把这个人找着,有 date of birth,可以把断的 program

通过文本来补全。这个时候就可以把文本和大模型进行一个结合,因为文本里面有很多这样的知识。

三、KQA Pro: A Dataset for Complex KBQA with Reasoning


Programs

接下来就是怎么把写 program 的过程自动化智能化。我们做了一个 KQA PRO 数据集,这个数

据集就是把每一个复杂问题都带上推理的 program。
面向知识的可解释认知推理 < 36

它已经在线上了,大家也可以试着往里面写问题,它会给你个 program 的解析结果。

(一)KQA Pro Motivation

针对上图面向智库的复杂问题,我们希望出来是 yao ming 这个结果。我们会把这个问题解析

成 program,同时为了跟 spark 做比较,可能他们还有互补性,我们也保留了 sparql。

(二)Current KBQA Datasets

为什么做这个数据集,其实是希望把 complex QA 的 pairs 带上对应的推理步骤。


37 > 面向知识的可解释认知推理

实际上现在的数据集是没有的,并且问题个数规模也不够大,用 MetaQA 组成的知识类型也比

较受限。

(三)KQA Pro Construction

基于前面知识库的定义,我们做了 KQA Pro,这里面有将近 12 万的带推理的 program 数据集。

这个过程也保证了推理问题达到多样性和规模。
面向知识的可解释认知推理 < 38

上图可以看到,对于每个问题,都要对这个问题做 program 标注,也要保证它是自然语言的。

可以用模板去生成很多 question,但因为它是模板生成的语言,有一定的局限性,所以要邀请

speaker 来重新把问题进行更贴近自然语言的描述。再请其他的人来看,这个描述结果是不是自然

语言。

(四)Knowledge Base Extraction

我们在 fb15k237 这个数据上,也就是大家经常用的一个数据上进行了扩展。用 wiki data 扩展

它知识类型,包括了实体的属性值,还有事实的修饰等的知识,最后得到了这样一个数据规模。上

图可见,大概有 17,000 的实体,有近百万的三元组。这里生成了 13 万的问题,最终得到的是不到

12 万的质量比较高的例子。

(五)Question Generation

那怎么保证它的问题的复杂性和多样性呢?

用采样加迭代组合的方式。
39 > 面向知识的可解释认知推理

可以采用问题的实体,再通过实体去扩展。它对应的概念就是采用一些扩展的策略,这个图上

就是生成问题的过程。要先 locate,选定对应的实体或概念。

再通过递归的模板去扩展这个问题。最后去做各种修饰,比如问他不同的问题,这样一些操作。
面向知识的可解释认知推理 < 40

最终可以看到,每一个 question 有 5 个部分,包含 question、sparql、 program,还有可选

择的答案以及最终的标准答案。在亚马逊的众包平台上去做 rephrase,同时由 5 个人对 rephrase

的 sentence 做验证,三个以上认为它是自然语言的,才能够保留下来。
41 > 面向知识的可解释认知推理

这是大概数据集的一个整体情况。

做了这个数据集之后,用 end-to-end 的方法,在数据集上做 question 到 answer 的答案,准

确率是非常低的。
面向知识的可解释认知推理 < 42

所以现在的这种 End-to-end 的模型,基本上是不顶用的,不能够在数据上得到一个合理的结果。

我们用 program 对问题去做 semantic parsing,相当于把自然语言变成 program 的表示,准确

率就比前面高了一大截。也就是说,把它做成了 program 之后,它理解问题的准确度还是比较高的。

并且这里因为用了知识,他的概化能力还是很强的。在 Zero-shot 下面也得到了理想的结果。

四、Conclusions

总结起来,我们提出了一个可解释的认知推理的框架,就是面向复杂问题的问答,然后设计了

KoPL 程序设计语言,直接通过程序的执行,从问题到得到答案。我们还做了一个面向复杂问题推理

的数据集,并且希望能够把函数库进一步优化,把文本技术和预训练技术结合起来去回答。

它不仅只是知识库,还可以利用大模型的参数和文本帮助我们去做推理,实现多模态的认知推

理。还可以做增量式的推理,如果程序错了,我们可以对它进行修改,进一步优化它的推理程序。
43 > 面向知识的可解释认知推理
扫码关注 阿里云开发者“藏经阁”

获取更多内容 海量电子书免费下载

You might also like