Keras LSTM状态与带有滑动窗口的前馈网络

art*_*mis 5 feed-forward lstm keras

在Keras的LSTM实现中的默认模式(状态= False)下,一批中的所有样本都是独立的,并且状态不会从一个样本传播到下一个样本。根据我的理解,输入序列长度(L)是使LSTM保持状态的唯一方法。但是,这限制了状态传播到一个固定数目的时间步长,即大号。从理论上讲,与具有固定大小的滑动输入窗口的前馈NN相比,此操作模式将具有什么优势。这样,到NN的每个输入都是L个连续输入值的向量。

从理论上讲,LSTM应该能够学习跨越1000个时间步长的长期依赖关系。但这是否不要求我有L = 1000,因为没有办法捕获比输入序列长的依赖项?我知道可以通过格式化输入数据来使用有状态模式,这样每批的第i个样本都是相关的。我很难理解默认的LSTM模式相对于带有滑动窗口的前馈NN优于输入数据有什么优势?

Yoa*_*.Sc 0

前馈神经网络 (FFNN) 和任何循环网络(RNN、LSTM...)之间的主要区别在于随时间推移存在循环连接。

使用带有滑动窗口的 F​​FNN 可能会让您达到某个目标,但您的内部表示将仅基于时间“t”的输入。而 Recurrent Net 也将利用以前看到的数据。

无状态与有状态: 我不会详细介绍,已经有很多关于此主题的好帖子,但重要的是状态在批次之间而不是在每个样本之后重置,因此它确实携带了一些超出序列长度的信息普通的 FFNN 不会。