【发布时间】:2017-09-14 14:16:42
【问题描述】:
我正在使用 Tensorflow 的 GRUCell + MultiRNNCell + dynamic_rnn 组合来生成多层 LSTM 来预测一系列元素。
在我见过的几个例子中,比如字符级语言模型,一旦训练阶段完成,生成似乎是通过一次只输入一个“字符”(或任何元素)来获得下一个预测,然后根据第一个预测得到下面的“字符”,等等。
我的问题是,由于 Tensorflow 的 dynamic_rnn 将 RNN 图展开为任意数量的步骤,无论序列长度如何,一旦预测逐渐出现,一次只输入一个元素有什么好处?建成?通过每个预测步骤逐渐收集更长的序列并将其重新输入到图表中不是更有意义吗? IE。在生成第一个预测后,反馈一个由 2 个元素组成的序列,然后是 3 个,等等?
我目前正在尝试预测阶段,首先输入 15 个元素(实际历史数据)的序列,获取预测的最后一个元素,然后用该预测值替换原始输入中的一个元素,等等在 N 个预测步骤的循环中。
与一次只输入一个元素相比,这种方法的缺点是什么?
【问题讨论】:
标签: tensorflow lstm