【论文速读】Ordered Neurons:Integrating Tree Structures into Recurrent Neural Networks

ICLR 2019的两篇最佳论文之一。[paper]

虽然自然语言通常以序列形式呈现,但语言的基本结构并不是严格序列化的。语言学家们一致认为,该结构由一套规则或语法控制,且规定了单词组成语句的逻辑。不管其表现形式如何,这种结构通常是 树状 的。

在这里插入图片描述

基于此,本文提出了一种面向循环神经网络的新型归纳偏置:有序神经元,将潜在树结构整合到循环模型中。这种归纳偏置增强了神经元之间的依赖性,这种依赖性反映了每个神经元内所存储信息的生命周期。换言之,一些高级神经元储存长期信息,而低级神经元储存短期信息。

另外,为了避免高级和低级神经元之间的固定划分,本文进一步提出了一种新的 激活函数 cumax() 来主动分配神经元去存储长/短期信息。

该模型在语言建模、无监督成分句法分析、有针对性的语法评估及逻辑推理四个任务上表现优异。其在无监督成分句法分析任务上的结果表明,本文提出的归纳偏置与人类专家提出语法原则是一致的。实验还表明,就长期依赖和较长序列泛化而言,ON-LSTM 比标准 LSTM 模型性能更佳

ORDERED NEURONS

【论文速读】Ordered Neurons:Integrating Tree Structures into Recurrent Neural Networks_第1张图片
上图所示为成分句法分析树与 ON-LSTM 的关系。给定 token 序列 S = ( x 1 , x 2 , x 3 ) S=(x_1, x_2, x_3) S=(x1,x2,x3),其成分句法分析树如图(a)所示。图(b)展示了树结构的块状图,其中 S 与 VP 节点都跨越了不止一个时间步。 高级节点的表征在跨越多个时间步时应保持相对一致。 图(c)展示了每组神经元在每个时间步的更新情况。在每个时间步,给定输入词,较深的灰色块代表完全更新,较浅的灰色块代表部分更新。三组神经元的更新频率不尽相同。较高级别的组更新频率较低,而较低级别的组更新频率较高。

由上图可以看出,隐藏层 h t h_t ht 的神经元建模了 token 序列的成分句法分析树中的所有节点信息,而某个时间步输入的 token x t x_t xt 只是涉及了到了成分句法分析树中的部分节点信息,如果我们根据 x t x_t xt 对隐藏层 h t h_t ht 的所有神经元进行更新,是不符合事实的。

因此,一个直观的想法就是,对隐藏层的神经元进行分组 ,不同的组代表成分句法分析树中不同的节点。这样,在每次更新的时候,就可以仅对涉及到的节点相应的神经元组进行更新。另外,由于隐藏层的神经元个数是固定的,但是从叶节点到根节点的路径长度是会随着时间和句子发生变化的。因此,理想的状态应该是模型可以动态地给不同的节点分配不同的神经元数目

基于以上的分析,作者提出了ordered neurons,使得神经元可以建模不同时间尺度的信息。high-ranking的神经元建模长期或全局信息,而low-ranking的神经元建模短期或局部的信息。因此,high-ranking的神经元和low-ranking的神经元的更新频率是不一样的,当要擦除或更新高级神经元的信息时,首先要对比该神经元低级别的神经元进行信息的擦除或更新,也就是说低级神经元的更新频率会比高级神经元的更新频率要高

模型

关于模型的部分,请参见这篇文章,讲解十分清晰,在此不再赘述。(主要是苏老师讲得已经很好了,真不是我偷懒。。。)

你可能感兴趣的:(论文速读)