Keras - 为LSTM模型添加注意机制

Shl*_*rtz 8 python machine-learning lstm keras attention-model

使用以下代码:

model = Sequential()

num_features = data.shape[2]
num_samples = data.shape[1]

model.add(
    LSTM(16, batch_input_shape=(None, num_samples, num_features), return_sequences=True, activation='tanh'))
model.add(PReLU())
model.add(Dropout(0.5))
model.add(LSTM(8, return_sequences=True, activation='tanh'))
model.add(Dropout(0.1))
model.add(PReLU())
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
Run Code Online (Sandbox Code Playgroud)

我试图了解如何在第一个LSTM层之前添加注意机制.我找到了以下GitHub:PhilippeRémy的keras-attention-mechanism,但无法弄清楚如何将它与我的代码一起使用.

我想想象注意机制,看看模型关注的功能是什么.

任何帮助将不胜感激,尤其是代码修改.谢谢 :)

hzi*_*oun 5

您可以在本要点中找到一个如何在Keras中将LSTM与激活机制一起使用的示例

https://gist.github.com/mbollmann/ccc735366221e4dba9f89d2aab86da1e

并在以下答案中:

如何在keras中添加注意力机制?

为了可视化您的激活,您可以使用以下存储库https://github.com/philipperemy/keras-activations

希望有帮助:)