如果我错了,请纠正我,但根据官方Keras 文档,默认情况下,fit 函数的参数为“shuffle=True”,因此它会在每个 epoch 上对整个训练数据集进行洗牌。
但是,使用 LSTM 或 GRU 等循环神经网络的要点是使用每个数据的精确顺序,以便先前数据的状态影响当前数据。
如果我们将所有数据打乱,所有逻辑序列都会被破坏。因此我不明白为什么有这么多 LSTM 的例子,其中参数没有设置为 False。使用没有序列的 RNN 有什么意义?
此外,当我将 shuffle 选项设置为 False 时,即使数据之间存在依赖关系,我的 LSTM 模型的性能也会降低:我使用 KDD99 数据集,其中连接有链接。