Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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