TensorFlow实战——RNN
http://blog.csdn.net/u011239443/article/details/73136866
RNN
循环神经网络(RNN)的特殊的地方在于它保存了自己的状态,每次数据输入都会更新状态,输出预测值,并输出更新后的状态,和批数据一起作为输入:
如上图,U为数据输入,V为预测值输出,W为状态值输出并输入下一轮。
由于现实中不能无限的迭代下去,我们将其展开,并在有限次迭代后结束:
例子
RNN的状态是通过一个向量来表示的,设该向量的维度为n
,输入数据x
的维度为m
,则参数个数为
第1轮
设一开始的状态为
设,维度为n偏置向量:
即,输出到下一轮的状态向量为(0.537,0.462),而在这轮该状态还会与参数
第2轮
设
RNN扩展
双向RNN
顾名思义,双向的状态传播:
深度RNN
要注意的是,RNN的dropout
不会在深度方向上使用,只会在状态输出到下一轮的时候使用。