【问题标题】:Keras LSTM state vs. feed forward network with sliding windowKeras LSTM 状态与滑动窗口的前馈网络
【发布时间】:2017-05-26 12:09:59
【问题描述】:

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

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

【问题讨论】:

  • 对此有任何答案吗?

标签: keras lstm feed-forward


【解决方案1】:

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

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

无状态与有状态: 我不会详细介绍 SO 已经有很多关于这个主题的好帖子,但重要的是状态在 batch 之间重置,而不是在每个 sample 之后,所以它确实携带了一些超出常规 FFNN 不会的序列长度的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-14
    • 2019-12-16
    • 2019-06-18
    • 2019-01-15
    • 1970-01-01
    • 2020-04-16
    • 2018-03-30
    • 2017-08-31
    相关资源
    最近更新 更多