http://blog.csdn.net/pipisorry/article/details/78246220
双向RNN:BRNN模型(Bidirectional RNN)
BRNN(Bi-directional RNN)由 Schuster 在"Bidirectional recurrent neural networks, 1997"中提出,是单向 RNN 的一种扩展形式。普通 RNN 只关注上文,而 BRNN 则同时关注上下文,能够利用更多的信息进行预测。
结构上, BRNN 由两个方向相反的 RNN 构成,这两个 RNN 连接着同一个输出层。BRNN不仅接受上一个时刻的隐层输出作为输入,也有接受下一个时刻的隐层输出作为输入;这就达到了上述的同时关注上下文的目的。其具体结构图如下
Structure of a bidirectional recurrent neural network as described by Schuster and Paliwal in Schuster and Paliwal [1997].
BRNN与语言模型
对于语言模型来说,很多时候光看前面的词是不够的,比如下面这句话:
我的手机坏了,我打算____一部新手机。
可以想象,如果我们只看横线前面的词,手机坏了,那么我是打算修一修?换一部新的?还是大哭一场?这些都是无法确定的。但如果我们也看到了横线后面的词是『一部新手机』,那么,横线上的词填『买』的概率就大得多了。
基本循环神经网络是无法对此进行建模的,因此,我们需要双向循环神经网络。
BRNN前向推导
深度循环神经网络
前面我们介绍的循环神经网络只有一个隐藏层,我们当然也可以堆叠两个以上的隐藏层,这样就得到了深度循环神经网络。如下图所示:
from:http://blog.csdn.net/pipisorry/article/details/78246220
ref:
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深度学习:循环神经网络RNN的变体 - Python技术站