本文讨论一种新的类型的模型:递归神经网络(RNNs),区别于循环神经网络(RNN)的是,前者是后者的一个超集。
递归神经网络
递归神经网络(左图):需要树形结构
循环神经网络(右图):不能捕捉没有前缀背景的短语,最后的向量经常捕捉最后的词的太多信息
递归神经网络非常适合具有嵌套层次结构和内在递归结构的设置。思考一个句子 “A small crowd quietly enters the historical church” 首先将句子分成名词短语、动词短语 “A small crowd” 和 “quietly enters the historical church”。在动词短语中又有一个名词短语,动词短语 “quietly enters” 和 “historical church”,这就是递归的一个例子。
语言的句法规则是高度递归的,因此RNN模型可以充分利用这种递归结构。用RNNs建模的另一个好处是可以输入任意长度的句子,不论输入句子的长度如何,都能转换成相等规模的句子进行输出(树形结构的特点)。
RNNs的输入与输出
输入:两个子节点的语义表示
输出:1)两个节点合并时的语义表示;2)新节点的合理程度得分