LSTM自动编码器,用于序列数据

时间:2020-07-03 07:49:52

标签: python keras lstm

我对LSTM领域是一个全新的领域。有什么技巧可以优化我的自动编码器以完成len = 300序列的重建任务

束颈层应具有10-15个神经元

model = Sequential()
model.add(LSTM(128, activation='relu', input_shape=(timesteps,1), return_sequences=True))
model.add(LSTM(64, activation='relu', return_sequences=False))
model.add(RepeatVector(timesteps))
model.add(LSTM(64, activation='relu', return_sequences=True))
model.add(LSTM(128, activation='relu', return_sequences=True))
model.add(TimeDistributed(Dense(1)))
model.compile(optimizer='adam', loss='mae')

代码从以下位置复制:https://towardsdatascience.com/step-by-step-understanding-lstm-autoencoder-layers-ffab055b6352

目前结果只是一个nan序列:[nan,nan,nan ... nan,nan]

序列看起来类似于下图:

enter image description here

1 个答案:

答案 0 :(得分:0)

我相信您在此处使用的激活功能(即“ relu”)可能会破坏梯度。尝试使用其他适合您数据的激活功能,例如“ tanh”。