论文:Ordered Neurons: Integrating Tree Structures into Recurrent Neural Networks

一、译文:

ABSTRACT

自然语言是分层结构的:较小的单元(例如短语)嵌套在较大的单元(例如子句)中。当较大的组件结束时,嵌套在其中的所有较小的组件也必须结束。虽然标准的LSTM体系结构允许不同的神经元在不同的时间尺度上跟踪信息,但它并没有明确地偏向于对成分层次结构建模。本文提出通过对神经元进行排序来增加这种诱导偏差;一个主输入和遗忘门的向量确保当一个给定的神经元被更新时,按照顺序跟随它的所有神经元也被更新。我们的新递归结构,有序神经元LSTM (on -LSTM),在语言建模、无监督解析、目标语法评估和逻辑推理四个不同的任务上都取得了良好的性能。

1 INTRODUCTION

自然语言具有连续的显性形式,如口语和书面语,但语言的基本结构并不是严格的连续的。这种结构通常是树状的。语言学家们就确定这种结构的一套规则或语法达成了一致意见,并规定单个单词如何组合成更大的有意义的单位,也称为“成分”。人类的大脑也可以隐式地获得语言的潜在结构:在语言习得过程中,儿童不会得到带注释的解析树。受生物神经系统中信息处理和通信模式的启发,人工神经网络方法对潜在结构的诱导引起了人们更多的兴趣。从实用的角度来看,将树结构集成到神经网络语言模型中可能有以下几个重要原因:

(i)获得一个抽象层次不断增加的层次表示,这是深度神经网络的一个关键特征;

(ii)对语言的成分效应进行建模和通过提供梯度反向传播的快捷方式帮助解决长期依赖问题;

(iii)通过更好的归纳偏差改进泛化,同时可能减少对大量训练数据的需要。

近年来,能够推断并利用树状结构更好地表达自然语言句子的深度神经网络技术的研究受到了极大的关注。

给定一个句子,预测相应的潜在树结构的一种直接方法是通过一个有监督的语法分析器。这些解析器生成的树被用来指导将单词语义组合成句子语义,甚至帮助在给定之前单词的情况下预测下一个单词。但是,受监督的解析器受到限制,原因有以下几个:1)很少有语言具有用于有监督解析器训练的全面注释数据;ii)在某些领域,语法规则往往会被打破;iii)语言会随着使用的时间而变化,所以语法规则可能会进化。

另一方面,语法归纳法仍然是一个有待解决的问题,它的定义是在不访问专家标记的数据的情况下,从原始语料库学习语法结构。最近许多这样的尝试都因为引入了一个琐碎的结构而受挫,或者遇到了使用强化学习学习分支策略(RL)导致的训练困难。此外,一些方法的实现和训练相对复杂,如Shen等(2017)提出的PRPN模型。

递归神经网络(RNNs)已被证明在语言建模任务中非常有效。RNNs显式地对数据施加一个链结构。这种假设似乎与语言潜在的非顺序结构不一致并且采用深度学习方法对自然语言数据进行处理存在一定的困难,会导致捕获长期依赖,实现良好的泛化,处理否定等问题。同时,也有证据表明,具有足够能力的LSTMs可能通过隐式编码树结构来实现句法处理机制,如Gulordava等人(2018年)以及最近的Lakretz等人(2019年)展示的。我们认为,下面的问题仍然存在:通过有倾向的学习这种潜在树结构的体系结构是否能获得更好的语言模型?

在这项工作中,我们介绍了有序神经元,一个新的归纳倾向的递归神经网络。这种归纳倾向促进了存储在每个神经元内的信息的生命周期的分化:高级神经元存储长期信息,这些信息被保存了大量步骤,而低级神经元存储短期信息,这些信息可以很快被遗忘。为了避免高阶和低阶神经元之间的严格划分,我们提出了一种新的激活函数,称为累积softmax或cumax(),用于主动分配神经元来存储长/短期信息。我们使用cumax()函数来生成一个主输入向量,而遗忘门确保当一个给定的神经元被更新(擦除)时,按照顺序跟随它的所有神经元也被更新(擦除)。基于cumax()和LSTM体系结构,我们设计了一个新的模型on-LSTM,它偏向于执行类似树的组合操作。我们的模型在语言建模、无监督选区解析、目标句法评价(Marvin & Linzen, 2018)和逻辑推理(Bowman et al., 2015)四项任务上都取得了良好的性能。对无监督选区解析的结果表明,所提出的归纳倾向比先前提出的模型更符合人类专家提出的语法原则。实验还表明,在需要捕获长期依赖关系的任务中,ON-LSTM模型的性能优于标准LSTM模型,并能更好地泛化较长的序列。

