在RNN中的每一对序列中重置LSTM中的c_t和h_t

时间:2016-11-26 21:27:58

标签: python neural-network tensorflow recurrent-neural-network lstm

我正在尝试在Tensorflow中实现RNN以进行文本预测。我为此目的使用BasicLSTMCell,序列长度为100.

如果我理解正确,每次输入新序列时,LSTM的输出激活h_t和激活c_t都会重置(也就是说,它们会按顺序更新100次,但是一旦我们移动到批处理中的下一个序列,它们将重置为0)。

有没有办法使用Tensorflow防止这种情况发生?也就是说,要继续在批处理中的所有序列中使用更新的c_th_t? (然后在移动到下一批时重置它们。)

1 个答案:

答案 0 :(得分:3)

我认为您不希望这样做,因为批处理中的每个示例都应该是独立的。如果不是,则应该只有批量大小为1且序列长度为100 * batch_size。通常,您可能希望在批次之间保存状态。在这种情况下,您需要将RNN状态保存到变量中,或者我希望允许用户使用占位符将其输入。