按时间顺序将数据传播到 Keras LSTM

Chronologically Propagating Data into a Keras LSTM

我对使用 LSTM 随时间处理数据有疑问。也就是说,我如何将数据一个接一个地输入 LSTM,而不让 LSTM 忘记我之前的输入?

我稍微浏览了一下 Keras 的“有状态”参数,但这只会让我更加困惑。我不确定它是否与我的目的相关。

例如

假设我sequentially/chronologically 从土壤传感器获取数据。第一个数据样本是 s1。 s1 由多个值组成(例如阳光、土壤温度、土壤湿度)。几秒钟后我将获得另一个数据样本 s2,但我现在只有 s1。所以我将 s1 作为第一个时间步输入 LSTM。当 s2 出现时,我将它作为第二个时间步通过 LSTM 传播。这可以在 Keras 中实现吗?

RNN 或 LSTM 可以记住过去发生的事情,但是,如果没有 stateful=True,每个批次的状态都设置为 0。因此,状态标志是为 LSTM 制作的,以“记住前几批发生的事情”,stateful=True LSTM 将其状态从前一批传递到下一批,因此信息不会消失。

https://fairyonice.github.io/Stateful-LSTM-model-training-in-Keras.html 这是一篇关于 statful 标志的好文章。