这里首先要明白两种网络:
-
recursive neural network
递归神经网络:网络是定义在递归树结构上,每一个树结点是从它的孩子计算出来的向量。叶子节点和中间节点自底向上的组合。 -
recurrent neural network
循环神经网络:链式结构,LSTM
是循环神经网络的特例。
递归神经网络示例,来自论文Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank
句子的语义并不是单词的线性的拼接;相反,句子有解析结构。
论文将LSTM
扩展为树形结构,称为S-LSTM
。S-LSTM
可以看作是上述两种网络的结合。
利用S-LSTM
来代替recursive neural network
中的语义组合层,从而更好的学习不同文本片段组合之后的文本语义表征。
与先前的recurrent neural network
相比,S-LSTM
有避免梯度消失的潜力,通过树结构对长距离交互进行建模。
S-LSTM的例子
图中的圆圈和横线分别代表pass
(通过)和block
(阻滞);这里通过LSTM
中的遗忘门实现,是一个概率值。可以看出有多少个孩子结点,就有多少个遗忘门。孩子节点之间是没有交互的
S-LSTM模型
S-LSTM
的记忆单元包括一个输入门,一个输出门,和多个遗忘门(数量和孩子的结点数相同),图中是给出的二叉树的结构,所以有两个遗忘门,此结构在现实生活中应该有很多应用,也可以把一般的树转化为二叉树。
对应的计算公式如下:
与标准的LSTM
区别在于:
(1) 标准的LSTM
将上一个时刻的,作为时刻的输入,而S-LSTM
需要考虑左右孩子结点。
(2) 标准的LSTM
每个时刻都有当前时刻对应的输入,而S-LSTM
对应的输入来自于左右孩子结点隐层状态
反向误差传递的时候要区分当前处理的节点是左孩子还是右孩子。反向传播的时候,先计算各个门的的导数,然后再计算权重的导数,做更新。
目标函数需要考虑输出结构,依赖问题规模,本文定义目标函数是最小化所有节点的交叉熵的和。
实验
在Stanford Sentiment Tree Bank 进行情感五分类的实验,该数据集不仅包含句子级别的情感类别信息,还包含了短语级别的情感类别信息,详见介绍
在这里插入图片描述RvNN 递归神经网络
RNTN 论文Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank
提出的模型
网友评论