我的目标是在堆叠的 LSTM 模型中使用注意力,但我不知道如何在编码器和解码器层之间添加 Keras 的 AdditiveAttention 机制。假设我们有一个输入层、一个编码器、一个解码器和一个密集分类层,我们的目标是让解码器关注编码器的所有隐藏状态 (h = [h1, ..., hT] ) 推导其输出。我可以使用 Keras 进行任何高级编码吗?例如,
input_layer = Input(shape=(T, f))
x = input_layer
x = LSTM(num_neurons1, return_sequences=True)(x)
# Adding attention here, but I don't know how?
x = LSTM(num_neurons2)(x)
output_layer = Dense(1, 'sigmoid')(x)
model = Model(input_layer, output_layer)
...
我认为这样使用是错误的:x = AdditiveAttention(x, x)。我说得对吗?