锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

神经符号系统: 让机器善解人意

时间:2023-08-05 23:07:00

核心提示:自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。然而语义理解在定义上含有不确定性,这种不确定也导致了人工智能中语义相关的系统在形式和功能上的多样性。在本文的讨论中,会假定期望的语义表示中至少包含可解释的离散结构。

1. 通往语言理解之路

什么是理解

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘Michael I. Jordan就曾经在Reddit上的AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

那么究竟什么是自然语言理解呢?我们可以认为,理解是从自然语言到语义的映射,但是这个定义只是把问题转移到了“语义”的定义上,而关于语义,一直缺乏在形式和功能上都普遍适用的定义。事实上,语义往往需要被放在特定领域和特定语境下去考量,比如一句“你开心就好”,可以在不同的场景下传达鄙视和祝愿等多种意思。关于理解或者语义,我们不得不采取了下面两种耍赖式的定义来刻画它们的不同侧面:

 ·   语义是特定语境下的语用,也就是说一句话的功效才是对它含义的最终表征;

 ·   理解一个语言对象(如一段话),等价于可以回答关于这个对象的所有问题。

不幸的是,这两个定义都不具有完全的可操作性,也就是说,很难用这个定义来自动化地衡量对语义的映射是否准确,或者理解是否恰当。从某种意义上,语义理解在定义上就有点“难以捉摸”和不确定。

这种不确定也导致了人工智能中语义相关的系统在形式和功能上的多样性。比如说,在神经网络机器翻译(NMT)中,所有的语义表示都是通过固定长度的实数值向量来完成。在第一代NMT系统中用一个很长的向量来表示和总结待翻译的句子(确切地说是混合了语法和语义的信息),这个向量虽然不可解释,但确实是一个形式和功能上都完整的表示(关于用向量表示语义一直有很多争论,正面的比如G. Hinton的thought vector, 反面的比如R. Mooney的著名论断)。而在第二代的基于注意力机制的NMT系统中,这种表示完整语义的设计已被淘汰,取而代之的是一个实数向量序列来表述多个片段的语义,从而在取得翻译效果的大幅度进步的同时,也在语义表示层面上后撤了一大步。同时我们注意到,连续的不可解释的语义表示在另一些需要和有清晰的语义规范对象互动的时候则非常别扭,当我们去做基于知识库的问答或者基于罪行的描述做审判预测时,需要将语义表示和知识库或者规则系统做对接。这种时候,我们会选择符号化的语义表示,如逻辑表达式、图或者其他离散的数据结构。在本文接下来的讨论中,我们会假定我们期望的语义表示中至少包含可解释的离散结构。

理解之难

自然语言理解的困难也是有目共睹,所以当前自然语言理解通常是粗粒度、浅层或者是局部的。在常见的和理解相关的例子中,情感分析往往只是判断感情是正面还是负面,而命名实体识别等只是标出实体(比如人、组织、地名等)的名称,但即使是这样,准确率也往往在达到一定水平之后裹足不前。相比而言,机器翻译的快速发展反而是因为它对理解的绕道而行,采取了一种“不懂装懂”(pretend to understand)的模式。

那么自然语言理解为什么如此困难呢? 我们认为,主要有以下四个原因:

1.自然语言中含有复杂灵活的表式

我们经常用不同的语句表达同一个意思,这些不同体现在风格、语态、对缺省的选择等众多方面。比如,下面意思非常接近的两句话就采用了不同的语序和风格。

A:这里和购物中心的距离大约是两公里,如果坐出租车的话,路上不堵的情况下大概十分钟就到了

B:这儿离购物中心不远,打车也就十分钟,不堵车的话,其实也就两公里吧

2.长距离的逻辑关联

自然语言形成的文本中,常常有长距离的逻辑关联。这种逻辑关联既包含来自语言结构的依存关系,也包含语义层面上的逻辑关系,而且二者互相渗透。以下面的句子为例,它包含了一个语义信息“这里距离购物中心两公里”,但是要做出这个判断,需要跨越句头和句尾中间的距离,依靠语义上的连续性来发现前后的逻辑关联。这种逻辑关联,往往很难靠类似循环神经网络(RNN)这样的简单序列处理模型来发现和利用。

3.对知识(包含常识的)的大量依赖

在文本的理解中,我们往往需要依赖大量的知识,这些知识既包括领域知识和常识这种长期知识,也包括在前文中建立的短期知识。我们通常说的“语境”也可以被认为是短期知识的一种。

A:张三偷了一台iPhone X,一台iPhone 6S和一台P20,其中两台苹果手机都已经转手

B:车库里有一辆17年的雅阁和一辆09年的瑞,结果反而是旧车被偷了

在例A中,在理解“两台苹果手机都已经转手”中的具体指代时,我们需要利用以下的知识:

 ·   iPhone X是苹果手机

 ·   iPhone 6S是苹果手机

 ·   P20是华为手机。

而在例B中,在理解“旧车被偷了”时,我们不仅需要使用前半句中建立的

 ·   雅阁是17年的

 ·   凯美瑞是09年的

