【发布时间】:2019-03-31 08:18:49
【问题描述】:
我正在尝试理解 Keras 中 LSTM 层的概念。 我只是想确认一下 LSTM 的一些行为并检查我是否理解正确。
假设我有 1000 个样本,并且这些样本有 1 个时间步长,并且我的批量大小为 1
stateful = True
这是否与 1 个具有 1000 个时间步长且批量大小为 1 的样本相同
stateful = False
在这里,我还假设在这两种情况下,我都有相同的信息,只是形状不同,并且在每个训练时期后我都会重置 LSTM 层的状态。
我也认为无状态情况下的批量大小只对我的训练序列很重要,因为如果我设置了
stateful = False
我可以使用 input_shape 代替 batch_input_shape。所以我的 LSTM 层不需要批量维度,只需要时间步长和特征维度。这是正确的吗?
我的结论来自:
https://github.com/keras-team/keras/blob/master/keras/layers/recurrent.py#L1847
When does keras reset an LSTM state?
如果我有一个多层 LSTM 网络,如果第一个 LSTM 层是有状态的,那么所有其他层也应该是有状态的,对吧?
我希望有人理解我的意思并可以帮助我。如果我的问题无法理解,请告诉我,我会更新这篇文章。
谢谢大家。
【问题讨论】:
-
你为什么要同时标记这个 [stateless] 和 [stateful]?
-
因为我想了解这两种情况的差异
标签: python keras lstm stateless stateful