2017全球人工智能技术大会
2017年5月21日
国家会议中心4层大会堂B
本文根据速记进行整理
人工智能的未来——记忆、知识与语言
李航
华为技术有限公司诺亚方舟实验室主任
各位专家、同仁大家好,非常高兴有机会和大家交流。今天的报告中我想从记忆、知识、语言的角度展望一下人工智能技术的未来发展趋势。我的报告分几部分,首先我们一起看一下记忆和智能的关系。
我从一个悲剧故事开始讲起,主人公叫Clive Wearing,今年78岁,英国的音乐家,30多年前不幸患上了病毒性脑炎,留下了后遗症--失忆症。是什么症状呢?他表面看上去没有什么问题,可以说话,吃饭、穿衣服、骑自行车,甚至弹钢琴。但是,他得病之前的20年内的所有记忆全部丧失,对之后发生的事情也不能进行记忆。他已经不认识自己的女儿,但是能认识自己的夫人。大脑只有瞬间到瞬间的意识。下面给大家看一个视频。
视频的片头说Clive Wearing用自己悲惨的命运给我们展示了意识和记忆对我们生命的重要性。Clive Wearing基本上只有2分钟左右的记忆,所以每次他看到太太都非常兴奋,像久违的亲人一样,和她拥抱接吻。每天可能多次重复做这样的事情,因为他不记得当天曾经见过太太。这是人脑的示意图,有大脑、小脑、脑干、边缘系统,边缘系统里有一个重要的器官,就是海马体Hippocampus。Clive Wearing的海马体受到了损伤。人的脑部从功能的角度看有这么几个模块,寄存器,短期记忆,长期记忆,中央控制模块。人脑通过五种传感器,视觉、触觉等,从外部接受信息,存在寄存器,如果我们的注意力关注这些信息,可以把这些信息变成短期记忆里的内容,短期记忆可以持续30秒左右,如果我们有意识要记住这些内容的话,大脑又会将短期记忆的内容转到长期记忆中。长期记忆里,我们可以把信息长期存储,需要的时候把它检索出来。海马体做的事情,正是帮助我们把内容从短期记忆转写到长期记忆,同时帮助我们检索长期记忆里存储的内容的工作,所以海马体是非常重要的器官。从计算机的角度来看,短期记忆对应着内存,长期记忆对应着硬盘,对我们人来说,长期记忆是非常重要的部位。
我们看一下长期记忆的特点,人在记忆信息和知识的时候,有一个重要的特点,就是在长期记忆里不断增加新的内容,把新加的内容和已有的内容联系在一起,这是非常重要的。比如今天我在会场上看到很多熟人,一见面,就能把和每个人过去的交往,相关的信息回想联系起来,而且我会记住,今天在人工智能大会上又见了面,变成了新的记忆。所以记忆有一个非常重要的特点,就是能把新的内容和已有的内容联系起来。我们存储的是知识和信息,不是简单的数据,一会儿谈到这几个概念的关系,事实上知识和信息是更抽象的东西。比如说我们有一个机器,有一个摄象头,能够把外界的场景拍摄下来,用视频记录下来,但它记录的只是数据,不是信息和知识,不能像人的长期记忆里存储的东西那样,把相关的概念联系在一起。
说到人工智能,人工智能系统现在有很多成功的例子,今天几位老师的报告里谈到,AlphaGo,自动驾驶,等等,但这些人工智能系统都在重复使用给定的模型,要么是在循环中使用,要么是在有限状态间的跳转中使用。这些模型一般通过机器学习得到,我们看到当前所有的人工智能系统基本上都拥有这个特点。这样的人工智能系统,如果我们假设它有意识,就跟我们看到的英国音乐家一样,没有长期记忆,只有瞬间记忆,瞬间做一个处理和判断,然后重复地做同样的事情。就像Clive Wearing一样,每次都会重复做同样的事情。今天上午一些老师提到意识,意识是一个哲学的概念,也是当今脑科学,人工智能研究中的重要课题,这个讨论起来要花很多时间,我们今天不细谈。其实不同的人对意识给出不同的定义。日裔美国物理学家Michio Kaku给意识下了这样一个定义,他指出了意识的一个重要特点。假设你有一个系统,这个系统跟环境做交互,如果在这个交互过程当中,这个系统的内部状态发生了变化,就认为这个系统是拥有意识的,从这种意义上来说,温度计是有意识的,向日葵也是有意识的,因为这些系统在与外界交互的过程当中内部的状态发生了变化。他说温度计的意识是1个单位的意识,花的意识是10个单位的意识。如果按照他的定义,人工智能系统现在也都有意识了,都是能在跟外界的交互过程中改变自己内部的状态。另一方面,回到刚才的概念,这些系统都是没有长期记忆的,没有长期记忆就不能不断积累知识和信息,不断跟人去做更好的交互。让我们来说,人工智能系统,假设现在有了意识,未来的发展,下一个阶段应该是拥有长期记忆。今天上午大家谈到机器人,强人工智能。强人工智能在我看来还是非常遥远的,比如说机器人谈恋爱,机器人反抗人类。刚才说到计算机有意识,未来可能有长期记忆,在此基础上,需要有自我意识(自我意识又是另外一个概念),需要有情感,需要有自由意志等等,才能够展示出像人一样的智能性行为。所以强人工智能的路程还是非常遥远的。但是我们预测,人工智能发展的下一个阶段,应该是拥有长期记忆的智能系统。
刚才也看到信息和知识,长期记忆只是载体,或者说是硬件,它的软件就是信息和知识,大家都知道有这样一个分类,数据,信息,知识,智慧,金字塔关系,从下往上会更加抽象,上一层是下一层的升华。其实信息和知识,作为概念是没有严格定义的,虽然我们经常用,这些重要的概念和其他的重要概念一样,其实都没有严格的定义。信息的主要特点,大家都知道,就是关于事物的基本事实。知识更抽象一些,表示对事物的理解。大家也许知道,西方哲学中围绕着知识的定义讨论了两千多年。两千多年前,伯拉图给知识下了个定义,就是著名的JTB(Justified True Belief),被验证的真实的信念,他认为这个就是知识,所以知识没有严格的定义,信息和知识之间的边界也不是很清楚。但是有一个事实应该很清楚,那就是我们每个人得到的信息和知识,大部分都是通过学习得到的,大部分是在学校,在工作中,通过学习从他人那里得到的。我们知道高温可以消毒,这个事实在人类历史上可能曾被一些人发现过,但是直到19世纪,巴斯德发现了这个现象,把它当作知识转播给大家,才得以广泛普及。大家现在都有这个知识,但是如果让我们每个人在自己的生活中自己发现这样的知识,还是比较困难的。我们的大量的知识信息都是通过和外界的交互得到的。
展望未来,希望有这样的智能系统,能够帮助我们智能地管理信息和知识,成为我们的得力助手。这个概念也不是全新的,我们从已有的系统中也能看到它的雏形,这里我想从我,们的角度重新做一整理。我们希望有这样的智能系统,它有语言处理模块,中央处理模块,短期记忆,长期记忆,它能够“阅读”大量结构化和非结构化的数据,非结构化数据包括文本,网页,结构化数据包括知识库、数据库。它能看到大量的问答的例子,关于知识相关的问答的例子。在学习过程当中,它能够自动的去处理大量的数据,产生信息和知识,然后把这些东西放到长期记忆里去,同时能够学习语言“理解”,能够进行知识问答。在实际使用中,如果用户有什么问题,可以通过自然语言的形式问这个系统,系统能够自动回答。这个系统能够自己去不断积累信息和知识,当用户用自然语言问这个系统问题的时候,系统能够准确地回答问题,把知识和信息提供给用户。理想情况,我们把这个系统几乎是全自动地,端到端地构建起来。现实中我们都在使用搜索引擎,你可以认为搜索引擎就是这里介绍的理想的智能信息知识管理系统的简单实现,或者现实中的近似,未来它将变得越来越加智能化。从另一个角度来看,计算机最强大的能力就是计算能力和存储能力,我们已把计算机的计算能力用到了极致,但是,计算机的存储能力我们还没有用到极致,一般自动存储的只是数据,不能把内容联系起来,变成信息和知识。我们希望未来能把从外界得到的数据,做加工处理,变成信息和知识,能够对用户提供更好的知识问答服务,能够更好的发挥计算机的存储能力。
下面再看一下,未来实现这样的理想有哪些挑战,首先看知识和语言,特别是知识处理和语言处理时的挑战,下面我将把信息省略,提到知识一般包含信息。人的知识有一个重要的特点,就是它是非常模糊的,语言有多义性和同义性。我们先看知识的模糊性,不确定性,这个例子是斯坦福大学Terry Winograd教授给出的,大家一般认为我们的知识都是定义得很清楚的,其实不然,我们的知识其实都是模糊的,英文的概念Bachelor,是未婚成年男子的意思。我们一般以为这个概念是很清楚的,但是在生活中我们会遇到一些例子,不好判断,大家并不一定有共识,如果做一个调查,让在座的各位判断具体的情况,大家可能观点不一样,比如说未婚的父亲,没有结婚但是已经成为父亲的人,这样的人是不是单身?还有假结婚的人,这样的人是不是单身?还有其他的一些例子。每一个概念都有一些典型的情况,大家都知道最典型的单身是什么样的,但是也有很多边界模糊的情况。我们知识中的所有概念,都拥有这样的特性。
其实语言也有类似的问题,属于同样的认知原理产生的不同现象。语言处理时我们会发现语言的多义性和同义性。首先看语言有多义性,这是加州大学伯克利分校Charles Fillmore教授给的例子,英文的单词Climb(爬),它的语义是有多个的,基本的语义是沿着一个路径用四肢的力量从低处往高处移动,如果你用它造句,典型的例子是“男孩在爬树”,但是它有延伸,比如说“飞机爬到了3万英尺”,也有比喻“物价每天都在向上爬”,甚至可以说“他从睡袋里爬出来”。相当于有一个核心的Climb的语义,从这个核心的语义出发产生不同的语义,形成一个网络结构,从中心往四周延伸。如果任意拿两个例子相比较,可能发现两个Climb的意思相当不一样,虽然是一个单词的不同的语义,但看上去相差挺多的。所有的自然语言的单词都拥有这样的特性,是一个普遍的现象。
其次,语言还有同义性,同一个意思一般有多种不同的方式表达,这也是语言另外一个特点。自然语言处理,实现智能信息知识管理系统,必然会遇到这个挑战。这里展示的例子是“distance between sun and earth”(太阳和地球的距离)的不同说法,比如“how far is sun from earth”,等等,是从一个搜索引擎的日志中获取的。我们可以看到,同一个意思真的有许多不同的说法。
我们认为神经处理与符号处理的结合是自然语言处理,特别是实现智能信息知识管理系统的强有力手段。我们称之为神经符号处理(Neural Symbolic Processing)。首先,语言有不确定性(多义性、同义性),现在的神经网络,深度学习给我们提供了很好的工具来表示语义,我们可以用神经表示来应对语言的不确定性。同时,神经表示对噪音也有非常好的抵抗能力。但是另一方面,语言本身是由符号构成的,我们使用语言实际上是使用符号,用符号表示语言的语义很容易理解,也容易处理,计算机做的本质都是在符号上的操作,所以语言处理的过程中,用符号表示语义,有天然的优势和有实际的需要,结合起来,两种不同的表示都会变得非常重要,实现我们说的神经符号处理。这应该是自然语言处理的技术发展趋势。
刚才说的智能信息知识处理系统,有几个模块,语言处理模块,短期记忆,长期记忆,中央处理模块,在长期记忆里,存储大量的知识和信息,但是这些知识和信息由两种不同的表示方法表示,一个是符号表示,如数据库的表示,另一个是神经表示。通过深度学习、神经网络的技术,可以得到知识的神经表示,通过传统的符号处理可以得到知识的符号表示。两者结合起来,可以构建长期记忆。如果用户提出一个问题,语言处理模块有一个编码器,它把这个问题转化成为问题的表示,放到短期记忆里,有符号表示和神经表示,假设做一个很好的检索,从长期记忆得到相关的答案,得到答案以后,同样在短期记忆里也有符号表示和神经表示,之后再通过语言处理模块中的解码器,把答案变成自然语言,就是问题的答案。这就是我们要构建的系统。虽然在自然语言处理的领域,大家都在往这方向走,但是还有很多挑战。
我们看一下相关的工作,比较有名的工作。大家知道CMU开发了一个叫NELL(Never Ending Language Learning)的系统,人先定义一个知识库的框架,提供一些知识,一些例子,然后让系统在互联网里自动找到新的知识,比如北京是中国的首都是例子,以此为基础,找到华盛顿是美国的首都等等。NELL系统在网上不断发掘新的知识,加到知识库里,并且不断提高知识抽取的精度与速度,这是NELL要做的事情。我们希望智能信息知识管理系统也能够自动地从外界获取信息,问题的关键是如何把数据转换成系统内部的表示,即有意义的知识表示和信息表示,放到长期记忆里。
大家知道,Facebook提出了Memory Networks系统,可以做一些简单的问答,首先给系统提供一些用自然语言描述的事实,如John在游乐场,John捡起了球。然后问系统,球在什么地方?系统做回答。Memory Networks是一个完全是通过神经网络构建的系统,可以进行端到端的学习,其主要特点是有长期记忆,能将事实记录下来。虽然准确率不是很高,但是一个非常有意思的工作。
大家知道谷歌的系统,DNC(Differentiable Neural Computer)系统,和我刚才说的想法一样,它也是有长期记忆的,我刚才强调的更多的是自然语言,希望长期记忆里既有神经表示也有符号表示,这个DNC有的只是神经表示,长期记忆上存储的实际上是一些向量,整个长期记忆是一个大的矩阵,神经网络控制长期记忆的访问,用数据驱动的方法学习神经网络,有三种不同访问长期记忆的方式,把这里面的知识和信息有效的使用起来,比如说在伦敦的地铁里找到最短路径。DNC还有一个特点,就是神经网络实际在模仿哺乳动物海马体的机制。
下面简单介绍华为诺亚方舟实验室做的工作,这部分属于基础研究工作,我们尝试的是,利用深度学习完全自动地构建智能的信息知识问答系统,能自动问答用户的问题。重点聚焦在问答部分,知识获取的部分比较简单。我们现在介绍两个工作,一个是利用知识图谱的知识回答问题,知识图谱中的知识由三元组表示,比如姚明身高多少。训练数据是问答句对,以及与知识图谱的联系。比如,问句是“姚明身高是多少?”,答句是“姚明身高是多少?”,答句的知识与知识图谱的知识联系在一起。假设有大量的数据,我们希望自动构建一个神经网络,它能够做准确地回答问题。这个系统叫GenQA,它是遵循神经符号处理的基本想法构建的,有语言处理模块,包含编码器与解码器,短期记忆,长期记忆。在长期记忆里,我们把所有的知识库里的三元组用两种形式表示,三元组的每一个单词都是一个符号,整体构成符号表示;三元组的每个单词还有一个附属的向量,整体构成神经表示;对所有符号也做了索引。编码器收到一个问题的时候,把它编码,产生内部表示,原始的问题转换成短期记忆中的问题表示,包含了符号表示和神经标号,然后我们去检索匹配长期记忆里的知识库,在里面找到相关的答案。编码器理解问题的时候,同时产生问题的表示,解码器把编码器提出的问题和答案结合起来,产生答案,所有的模块都和神经网络联系起来,能够进行端到端的训练。准确率在55%左右,不是特别高,但是能够全自动的回答问题。
另外一个相关的工作也是知识问答,刚才看到的是从知识库的问答,现在换一个假设,认为是从数据库的问答。这个例子是奥林匹克运动会的数据库,假设也有大量的问答的问句答句作为训练数据,希望有一个神经网络能够帮助我们把关系数据库里的信息检索出来,回答用户提出的自然语言的问题。我们提出了一个新的神经网络的模型,也是端到端的学习,基本思想类似,有语言处理模块,短期记忆、长期记忆,语言处理模块有编码器把问题转换成内部的表示,然后去匹配长期记忆里的数据库的表示,这个数据库也是既有符号表示,又有神经表示的。访问数据库的时候,数据库本身有复杂的结构,自然语言的问句也是复杂的结构,所以需要复杂的匹配,具体的模型细节我不讲了,通过复杂的匹配关系,五个子神经网络,准确率非常高,达到90%多,比现在业界的标杆,自然语言语义分析的方法精度更好。语义分析的方法,需要很多人工知识的导入,花很多精力才能构建起来,我们用神经网络,深度学习的技术可以做端到端的学习,把整个系统自动的构建起来。
下面大家看一下这个视频,我们开发这个系统已经有几年了,小诺机器人,里面有很多技术,包括我们在业界第一个提出的生成式的自然语言对话技术。也包含了刚才介绍的技术,比如你问“《三国演义》是谁写的”,系统就会找到答案,生成回答。这个不是通过搜索得到的回答,而是在数据库里找到答案,自动生成的回答。
总结一下,今天和大家一起展望了人工智能未来的发展方向,希望未来,快的话十年内,人工智能系统能给我们带来全新的更好的体验,即智能知识信息管理服务,这是令人期待的。相信神经符号处理将成为实现这个应用的重要技术。人类智能的很重要的特点是拥有长期记忆,现在的人工智能系统还没有长期记忆,只有瞬间的意识,需要发展到拥有长期记忆的阶段。我们认为这是未来的发展方向,如果能够像人一样拥有长期记忆,我们就能够实现智能的信息知识管理系统,它能不断获取新的信息和知识,能够回答我们各种各样的问题,能够成为人类的真正的智能助手,真正发挥计算机的强大存储能力。我们现在看到,业界包括我们实验室都在尝试着相关的基础研究,希望有所突破,有很多有意思的,有挑战性的问题。
今天我分享了对人工智能未来发展方向的看法,希望起到抛砖引玉的作用。谢谢大家。
CAAI原创 丨 作者李航
未经授权严禁转载及翻译
如需转载合作请向学会或本人申请
转发请注明转自中国人工智能学会