加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

李航:人工智能的未来 ——记忆、知识、语言

发布时间:2018-04-01 22:16:10 所属栏目:大数据 来源:站长网
导读:副标题#e# 本文作者李航,首发于《中国计算机学会通信》2018 年第 3 期 从一个悲剧故事谈起 黛博拉(Deborah)轻轻地推开房门,探头往里看。克莱夫(Clive)发现进来的是妻子,脸上露出无限的喜悦。他直奔门前,高喊「太好了」,并张开双臂紧紧地抱住黛博拉。克

人们的知识,特别是常识,具有模糊性(fuzziness)。下面是人工智能研究的先驱者特里·维诺格拉特(Terry Winograd)给出的例子。英文中,bachelor 是指未婚成年男性,即单身的意思。看似是一个明确的概念,但是当我们判断现实中的具体情况时,就会发现我们对这个概念的认识是模糊的,比如,未婚父亲是否是 bachelor?假结婚的男子是否是 bachelor?过着花花公子生活的高中生是否是 bachelor?大家并没有一致的意见。

神经符号处理

近年,深度学习给自然语言处理带来了巨大变化,使机器翻译、对话等任务的性能有了大幅度的提升,成为领域的核心技术。但是另一方面,深度学习用于自然语言处理的局限也显现出来。面向未来,深度学习(神经处理)与传统符号处理的结合应该成为一个重要发展方向,神经符号处理(neural symbolic processing)的新范式被越来越多的人所接受,其研究也取得初步进展。

李航:人工智能的未来 ——记忆、知识、语言

图 3 基于神经符号处理的智能问答系统

深度学习用实数向量来表示语言,包括单词、句子、文章,向量表示又称为神经表示(neural representation)。神经表示的优点在于其稳健性,可以更好地应对语言的多义性和多样性,以及语言数据中的噪音。另一方面,传统的符号表示(symbolic representation)的优点在于其可读性和可操作性。语言是基于符号的,计算机擅长的是符号处理,用符号表示语言处理的结果是自然的选择。神经符号处理旨在同时使用神经表示与符号表示来描述语言的语义,发挥两者的优势,更好地进行自然语言处理。

基于神经符号处理的智能问答系统也是由语言处理模块、短期记忆、长期记忆、中央处理模块组成,如图 3 所示。语言处理模块又由编码器和解码器组成。编码器将自然语言问题转换为内部的语义表示,存放在短期记忆中,包括符号表示和神经表示。中央处理模块通过问题的语义表示,从长期记忆中找出相关的信息和知识。长期记忆中的信息和知识也是基于符号表示和神经表示的。找到相关的答案后,解码器把答案的语义表示转换为自然语言答案。

最新进展

实现问答系统有三种方法,分别是基于分析的、检索的、生成的方法。通常是单轮对话,也可以是多轮对话。这里考虑单轮的基于分析的问答系统。

传统的技术是语义分析(semantic parsing) [3]。基于人工定义的语法规则,对问句进行句法分析以及语义分析,得到内部语义表示——逻辑表达式。语义分析需要人工定义句法,开发成本较高,可扩展性不好。

近年,基于神经符号处理的问答系统的研究有了很大突破。可以从数据出发,完全端到端地构建问答系统。不需要人工干预,只需要提供足够量的训练数据。问答的准确率也有了一定的提升。传统的语义分析技术被颠覆。下面介绍几个有代表性的工作。

脸书(Facebook)的韦斯顿(Weston)等人提出了记忆网络(memory networks)框架[4],可以用于如下场景的问答:

John is in the playground.

Bob is in the office.

John picked up the football.

Bob went to the kitchen.

Q: where is the football?

A: playground.

记忆网络由神经网络和长期记忆组成。长期记忆是一个矩阵,矩阵的每一个行向量是一个句子的语义表示。阅读时,记忆网络可以把给定的句子转换成内部表示,存储到长期记忆中。问答时,把问句也转换成内部表示,与长期记忆中每行的句子语义表示进行匹配,找到答案,并做回答。

谷歌 DeepMind 的格拉夫(Graves)等发明了可微分神经计算机(differentiable neural computer)模型[5]。该模型由神经网络和外部记忆组成。外部记忆是一个矩阵,可以表示复杂的数据结构。神经网络负责对外部记忆进行读写,它有三种类型,拥有不同的注意力机制,表示三种不同的读写控制,对应哺乳动物中海马体的三种功能。神经网络在数据中进行端到端的学习,学习的目标函数是可微分的函数。可微分神经计算机模型被成功应用到了包括智能问答的多个任务中。

谷歌的尼拉康藤(Neelakantan)等开发了神经编程器(neural programmer)模型[6],可以从关系数据库中寻找答案,自动回答自然语言问题。模型整体是一个循环神经网络。每一步都是基于问句的表示(神经表示)以及前一步的状态表示(神经表示),还包括计算操作的概率分布和列的概率分布,以及选择对数据库表的一个列来执行一个操作(符号表示)。顺序执行这些操作,并找到答案。操作表示对数据库列的逻辑或算数计算,如求和、大小比较。学习时,整体目标函数是可微分的,用梯度下降法训练循环神经网络的参数。

谷歌的 Liang 等开发了神经符号机(neural symbolic machines)模型[7]。神经符号机可以从知识图谱三元组中找到答案,回答像「美国最大的城市是哪个?」这样的问题。模型是序列对序列(sequence-to-sequence)模型,将问题的单词序列转换成命令的序列。命令的序列是 LISP 语言²的程序,执行程序就可以找到答案。神经符号机的最大特点是序列对序列模型表示和使用程序执行的变量,用附加的键-变量记忆(key-variable memory)记录变量的值,其中键是神经表示,变量是符号表示。模型的训练是基于强化学习(策略梯度法)的端到端的学习。

李航:人工智能的未来 ——记忆、知识、语言

图 4 包含查询器的智能问答系统

华为公司的吕正东等开发了神经查询器(neural enquirer)、符号查询器(symbolic enquirer)和连接查询器(coupled enquirer)三个模型[8,9],用于自然语言的关系数据库查询。例如,可以从奥林匹克运动会的数据库中寻找答案,回答「观众人数最多的奥运会的举办城市的面积有多大?」这样的问题。问答系统包括语言处理模块、短期记忆、长期记忆和查询器,语言处理模块又包括编码器和解码器。图 4 即是这种架构的具体实现。查询器基于短期记忆的问题表示(神经表示)从长期记忆的数据库中(符号表示与神经表示)寻找答案。符号查询器是一个循环神经网络,将问句的表示(神经表示)转换为查询操作(符号表示)的序列,执行操作序列就可以找到答案。利用强化学习,具体的策略梯度法,可以端到端地学习此循环神经网络。神经查询器是一组深度神经网络,将问句的表示(神经表示)多次映射到数据库的一个元素(符号表示),也就是答案,其中一个神经网络表示一次映射的模式。利用深度学习,具体的梯度下降法,可以端到端地学习这些深度神经网络。符号查询器执行效率高,学习效率不高;神经查询器学习效率高,执行效率不高。连接查询器结合了两者的优点。学习时首先训练神经查询器,然后以其结果训练符号查询器,问答时只使用符号查询器。

未来展望

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读