作者
丁效
整理
维克多
在过去十年的人工智能浪潮中,以深度学习为代表的人工智能技术已基本实现了视觉、听觉等感知智能,但依然无法很好地做到思考、推理等认知智能。
4月9日,哈尔滨工业大学计算学部副研究员丁效,在AITIME青年科学家——AI学者专场论坛上,做了《基于神经符号的认知推理方法》的报告,分享了神经网络方法执行符号推理任务的最新进展,同时也给出了将符号知识注入神经网络的思路以及如何将神经网络与符号系统相融合。
以下是演讲原文,AI科技评论做了不改变原意的整理。
今天和大家分享神经符号认知推理方面的研究工作。人工智能(AI)已经历了第一代符号智能,第二代感知智能以及当前的认知智能。认知智能是一种融合的状态,强调表示学习与复杂知识推理的有机结合是人工智能进步的阶梯。
实际上,在自然语言处理(NLP)领域,预训练模型规模以每年约10倍的速度增长,模型的通用智能水平显著增强。如上图,无论是计算的复杂度、参数以及训练时间,随着时间的推移,都有跨越性的发展,也促使模型性能大幅度提升。
同时,预训练语言模型还有很大的发展空间。例如询问GPT-3:烤箱和铅笔哪个更重?脚有几只眼睛?等问题,它的回答的结果差强人意。根本原因是缺少对知识的推理的能力,以及对推理结果的可解释性。
如何解决?我认为需要开发新的计算范式,即将基于感知的深度学习和基于认知的符号计算,进行融合。
传统基于符号的表示,例如在NLP领域,对于句子的处理是分词,文本中有1万个词就对应1万维。
现在分布式的表示方法是基于神经网络,需要学习出每个词的向量,此向量维度不高,也不会那么稀疏,它是低维稠密的实数值向量,很容易捕获文本的语义信息。
利用符号系统和利用上下文表示的系统有什么区别?首先对于词汇的理解,一定离不开上下文的语义的理解。例如:小明离开星巴克和乔布斯离开苹果公司,同样是离开一词,前者可能表示消费完了,离开某个商店,后者可能表示辞职。因此,两种语义是截然不同的。
传统的NLP任务从语料中提取特征,利用统计关系学习建模语义结构,属于符号系统处理方法。给定若干个任务,例如共旨消解、语义角色标注、依存分析或者NER等等任务,传统方法是手工提取一些特征,然后把特征输入到一些统计模型当中,然后得出分类结果、预测结果。
传统的NLP的处理方式,提取特征可以认为是符号系统,即手工提取的特征本身就可以用来解释最后的预测结果,这是典型的可解释的方式。
基于神经网络的分布式的语义表示,在处理各种NLP任务时,“省略”了特征提取步骤,有几个特点:1.单词用稠密的低维向量表示;2.上下文语义表示是单词语义表示的组合;3.表示向量与组合方式需要在大量的数据上进行训练;4.能够得到词的任务特异表示。
虽然运用神经网络能够得到远超以前的性能,但也有“需要大量训练数据”、“可解释性差”、“推理基于表面特征”等缺点。
神经方法和符号方法各有哪些优缺点?符号AI对于规则、知识,能够可程序化,可以用编程的方式直接把规则编写到程序当中,然后可以进行精确、严格的匹配、推理,得到的结果也是符合规则的,因此解释性强。缺点是构造成本太高,覆盖率低,稳定性也不太够。
神经方法的优点是表示能力非常强,任务的适应性很强,无论生成任务,还是分类任务,亦或回归任务都能“拿下”。缺点是学习最简单的模式,距离人的智慧还有很大的距离,以及一直被诟病的黑盒、不可解释性等等。
显然,如果有方法将神经与符号相融合就能优势互补。目前,有三种方法可供参考:
1.神经网络方法执行符号推理任务,神经网络在此过程当中可能帮助我们把词进行泛化。
2.符号知识注入神经网络。进行损失函数设计,或者进行一些正则化的约束,或者进行数据增广等操作。
3.神经网络与符号系统相融合。即不以符号为主,也不以神经为主,而是进行有机融合。
在NLP处理领域,如果想获得以“类人”方式学习和思考的机器,需要在语义合成、推理、常识学习,学会学习等四个方面努力。NLP中的推理是指文本推理能够推动另外三个任务不断的进步。
文本推理是指给定文本形式的前提(Premise)与前提相关的某一假设(Hypothesis),建模文本语义与文本结构,以判断前提与假设之间的关系。具体的例子如下图所示:
文本推理有三个典型的任务,文本蕴含、因果推理以及故事结尾预测。结合认知的文本推理,其实来源于认知科学当中的双过程的理论。
双过程理论是指人的思考和学习是有两个系统:直觉系统和逻辑系统。直觉系统帮助我们进行一些直觉的无思决策,快速回答问题;逻辑系统要调用大脑当中存储的知识进行逻辑的推理。
下面介绍实现刚才提到的三种不同认知推理任务的方法。
1神经网络方法执行符号推理任务
符号推理的任务有很多,自动定理证明、多项选择问答、逻辑规则归纳。由于时间有限,主要介绍多项选择问答任务。
在去年的EMNLP一篇论文中,我们采用自然逻辑,帮助完成多项式选择的问答任务。
自然逻辑是一种语义单调性的逻辑系统,它主要是定义了7种单词之间的语义关系,包括等价、前向蕴含、反向蕴含、前向蕴含、反义、并列、覆盖、独立等等。然后我们要在遵循自然逻辑的前提下,在文本上进行推理,例如把句子进行增删改操作,然后保持语义的不变性,进行替换。
例如:
给定句子:所有的动物需要水
自然逻辑:动物(反向蕴含)狗
替换操作后:所有的动物需要水所有的狗需要水
推理中的换词对NLP中的多项选择问答任务非常有必要。例如上图中的任务形式:给定问题:啮齿动物吃植物?知识库当中有一条知识是:松鼠吃松子。
第一步需要进行单词的替换,将啮齿动物替换成仓鼠,然后把植物替换成果实,或者把植物可以替换成庄稼。
接下来不断替换,把植物替换成谷物,把果实替换成坚果,把啮齿动物替换成田鼠,经过一步一步的的替换,最终替换到了知识库当中的某一条知识。因此,基于自然逻辑进行多项选择问答这条路径就是可解释的。其实,不仅是可以替换,也可以增加词、删除词、修改词。
问题在于是基于语义词典进行词的替换,而语义词典是非常有限的。再者没有考虑上下文的语义关系。
引入神经网络的方法,可以将词的替换直接进行神经化。具体过程可以分为4步:
1.利用预训练语言模型生成候选单词
2.判断原单词和候选单词之间的语义关系
3.根据上下文的单调性将词级别的语义关系映射到句子级别
4.保留满足恒等和反向蕴含关系的候选句
2符号知识注入神经网络
符号知识注入神经网络的方式有很多,可以利用逻辑规则约束神经网络的模型;可以利用基于逻辑规则进行数据增强的任务。
例如数据增强,给定三元组B的首都是A(A,首都,B),可以扩展出A位于B。具体一些,知识库总已经有:(北京,首都,中国),则基于该规则可以补充额外的三元组(北京,位于,中国)。
如何利用逻辑规则,约束神经模型?上图是事件时间常识知识预测任务,其中预测为对应的时间单元:给定事件起床,推测频率、持续时间以及典型发生时间。
这些事件的常识知识有什么用?可以把事件的常识知识注入到预训练语言模型当中,让模型对事件时间的常识知识能够掌握,会让模型在进行时间相关的推理的工作中更加高效。
存在的问题在于,从文本中无监督抽取的时间常识可能存在报告偏差(ReportingBias)。例如常见的情况的在文本中并未显式提及:自然文本中几乎不会有“睡醒之后,我一般要花几分钟的时间起床”等类似的表达!在文本表达中会对非寻常现象加以强调:我每天都得花一个小时才能起床!。
如何解决?利用不同维度间的时间常识知识之间的约束关系,减缓报告误差。对于“我是在妈妈准备早餐期间起床的”,利用事件间时序关系可以得出:起床的持续时间短于准备早餐;“自己在家准备早餐,十分钟就可以搞定”可以得出:准备早餐的持续时间大概约为10分钟。
下表详细总结了类似于上述所有的可能的互补关系:
此规则怎样利用?我们设计了基于软逻辑规则的时间的常识预测。给定输入:我是在妈妈e2准备早餐/e2期间e1起床/e1的,得到原子式:HRCHY((e1,e2),during,然后将原子式概括成概率软逻辑规则,如下图。
将概率软逻辑规则放到神经网络模型当中,将其制作成损失函数。这一步是在交叉熵损失函数的基础上,添加了概率软逻辑的约束损失,使得模型在做的时间推理的过程当中,既考虑概率软逻辑的规则,同时考虑对于语义理解之后的的推理结果。
3融合神经与符号的推理系统
融合神经和符号的推理系统,在进行数值运算,因果逻辑推理,一阶谓词逻辑规则等方面具有优势。它可以利用神经网络模块,显式建模符号规则。
传统的因果推理模型多数以黑盒方式,直接从标注的因果事件对中学习因果知识。因此可能利用部分与标签存在相关关系的统计特征做出判断,致推理结果的不稳定,不可靠,不可解释。
如何还原背后的因果决策机制?我们提出引入中间证据事件,还原背后的因果逻辑链条。这种因果逻辑链条提供了更强的可解释性。在ACL上,我们的工作ExCAR:事理图谱知识增强的因果推理框架,能够从预先构建的事理图谱中获取中间证据事件。
具体而言是使用条件马尔可夫神经逻辑网络(CMNLN),其中逻辑网络具有较强的可解释性与可靠性。神经逻辑网络是指利用神经网络表示规则,并赋予每个因果规则以权重(因果强度),以应对规则集合中可能存在的噪音与统计关系的复杂性。条件马尔可夫还能支持因果叠加效应,即对于同一规则,不同的前件可能对因果强度带来不同的影响。基本逻辑是:证据事件→逻辑规则→因果逻辑图。
4机器学习:人与机器之间的信息交互
下面从人机交互的角度,思考机器学习。当前的机器学习过程:极度依赖静态的标注数据集。例如标签蕴含的信息有限,这导致学习效率低下、对于复杂任务,标注尤为昂贵、数据过时导致模型无法使用。
机器向人的学习远远不只是说去学标注的数据,可以学习的种类非常多样,例如点击用户的行为数据,以及用户的解释信息。实际上用户的解释的信息对于机器学习而言是非常重要的。
如上图的例子,小明根据ab/b=a,推导出SinX/n=six。老师则认为这是不对的,因为Sin是整体,是三角函数。
因此,基于上述观察,我们在ACL会议论文中提出,不仅进行因果推理的任务,还需要给出相应的解释。不只是针对某因果对解释,可以是概念性的解释。
例如将铁块加入盐酸中,导致铁块被溶解。需要生成概念性的解释酸具有腐蚀性,显然这不只是因果对的解释。
当前的因果推理系统仍缺乏此类常识。例如,现有的因果推理数据集只提供因果对及其标签,缺少对因果关系原理层面的解释。而人类能够同时运用具体的因果知识,以及对于因果机制的深入理解以高效、可靠地推理出因果关系。因此,未来认知推理,它一定需要和脑科学进行结合。
雷峰网雷峰网