这两条知识,我们同时需要使用“09年的车比17年的车更旧”这一常识。准确利用这些知识则需要对知识进行有效的获取、表示和调用。

4.语义表示形式设计的困难

语义表示的形式一直以来是语义解析这个问题上争论的核心之一。简单来说,“完备的”语义表示需要能够包含精确知识(如“张三杀了李四”),也需要承载语言中的模糊性、不确定性、程度和情感的极性等问题。同时我们期望语义的表示能够和其他知识(如语境)进行完美的对接以完成联合的表示和推理,比如一句“这水挺烫的”,在水的用途是饮用、泡面、泡脚等不同场景下就可能导致不同的语义(如极性和程度等)。同时,语义表示也需要考虑到实际的用途和技术边界,这种平衡本身就是非常困难和持续变化的。

我们可以看到,上述困难中有些是深度学习所擅长的,比如神经网络的方法就可以利用其向量式的“模糊表示”来处理复杂灵活的表达方式;有些是符号逻辑所擅长的,比如长距离的逻辑关联;而有些显然是需要二者合力的,比如对知识的依赖,就既需要神经网络的参数来记住和运用各种琐细灵活的知识,又需要把一些可以被明晰表达的知识用符号性的方式来存储和调用。据此,我们认为,神经网络和符号智能的深度结合才是解决上述困难唯一正确的道路。对此我们将会在本文余下的部分做详尽的阐释。

2.神经+符号

为什么神经+符号是正确的道路

正如上文中所阐释的,人类语言理解的过程、机制和形态,充满了符号性和连续性的双重特性,而在人工智能的实践中,我们也发现了二者各自的优势。在人工智能的历史上,这就是符号主义(Symbolism)和联结主义(Connectionism)之争。我们先来解释下神经和符号的概念,以及各自的特点、优势和劣势。这些讨论将会在以下三个层面上展开:

 ·   表示层  : 语言对象的语义表示,如词、句子乃至长文本的语义表示,也包含系统中和语义相关的中间状态

 ·   运算层 :对不同类型和尺度的语言对象的操作和转化,如生成、映射、转换、分类、预测、查询、更新等

 ·   知识层 :包括语言学知识、领域知识和常识这类的“长期知识”,也包括在理解过程中对文本建立的“短期知识”。

总体来说,

 ·   神经网络用来处理连续的表示、操作以及知识,具有模糊、可学习、不确定、灵活、无需设计、不可解释的特性,不擅于处理图结构、变量、递归和指代等;

 ·   符号系统用来处理离散的、结构性的表示、操作以及知识(包括图结构、变量、递归和指代等),具有清晰、精确、高执行效率、可解释的优点。

从系统设计的角度,神经网络正因为牺牲了微观和主动意义上的可解释性(如设定某个节点或者某个参数的含义),转向架构和机制上的设计, 从而获得了系统描述能力(expressiveness)上的灵活性。从数学的角度,神经网络可以认为是用大量参数近似地描述了大量可能符号模式的分布,从而可以用基于梯度的方法(gradient-based methods) 来训练,但是也失去了对特定符号模式的清晰刻画的能力。我们可以用图1来形象地说明神经网络和符号系统是如何去近似解决同一个真实的任务的。

(图1:神经网络和符号智能任务处理上的比较)

我们用下表来总结神经网络和符号智能在表示、运算和知识三个层面上的区别。

神经符号主义的历史

人工智能领域长期有两种思想占据主流地位:符号主义和联结主义。符号主义使用基于规则的符号做推理,致力于用计算机的符号操作来模拟逻辑思维和认知过程,实现人工智能。联结主义强调智能起源于高度互联的简单机制,其偏向于模仿脑结构的研究,更侧重神经网络中的联结机制与学习算法。规则系统具有可解释性强和精确度高的特点,而神经网络灵活性高、泛化能力强、鲁棒性好,因此人工智能之父马文·明斯基(Marvin Minsky)总结到:“符号知识和联结主义各有优缺点,我们需要一个系统能够将它们的优点集成起来”  [1]。自1980年,很多有远见的人工智能学者就试图将神经网络和符号智能结合,这个包含了无数不同尝试的方向被称为神经符号主义(Neural-symbolism)。

一些先驱者对神经符号主义进行了初步的探索。早在1990年,Towell等人便提出了KBANN(基于知识的人工神经网络)[2],采用已有的经验知识去构建人工神经网络的结构和网络中的连接权重。Garcez等人在1999年提出了CILP系统[3],他们将背景知识转化为命题逻辑,并基于此构建前向人工神经网络,并从例子中归纳新的知识去更新已有的知识。Garcez等人在2001年提出了一种在训练好的神经网络中抽取逻辑知识的方法[4],可以增强神经网络的可解释性。Richardson等人在2006年对一阶符号逻辑和概率图模型结合的方式进行了探索,提出了马尔科夫逻辑网络[5],该网络是一个一阶符号逻辑的知识库,其中每一个公式都有对应的权重。受限于当时机器学习技术和自然语言处理技术的制约,这些探索并不能充分利用神经网络的优势,因而没有取得更近一步的成功。

