小小地总结一下
RNN cell
BasicRNNCell
GRUCell
BasicLSTMCell
LSTMCell
MultiRNNCell
- 对于
RNN cell
而言,两个流行的选择是GRUCell
和LSTMCell
, 通过使用gates,这两者能避免梯度消失和使网络学习到更长的依赖关系。当然它们的内部结构也是十分复杂的,可以参考这篇学习 Written Memories: Understanding, Deriving and Extending the LSTM - 我们可以更新
BasicRNNCell
通过下面的语句
cell = tf.contrib.rnn.BasicRNNCell(state_size)
用 LSTM
替换
cell = tf.contrib.rnn.LSTMCell(state_size)
用 GRU 替换
cell = tf.contrib.rnn.GRUCell(state_size)