为什么LSTM在人工时间序列数据方面的表现不如简单前馈神经网络

时间:2019-05-13 12:36:40

标签: neural-network deep-learning time-series lstm recurrent-neural-network

我有一个人工数据集。对于2类分类问题

我有2000个带有500次采样的数据实例。所有数据实例都是零的矢量(500个零)。对于前1000个数据实例,我在(200-250)的中间添加了一个小半圆(它们称为目标)。然后,我向所有数据实例添加了噪音。 (另外1000个没有半圆的样本称为非目标。)

任务是将目标分类为非目标。

我使用LSTM来完成此任务,并且我获得了50%的准确性。该模型什么也没学。

然后我只使用了全连接层,准确率为99%…。

我不明白为什么LSTM没有学到任何东西……我在这里缺少什么

1 个答案:

答案 0 :(得分:0)

LSTM是针对时间相关数据的,其训练过程通常比全连接层复杂得多。即使LSTM受梯度消失的影响比简单RNN仍然很难训练。

您的问题并不能真正保证LSTM。当输入或输出序列的长度可变时,LSTMS很有用。在您的情况下,这不会发生,并且FNN可以正常工作。

LSTM的另一种用途是当输出中的时间步长概率性地取决于先前的时间步长时,这又不是您的情况。

要测试LSTM,您可以尝试例如预测正弦波的下一个值,或者尝试进行一些转换,NLP等。