随着层数更深、更多样、表达能力更强的深度神经网络的崛起,越来越多的学者加入了对神经网络和符号智能进行结合的探索中。Jaeger提出了一种用“Conceptors”控制循环神经网络的方式[6],使得整个网络具有几何特性,并且可以和布尔逻辑进行有效结合。Graves等人提出了神经图灵机(Neural Turing Machines)[7],Sukhbaatar等人提出了记忆网络[8],他们都引入了记忆机制来解决对推理过程中间结果的存储问题。上述方法对神经符号系统进行了进一步的探索,赋予了神经网络符号化的结构,对后续的研究有着重要的启发意义。

近年来,一些研究者致力于借助神经网络来实现符号推理。Neelakantan等人提出了“Neural Programmer”[9],基于自然语言理解实现数据库查询。Liang等人进一步引入了符号化的记忆机制[10],帮助神经网络更好地完成复杂推理。Mou等人用神经网络和符号操作共同决策,提出了解决自然语言推理查询的新途径[11]。

还有一些工作希望能用符号逻辑帮助神经网络训练、学习和推理。Hu等人提出了Teacher-Student网络[12],让神经网络(Student)拟合符号规则(Teacher)的结果,使得神经网络在规则的指导下训练学习。Goyal等人采用先验知识改进了字符级的循环神经网络用于自然语言生成问题(NLG)[13]。Luo等人探索了在不同层面上,正则表达式规则和神经网络的结合手段,希望用正则表达式规则提供的丰富信息提升神经网络的表现[14]。这些方法本质上是用符号知识给神经网络提供更多的信息,神经网络和符号智能的结合较为粗糙。同时,这些将神经网络和符号智能结合的尝试往往只是针对某个非常限定的任务,而且往往只有空间上对某个层面的处理。

3. 我们的想法和尝试

通向神经系统和符号智能的融合

我们认为神经网络和符号智能融合的理想形态,应该遵循以下的原则/方向:

 ·   原则-I:形成神经和符号的连接

简言之,我们需要建立神经和符号交流的界面、路径和机制。二者的交流主要有两种,1)互相控制和调用,2)互为输入和输出。对于1),一个例子是Neural Programmer [9],  它用连续信号来调用和驱动符号运算,而二者的界面就是符号预算的向量索引。 对于2),我们期望神经运算的输出可以成为符号运算的输入,而同时符号运算的输出(在“嵌入”之后)也可以成为神经运算的输入(如图2),这形成了表示层-运算层的神经-符号闭环。举例说明,对于下面的例句

      三郎仁真与泽旺、洛尔伊在大学旁边的快捷酒店住了三个晚上

神经网络利用当前的状态(向量表示)预测“三郎仁真” 是人名,这个符号化的信息可以作为下面一条规则

      RULE-9527:  在同一个list中的语言对象应该有同样的类型

的输入,从而预测“泽旺”也是人名。而这个来自符号运算的输出,在嵌入之后,会和其他的原始输入一起,再次进入神经网络,而其进入的形式可以是作为建议(从而需要神经网络的进一步综合判定),也可以是作为确定的结论。

(图2:神经(连续)信号和符号信号的闭环)

 ·   原则-II:形成神经和符号间的并列和对应

神经符号系统可以在表示、运算、知识三个层面上,形成神经和符号间的并列和对应。这里,并列是指同时存在功能重合的神经和符号两种状态,这形成了某种程度的冗余,可以被系统择优使用或者同时使用(见原则-III);而对应则意味着神经和符号两种状态之间存在设计的信息交互,这种交互可以帮助一种形态转换成另一种形态,也可以同时促进两种形态的共同训练(co-training)(这里的co-training是从multi-view learning的角度来鼓励两个或更多通路的一致性,而非强调在其半监督学习场景下的应用)。 这三个层面上的并列和对应可以有多种方式,下面仅举两例。我们在2017年提出的神经-符号双通路的问题解析模型 [11](见图3-a):对一个问题(如“北京奥运会是哪一年举行的?”),系统会有包含解析和运算的神经通路,也会有一个近乎对称的符号通路。两条通路殊途同归,同时会有密集的信息交换。神经通路可以高效地利用后向传播算法学习,而符号通路则通过符号化的总结而具有高执行效率和很好的泛化性能。通过在训练中鼓励两条通路的一致性,我们可以获得比单一通路更好的学习效率、执行效率以及泛化性能。我们最新的一项技术(见下文中的Nerual Rule Engine),则可以部分地完成知识层上的转换(见图3-b),从而利用神经网络天然的泛化能力克服规则系统的脆弱性。图3-b也描述了上述转换的逆过程,即神经网络中的参数知识被总结成为规则,这个过程通常被称为规则抽取(rule extraction)。

(图3:神经和符号间的并列和对应)

  ·  原则-III:完备的中央调控机制去选择、控制和规划

为了有效地训练和执行,神经符号系统需要一个中央控制系统在表示、运算、知识三个层面上做选择、控制和规划(见图4)。如果存在表示、运算甚至知识层面上的并列(见原则-II),那么在执行阶段,中控系统会在某个特定时刻根据情况在这三个层面上选择使用神经、符号

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章