Slide 1

Slide 1 text

ORDERED NEURONS: INTEGRATING TREE STRUCTURES INTO RECURRENT NEURAL NETWORKS (ICLR 2019, BEST PAPER AWARD

Slide 2

Slide 2 text

在语言模型中引入树结构 • 能获得抽象化级别不断提升的分层表征; • 能捕获复杂语言现象,如长期依赖问题与组分效应; • 能为梯度反向传播提供捷径。

Slide 3

Slide 3 text

ON-LSTM • 用有序神经元表达层次结构 • Contribution • 1.提高了语言模型的效果 • 2.可以无监督地学习到句子的句法结构

Slide 4

Slide 4 text

LSTM

Slide 5

Slide 5 text

语言和序信息 • 在常见的神经网络中,神经元通常都是无序的 • ON-LSTM则试图把这些神经元排个序,并且用这个序来表示一些特定的结构,从 而把神经元的序信息利用起来

Slide 6

Slide 6 text

层级结构 • 层级越低代表语言中颗粒度越小的结构,而层级越高则代表颗粒度越粗的结构 • 自然语言:字——词——短语 • 层级越高,颗粒度越粗,那么它在句子中的跨度就越大

Slide 7

Slide 7 text

ON-LSTM的设计方向 • 层级越高,颗粒度越粗,那么它在句子中的跨度就越大 • 要求: • 1. 能区分高低层级的信息 • 2. 能让高层级的信息保留更久,底层级的信息更容易被遗忘

Slide 8

Slide 8 text

设计:分区间更新 • 假设ON-LSTM中的神经元都排好序后,向量Ct的index越小的元素,表示越低层级 的信息,而index越大的元素,则表示越高层级的信息 • 步骤: • 1. 初始化一个全零的Ct • 2. 预测历史信息ht-1 和当前输入的层级xt 的层级df, di

Slide 9

Slide 9 text

层次更新的两种可能 • 1. df ≤ di , 这意味着当前输入xt 的层级要高于历史记录ht−1 的层级,那就是说,两者 之间的信息流有交汇,当前输入信息要整合到高于等于df 的层级中

Slide 10

Slide 10 text

层次更新的两种可能 • 2. df > di , 这意味着历史记录和当前输入互不相交。

Slide 11

Slide 11 text

分层更新的作用 • 高层信息就可能保留相当长的距离(因为高层直接复制历史信息,导致历史信息可 能不断被复制而不改变); • 而低层信息在每一步输入时都可能被更新(因为低层直接复制输入,而输入是不断 改变的)。 • 所以就通过信息分级来嵌入了层级结构。 • 更通俗地说就是分组更新,更高的组信息传得更远(跨度更大),更低的组跨度更 小,这些不同的跨度就形成了输入序列的层级结构。

Slide 12

Slide 12 text

函数软化 • F1 和F2 ,输出层级整数,但这样的模型通常是不可导的 • 替代:使用softmax,替换成一个分类模型。df => 1df (one hot向量) • 分层更新的实际操作:

Slide 13

Slide 13 text

无监督语法 • 从softmax向量反过来转换为层级:

Slide 14

Slide 14 text

贪心算法析出层次结构 • 给定输入序列{xt }到预训练好的ON-LSTM,输出对应的层级序列{df,t }, • 然后找出层级序列中最大值所在的下标,比如k, • 那么就将输入序列分区为[xtk ]]。 • 然后对子序列xt k重复上述步骤,直到每个子序列长度为1。

Slide 15

Slide 15 text

No content