我最近开始在我的大学学习神经网络。 从另一个项目中,我得到的传感器数据非常嘈杂,我认为神经网络,尤其是LSTM应该能够进行一些信号后处理。
与简单的avg-sliding-window相比,它可以正常工作,并且做得更好。但这与滑动窗口具有类似的问题,即在突然变化的情况下,需要一些时间来进行标准化。
我的模型如下:
model = tf.keras.models.Sequential()
model.add(LSTM(32, return_sequences=True,
input_shape=(TIMESTEPS, 1),
batch_size=BATCH_SIZE,
stateful=True))
model.add(LSTM(32, return_sequences=True, stateful=True))
model.add(LSTM(32, stateful=True))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam',
metrics=['mean_absolute_error', 'mean_squared_error'])
编辑:在我当前的方法中,TIMESTEPS为1,因此我可以向其逐步提供数据。基本上输入原始值并获得平滑值。
根据我的理解,stateful=True
应该使它记住以前的值。
有没有一种方法可以鼓励LSTM对这些变化做出反应?
还有其他技巧可以让我了解有关使用神经网络进行信号处理的更多信息吗?