Contents
Introduction
- LSTM (Long Short-Term Memory) 在序列模型任务上能够有非常好的表现,但该模型只能输入线性序列,无法很好地处理树形输入 (比如依赖树),因此,论文提出两种 Tree-LSTM 模型,将 LSTM 拓展到树形的输入结构上 (在 NLP 领域,树型结构模型通过给定句子的语法结构树获取句子表示),并在两个任务:预测语义相关性 (SemEval 2014, Task 1) 和语义分类任务 (Stanford Sentiment Treebank) 上超过所有现存模型
Tree-Structured LSTMs
LSTM
-
i
t
,
f
t
,
o
t
i_t,f_t,o_t
it,ft,ot 分别为输入门、遗忘门、输出门。
c
t
c_t
ct 为记忆单元
Tree-Structured LSTMs
- 作者提出了两种 Tree-LSTM 结构:Child-Sum Tree-LSTM 和
N
N
N-ary Tree-LSTM。和 LSTM 一样,Tree-LSTM 也含有输入门
i
j
i_j
ij 和输出门
o
j
o_j
oj,记忆单元
c
j
c_j
cj 和隐藏状态
h
j
h_j
hj,它们之间的区别在于 Tree-LSTM 的门向量和记忆单元的更新要基于多个 child units,它需要从多个孩子节点筛选出信息,而 LSTM 只需要从上一时刻筛选出信息 (The standard LSTM can then be considered a special case of the Tree-LSTM where each internal node has exactly one child.)
Child-Sum Tree-LSTMs
- Child-Sum Tree-LSTMs:Tree-LSTM unit 针对结点的每个子结点
k
k
k 都设置了一个遗忘门
f
j
k
f_{jk}
fjk 来选择性地融合子结点中的重要信息;同时,Child-Sum Tree-LSTMs 通过对所有子结点的隐藏状态进行求和来得到一个融合后的隐藏状态
h
~
j
\tilde h_j
h~j
其中, C ( j ) C(j) C(j) 为结点 j j j 的子结点, k ∈ C ( j ) k\in C(j) k∈C(j). 由于该模型是直接将孩子节点的隐藏状态求和,因此,非常适合于分支因子比较大,或者孩子节点是无序的情况 (e.g. dependency trees)
N N N-ary Tree-LSTMs
-
N
N
N-ary Tree-LSTMs:该模型适用于分支因子最大为
N
N
N 的情况,而且孩子节点有序,也就是说,孩子节点可以被从 1 到
N
N
N 进行索引 (e.g. constituency tree, 语法树,注意处理语法树时,只有叶结点才会接收到输入词向量
x
j
x_j
xj)
其中, h j k , c j k h_{jk},c_{jk} hjk,cjk 分别为结点 j j j 的 k k kth 子结点的隐藏状态和记忆单元。针对每个子结点设置单独的参数有利于 N N N-ary Tree-LSTMs 抽取出更加细粒度的子结点信息。但对于遗忘门而言,虽然设置 U k l ( f ) U_{kl}^{(f)} Ukl(f) 有利于更细致地控制子结点到父结点的信息传播,例如,可以让左侧子结点的隐藏状态刺激或抑制右侧子结点的遗忘门,然而,当 N N N 较大时,参数量会非常大,在这种情况下可以直接固定其参数或者置为零
Tree-LSTM Classification
- 对于结点
j
j
j,模型使用 softmax 的分类器来预测给定输入
{
x
}
j
\{x\}_j
{x}j 下的标签
y
^
j
\hat y_j
y^j,分类器将该节点的隐藏状态
h
j
h_j
hj 作为输入:
损失函数使用交叉熵损失:
其中, m m m 是含有标签的结点数, λ \lambda λ 是 L2 正则化的超参数
Semantic Relatedness of Sentence Pairs
- 给定一个句子对,模型需要预测出一个实数值的相似度 score,范围为
[
1
,
K
]
[1,K]
[1,K],其中,
K
>
1
K>1
K>1 是一个整数,分数越高,表示相似度越大。我们首先基于句子的 parse tree 使用 TreeLSTM 产生两个句子的 representations
h
L
h_L
hL 和
h
R
h_R
hR,然后使用这两个向量预测出相似度 score
y
^
\hat y
y^,同时考虑两个向量的距离和角度:
其中, r T = [ 1 , 2 , . . . , K ] r^T=[1,2,...,K] rT=[1,2,...,K]。模型期望 y ^ = r T p ^ θ ≈ y \hat y=r^T\hat p_\theta\approx y y^=rTp^θ≈y,因此定义了一个稀疏的目标分布 p p p 使得 y = r T p y=r^Tp y=rTp:
损失函数为 p p p 和 p ^ θ \hat p_{\theta} p^θ 之间的 KL 散度: