双向RNN
Bidirectional RNN(双向RNN)假设当前t的输出不仅仅和之前的序列有关,并且 还与之后的序列有关,例如:预测一个语句中缺失的词语那么需要根据上下文进 行预测;Bidirectional RNN是一个相对简单的RNNs,由两个RNNs上下叠加在 一起组成。输出由这两个RNNs的隐藏层的状态决定。
如下图
深度RNN
Deep Bidirectional RNN(深度双向RNN)类似Bidirectional RNN,区别在于每 个每一步的输入有多层网络,这样的话该网络便具有更加强大的表达能力和学习 能力,但是复杂性也提高了,同时需要训练更多的数据。
几种变种
LSTM:
GRU:
通过耦合忘记门和更新输入门(第一个和第二个门);也就是不再单独的考虑忘记什么、增 加什么信息,而是一起进行考虑。
Gated Recurrent Unit(GRU),2014年提出将忘记门和输入门合并成为一个单一的更新门同时合并了数据单元状态和隐藏状态 结构比LSTM的结构更加简单
可以参考论文:http://arxiv.org/pdf/1402.1128v1.pdf