我试图理解Keras中的LSTM层的概念。我只想确认一下LSTM的一些行为,看看我是否正确地理解了它。
假设我有1000个样本,这个样本有一个时间步骤,当
stateful = True这是否与具有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层是有状态的,那么所有其他层也应该是有状态的,对吗?
我希望有人能理解我的意思,并能帮助我。如果我的问题不能理解,请告诉我,我会更新这篇文章。
谢谢大家。
发布于 2018-10-26 14:44:54
stateful=True意味着保留每个批处理的最终状态,并将其作为下一个批处理的初始状态传递。是的,在这种情况下,如果你有1批1,000个样本或1000批1,000个样本,这是一样的。
https://stackoverflow.com/questions/53010965
复制相似问题