2 RELATED WORK

已有文献利用树结构来完成自然语言任务。Socher等(2010);Alvarez-Melis & Jaakkola (2016);周等(2017);Zhang等(2015)在专家标记的树库上使用监督学习来预测解析树。Socher等人(2013)和Tai等人(2015)使用来自外部解析器的解析信息显式地对树结构建模。后来,Bowman等人(2016)利用监督解析器的先导(Klein & Manning, 2003)来训练堆栈增强神经网络。

从理论上讲,RNNs和LSTMs可以对上下文无关文法和上下文敏感文法生成的数据进行建模(Gers & Schmidhuber, 2001)。然而,最近的研究结果表明,在LSTMs中引入结构信息是有益的。Kuncoro et al.(2018)表明,RNNGs (Dyer et al., 2016)在主谓一致任务上表现优于LSTMs (Linzen et al., 2016), RNNGs对句法结构具有明显的建模倾向。在我们的论文中,我们运行了Marvin & Linzen(2018)最近提供的更广泛的语法测试套件。Bowman等(2014;2015)也证明了树结构模型对于数据由递归程序生成的下游任务更有效。有趣的是,Shi等人(2018)认为,虽然指定的语法树可能不是理想的,但某种层次结构(可能依赖于任务)可能会有所帮助。然而,如何从观测数据有效地推断这种结构仍然是一个悬而未决的问题。

从数据中学习底层语法的任务被称为语法归纳(Chen, 1995;科恩等人,2011)。早期的工作将句法结构纳入到语言建模的上下文中(Roark, 2001;Charniak, 2001;Chelba & Jelinek, 2000)。最近,有人尝试使用神经模型为下游任务合并一些结构(Grefenstette et al., 2015;Sun等,2017;Joulin & Mikolov, 2015)。一般来说,这些工作用堆栈扩充了一个主要的递归模型,并专注于解决算法任务。Yogatama等人(2018)关注于语言建模和句法评估任务(Linzen等人,2016),但他们没有显示出模型学习的结构与黄金标准解析树的匹配程度。Shen等人(2017)引入了解析-读取-预测网络(parsing- read- predict Networks, PRPN)模型,该模型试图通过解决语言建模任务来执行解析。该模型使用自我注意来组合之前的状态,其中注意范围由学习的“句法距离”控制。作者表明,这个值对应于解析树的深度。然而,在使用PRPN模型时增加的复杂性使其在实践中变得笨拙。

另一种可能的解决方案是开发具有不同递归时间尺度的模型,作为捕获这个层次结构的一种方法。El Hihi & Bengio (1996);Schmidhuber (1991);Lin等人(1998)描述了以预先确定的时间尺度捕获层次结构的模型。最近,Koutnik等人(2014)提出了Clockwork RNN,它通过在不同的时间尺度上更新来分割RNN的隐藏状态。这些方法通常对数据建模中涉及的层次结构的规律性做出了强有力的假设。Chung等人(2016)提出了一种方法,与Clockwork RNN不同,该方法将学习多尺度层次递归。然而,模型仍然有一个层次结构的预先确定的深度,这取决于层的数量。我们的工作更接近于Rippel et al。(2014),提出使用嵌入dropout mask归纳一个层次结构的表示单元:单元不是独立随机下降但每当单位下降,所有的单位,按照顺序也下降了。我们的工作可以被看作是cumax()激活平均值实现的dropout的软松弛。此外,我们建议根据特定的输入设置更新掩码,并将整个模型应用于顺序数据。因此,我们的模型可以根据观察到的数据调整结构,而Clockwork RNN和嵌套dropout都将预定义的层次结构强加给隐藏的表示。

