1

LSTM 的主要目的是利用其记忆特性。基于此,无状态 LSTM 存在的意义何在?难道我们不通过这样做将它“转换”成一个简单的神经网络吗?

换句话说.. LSTM 的无状态使用是否旨在对输入数据中的序列(窗口)进行建模 - 如果我们在 keras 的拟合层中应用shuffle = False - (例如,对于 10 个时间步长的窗口捕获任何模式10 个字符的单词之间)?如果是,为什么我们不将初始输入数据转换为与正在检查的定序器的形式相匹配,然后使用普通的 NN?

如果我们选择shuffle = True那么我们将丢失任何可以在我们的数据中找到的信息(例如时间序列数据 - 序列),不是吗?在这种情况下,我希望 in 的行为类似于普通 NN,并通过设置相同的随机种子在两者之间获得相同的结果。

我的想法是否遗漏了什么?

谢谢!

4

1 回答 1

0

keras LSTM 模型的数据始终采用(batch_size, n_steps, n_features). 当您使用 时shuffle=True,您将对batch_size参数进行洗牌,从而保留长序列的自然顺序n_steps

如果您batch_size的每个序列都彼此无关,那么使用无状态模型是很自然的。每个数组仍然包含顺序(时间序列),但不依赖于批处理中的其他数组。

于 2017-08-07T20:36:39.520 回答