屠可伟,上海交通大学计算机系2002届本科、2005届硕士校友,上海科技大学信息学院长聘副教授。
今天我的演讲会分两部分,第一部分偏科普一些,会介绍人工智能的三个主要流派,分别是符号主义、连接主义和统计方法。第二部分会更加偏技术一些,我会介绍在自然语言处理领域,我们近两年所做的结合这三类方法的一些工作。
人工智能的核心问题
人工智能特别是强人工智能有三个核心问题。
第一个核心问题是知识表示,即怎么在计算机中表示知识,从而便于计算机利用知识。
第二个核心问题是推理,即如何利用知识,从已知的信息来推出未知的信息。
第三个核心问题就是学习,即通过经验或者教育来获取知识。
人工智能的三个流派
人工智能发展了60多年,出现了三个主要的流派来解决这三个核心问题,分别是符号主义、连接主义和统计方法。
a) 符号主义
首先是符号主义,符号主义顾名思义是用符号以及符号的组合来表示知识。推理和学习是通过对符号的操作来完成,最经典的符号主义方法就是数理逻辑。
符号主义一个最大的优点就是表达能力非常强,我们说只要我们通过语言可以表达的知识,都可以通过符号逻辑来表示。符号主义方法所使用的符号一般都是大家看得懂的,所以符号主义的另一个优点是它是可解释性的。另外符号主义有非常坚实的理论基础。最后,相对于其他两类方法而言,它不需要任何的数据来训练,因此可以用于缺乏数据的冷启动场景。
符号主义也有一些明显的缺点。第一个缺点是符号主义的知识表示一般需要专家来写,这会造成一个很大的瓶颈。第二个缺点是太过于死板,因为符号逻辑它是非黑即白的,不能很自然地建模不确定性。最后一个缺点是基于符号主义的方法,对建模感知和动作是不方便的。
b) 连接主义
第二个流派是连接主义,用一个网络来表示知识,网络里的节点是非常简单的计算单元。
代表性的连接主义方法就是神经网络。推理是从输入到输出的前向计算过程。学习则是通过调整这些网络连接上的权重来优化和改变所表示的知识。
连接主义的优点:
第一个优点是效果非常好。最近10年所流行的深度神经网络达到了非常好的效果,但是这个效果好是有条件的,需要有大量的数据以及足够的计算资源。
第二个优点是非常灵活。譬如可以把多个输入做任意形式的串联、并联等组合,可以比较自由地设计网络架构。
第三个优点是不需要过多依赖人类知识。在深度学习时代,不需要基于人类领域知识的特征工程,神经网络可以自动地学到好的特征。
但是这三条优点其实也分别对应三个缺点。
首先效果好,但条件是数据很多,并且计算资源足够。
第二个问题是虽然非常灵活,但由此带来的一个问题是难以解释,因此也很难去做诊断,去分析为什么会出错。
最后一个问题是神经网络不需要依赖于人类知识,但是同时也很难把有用的人类知识融入到神经网络里面去。
c) 统计方法
第三类方法是基于统计的方法,统计方法表示知识的方式是用概率模型,推理和学习都是通过概率推理来实现。统计方法的经典方法包括贝叶斯网络、马尔可夫随机场等。
统计方法的优点是理论非常完善,它有很强的数学基础。另外它的可解释性也很强。第二是统计方法是可以学习的。但是它的缺点是表达能力比不过符号主义,和神经网络相比,统计方法不是那么灵活,并且很多场景下效果没有深度学习好。
d) 三类方法结合
三种方法的结合一直在进行。符号主义和统计方法的结合,有一个专门的领域叫统计关系学习(SRL)。
连接主义(神经网络)和统计方法的结合有很多工作,譬如在传统的统计模型中,我们用神经网络来计算参数。
神经网络和符号主义的结合,包括大家可能都熟知的词嵌入,以及知识图谱嵌入。
自然语言处理(NLP)对三类方法的结合
接下来我们先来回顾一下NLP的历史。下面我就来讲一下我们在结合三类方法的方向上,我们所做的一些工作。根据最近这么几年NLP的发展趋势,我们又会重新去关注语言结构,下面就来介绍一些句法分析。
a) 依存句法分析Case Study
dependency parsing依存句法分析是给定一句话,找到这句话中的单词之间的所谓依存关系,这些依存关系会构成一棵树结构。
符号主义方法会定义一个依存文法,包含很多规则。比如说如果有一个动词,它可以往左边去生成一个名词,作为这个动词的主语。
通过这些规则,就定义了所有合法的解析树(parse tree)。我们知道自然语言是有歧义的,很多句子有不止一种解释。
所以接下来我们需要基于统计的方法,在这些规则上加权重,或者概率一棵解析树的权重,就是与这棵解析树相符合规则的权重相乘。这样我们就可以通过比较不同的解析树的权重来判断哪个解析更合理。
给定一个句子,怎么去找到它最好的解析树?这可以看作是一个条件随机场的MAP inference。
如果我们要求所有的依存边构成一个树形结构,那么我们可以用动态规划来做精确推理。否则的话我们要用近似推理,比方说统计方法里非常经典的平均场变分推断。
还有一个问题是文法里的规则从哪来?符号主义方法,是让语言学家来写所有规则,统计方法则是标注每个句子正确的解析树,然后通过监督学习来自动学习规则及其权重。
这是符号主义方法和统计方法,接下来讲神经网络方法。基于神经网络的方法其实有很多,我下面讲的是我们发表在ACL2019和AACL2020的一个工作。
首先,把句子输入一个神经网络来计算这个句子的解析树所有可能包含的规则的权重。
这个方法在现有的NLP神经网络方法里面是非常常见的。这样的好处是什么?
首先是我们所有的单词都是用向量来表示,这样我们可以更方便的去建模这些单词之间的相似性或者相关性。
第二个优点是通过BiLSTM可以把句子中单词的上下文信息给引进来。所以这是我们利用神经网络来建模规则权重的动机。
我们刚才说过可以使用一些经典的统计推理方法来找到权重最大的解析树。这些方法都是迭代算法,可以展开成一个循环神经网络,每个时刻循环神经网络里的hidden vector就是算法每次迭代所维护的向量。
这个循环神经网络还把规则权重作为额外的输入。由于第一部分用神经网络计算这些权重,所以可以把这两部分神经网络给串联起来。
前面是计算权重的神经网络,后面是进行推理、进行句法解析的循环神经网络,接起来之后就得到了一个端到端的神经网络,输入的是句子,输出的就是解析树。
这个方法我们分别在semantic和syntactic dependency parsing上得到了超过或者接近state-of-the-art的效果。
可以看到最终的这个系统是把符号、统计、神经网络三类方法结合起来,有符号规则,规则上有权重,需要做统计推理,这些权重是用神经网络来计算,这个推理也是用神经网络来建模。所以是把三种方式相结合,达到了目前最好的效果。
b) Regular Expressions转化为神经网络
很多实际应用场景里经常会用到正则表达式。正则表达式具备着良好的可解释性,可用于没有任何数据的冷启动场景,并且可以通过规则的增删和修改来快速应对目标任务的变化。
它的缺点则在于完全依赖于人类专家撰写,难以自动从数据中学习,因而在数据资源丰富的场景下难以达到和神经网络相近的效果。
我们今年发表在EMNLP2020的一个工作,这个是刚发表的,提出可以把正则表达式变成一个循环神经网络,这个神经网络与正则表达式基本上等价,所以可以把它用到冷启动的场景里。
并且,当有了标注数据之后,我们也可以去训练它,因此在高资源的情况下,这个方法可以比正则表达式得到更好的效果,可以和深度学习的方法去相抗衡。
最后有很有意思的一点,训练之后的模型还可以变回正则表达式,因此具有良好的可解释性。
c)总结
我们讲了三类人工智能的方法,符号主义、连接主义和统计方法,它们其实各有优缺点。虽然现在深度学习非常流行,但是我们依然还是希望另外两个流派(符号主义和统计方法)不要被忽视掉,依然希望能够利用到它们的优势。所以我们讲了两个我们近期的工作,在自然语言处理方向试图把这三类方法结合起来,从而达到更好的效果。
Q&A
Q:统计方法可以得到更稳定可用的结果,并且可解释性强,因此对于实际业务的数据量和特性,对于优化和普通决策,统计方法能够得到更好的效果?
A:这个还是要看具体的场景、具体的业务。在有些场景下,确实现有的深度学习方法效果更好。比如机器翻译,统计方法的效果确实是没法跟神经网络方法对比。
但是另外也会有一些场景,我们会发现其实传统方法效果也非常不错,比方说文本分类,当数据不足的时候,基于传统的符号主义方法或者是基于统计的方法,可能可以得到更好的效果。
Q:对Pearl的新书,机器能否从相关关系进一步学习到因果关系?
A:经典的贝叶斯网络更多的是去建模相关性而非因果性。但是因果关系其实非常重要,因为相关性在很多情况下是没法指导我们去做决策的。
那机器能否学习到因果关系?这个应该是可以的。其实Pearl的研究,他近20年的研究都是在做这个事情。比如可以通过实验、通过干涉的方式,不仅仅是观测,去了解变量之间的因果关系。
互动有奖啦~
在留言区写下你的观点
评论点赞前三名幸运儿
依次可获得
“庙门”定制u盘1个
激萌交大汪1只
难掩帅气的SJTU棒球帽1个
好礼一睹为快~
01
02
03
来自:云上AI论坛 第十四期
编辑:赵燕