3 ORDERED NEURONS

给定一个标记序列S = (x_1,...,x_T)及其相应的单位树(图2(a)),我们的目标是在处理观察序列时推断出未被观察到的树结构,即在每个时间步t计算隐藏状态h_t。在每个时间步,理想情况h_t将包含当前叶子节点x_t到跟节点S路径上的所有节点的信息。在图2(c)中,尽管只有局部被观测到,我们将说明h_t如何包含包括x_t在内的所有组成部分的信息。这种直觉表明,树中的每个节点都可以由一组处于隐藏状态的神经元表示。然而,虽然隐藏状态的维数是预先确定的,但是不同的时间步长和句子中连接叶子和根节点的路径长度可能是不同的。因此,模型的一个要求是动态地将隐藏状态的维数重新分配到每个节点。

鉴于这些要求,我们引入有序神经元,这是一种归纳倾向,迫使神经元在不同的时间尺度上表示信息。在我们的模型中,高级神经元包含从几个时间步骤到整个句子的长期或全局信息,表示根节点附近的节点。低级别神经元编码的短期或局部信息只持续一个或几个时间步长,表示更小的成分,如图2(b)所示。通过控制单个神经元的更新频率,以完全数据驱动的方式学习高阶和低阶神经元之间的区别:为了删除(或更新)高阶神经元,模型应该首先删除(或更新)所有低阶神经元。换句话说,一些神经元总是比其他神经元更新得更频繁(或更少),而这个顺序是作为模型架构的一部分预先确定的。

4 ON-LSTM

在本节中,我们提出了一个新的RNN单元,ON-LSTM(“有序神经元LSTM”)。新模型采用了与标准LSTM类似的体系结构,报告如下:

                                                                            f_t = \sigma(W_f x_t + U_f h_{t-1} + b_f)                                              (1)

                                                                             i_t = \sigma(W_i x_t + U_i h_{t-1} + b_i)                                                (2)

                                                                            o_t = \sigma(W_o x_t + U_o h_{t-1} + b_o)                                               (3)

                                                                         \widehat{c}_t = tanh(W_c x_t + U_c h_{t-1} + b_c)                                             (4)

                                                                                   h_t = o_t \odot tanh(c_t)                                                         (5)

一个选区解析树和提议的ON-LSTM的隐藏状态之间的对应关系。0令牌序列S = (x1, x2, x3)及其对应的选区树如(a)所示,我们提供了(b)中树结构的块视图,其中S和VP节点都跨越了一个以上的时间步长。高级节点的表示应该在多个时间步骤中保持相对一致。(c)隐藏状态神经元群更新频率的可视化。在每个时间步长,给定输入字,完全更新深灰色块,而部分更新浅灰色块。这三组神经元有不同的更新频率。最上面的组更新频率较低,而较低的组更新频率较高。

 

与LSTM的不同之处在于,我们用一个新函数替换了细胞状态c_t的更新函数,这个新函数将在下面的小节中进行解释。遗忘门f_t和输入门x_t用于控制细胞状态c_t上的擦除和写入操作,与以前一样。由于LSTM中的门独立作用于每个神经元,因此通常很难辨别神经元之间的信息层次。为此,我们建议通过强制执行神经元更新的顺序,使每个神经元的门依赖于其他神经元。

4.1 ACTIVATION FUNCTION: cumax()

为了强制执行更新频率的顺序,我们引入了一个新的激活函数:

                                                               \widehat{g} = cumax(...) = cumsum(softmax(...)),                                 (6)

式中,cumsum表示累积和。我们将表明矢量\widehat{g}可以被看作是一个二进制的期望门g=(0,...,0,1,...,1)。这个二进制门将细胞状态分成两段:0段和1段。因此,模型可以对这两个部分应用不同的更新规则来区分长/短期信息。用d表示分类随机变量,该变量表示g中第一个1的索引:

                                                                                 p(d)=softmax(...)                                                     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值