【发布时间】:2022-09-24 20:38:16
【问题描述】:
我的理解是,在编码器解码器 LSTM 中,解码器的第一个状态与编码器的最终状态(隐藏状态和单元状态)相同。但是我没有在下面的代码中看到明确的写法(取自许多 Keras 教程)。
model.add(LSTM(units, input_shape=(n_input, n_features),dropout=rdo, activation = keras.layers.LeakyReLU(alpha=0.2)))
model.add(RepeatVector(1))
model.add(LSTM(units, activation = keras.layers.LeakyReLU(alpha=0.2), return_sequences=True, dropout=rdo))
model.add(TimeDistributed(Dense(100, activation = keras.layers.LeakyReLU(alpha=0.2))))
model.add(TimeDistributed(Dense(n_features)))
这种状态传递是自动完成的吗?在哪个阶段?
更新:我认为我的假设可能不正确,因为这是一个顺序架构,因此只有一个输出被传递到解码器层。但是,我仍然想知道如何不将单元状态和隐藏状态从编码器传输到解码器仍然可以正常工作(我的意思是工作可以产生合理的预测?)。
标签: python tensorflow lstm keras-layer encoder-decoder