信息往往还存在着诸如树结构、图结构等更复杂的结构。这就需要用到递归神经网络 (Recursive Neural Network, RNN),巧合的是递归神经网络的缩写和循环神经网络一样,也是RNN,递归神经网络可以处理树、图这样的递归结构。
递归神经网络
神经网络的输入层单元个数是固定的,因此必须用循环或递归的方式来处理长度可变的输入。循环神经网络实现通过长度不定的输入分割为等长度的小块,然后再依次的输入到网络中,从而实现了神经网络对变长输入的处理。一个典型的例子是,当我们处理一句话的时候,我们可以把一句话看作是词组成的序列,然后,每次向循环神经网络输入一个词,如此循环直至整句话输入完毕,循环神经网络将产生对应的输出。如此,我们就能处理任意长度的句子了。如下图所示:
然而有时候把句子看作是词的序列是不够的,比如下面这句话『两个外语学院的学生』: