Goal
尝试在多元时间序列数据集上运行 LSTM 自动编码器:
X_train(200, 23, 178)
-X_val(100, 23, 178)
- X_测试(100, 23, 178)
现在的情况
普通的自动编码器比简单的 LSTM AE 架构可以获得更好的结果。
我对如何使用有一些疑问重复向量据我了解,包装层应该简单地重复等于 LSTM/GRU 单元最后状态的序列长度的次数,以便提供解码器层的输入形状。
模型架构不会产生任何错误,但结果仍然比简单的 AE 差一个数量级,而我期望它们至少是相同的,因为我使用的架构应该更适合时间问题。
首先,这些结果是否具有可比性?
Nevertheless, the reconstruction error of the LSTM-AE does not look good at all.
我的AE模型:
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 178) 31862
_________________________________________________________________
batch_normalization (BatchNo (None, 178) 712
_________________________________________________________________
dense_1 (Dense) (None, 59) 10561
_________________________________________________________________
dense_2 (Dense) (None, 178) 10680
=================================================================
- 优化器:sgd
- 损失:均方误差
- 致密层的激活函数:relu
我的 LSTM/GRU AE:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_1 (InputLayer) (None, 23, 178) 0
_________________________________________________________________
gru (GRU) (None, 59) 42126
_________________________________________________________________
repeat_vector (RepeatVector) (None, 23, 59) 0
_________________________________________________________________
gru_1 (GRU) (None, 23, 178) 127092
_________________________________________________________________
time_distributed (TimeDistri (None, 23, 178) 31862
=================================================================
- 优化器:sgd
- 损失:均方误差
- gru层的激活函数:relu