用于序列数据的 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]


序列看起来类似于下图:

http://img3.mukewang.com/63ec9ac60001d66806210364.jpg

小唯快跑啊
浏览 141回答 1
1回答

一只甜甜圈

我相信您在这里使用的激活函数即“relu”可能会破坏梯度。尝试使用适合您数据的其他激活函数,例如“tanh”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python