首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Keras -向LSTM模型添加注意机制

Keras -向LSTM模型添加注意机制
EN

Stack Overflow用户
提问于 2018-11-05 17:03:40
回答 2查看 12.3K关注 0票数 12

使用以下代码:

代码语言:javascript
运行
复制
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'))

我正在尝试理解如何在第一个LSTM层之前添加注意力机制。我找到了以下GitHub:keras-attention-mechanism by Philippe Rémy,但不知道如何在我的代码中使用它。

我想要可视化注意力机制,看看模型关注的是什么功能。

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

EN

回答 2

Stack Overflow用户

发布于 2018-11-05 17:30:16

您可以在以下要点中找到如何在Keras中使用带有激活机制的LSTM的示例

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

并在以下关于SO的回答中:

How to add an attention mechanism in keras?

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

票数 5
EN

Stack Overflow用户

发布于 2020-11-19 16:22:58

至少有六种主要的注意力,其中大多数是2014年问世的第一个注意力模型的细微变化--巴达诺等人。每一种风格都可以以多种方式实现,所以对于那些想要在她/他的模型中添加一个简单的关注层的人来说,这可能会让人感到困惑。看看你的模型,我建议在你的第二个LSTM层之后添加一个关注层。这可以是基于Bahdanau的自定义关注层。

这里共享了一个实现:Create an LSTM layer with Attention in Keras for multi-label text classification neural network

然后,您可以使用该层返回的“上下文”来(更好地)预测您想要预测的内容。因此,基本上您的后续层(密集的sigmoid层)将使用此上下文来更准确地预测。

注意力权重也是由上面的层返回的。这些可以被路由到一个简单的显示器。

有关更多详细信息,请参阅https://towardsdatascience.com/create-your-own-custom-attention-layer-understand-all-flavours-2201b5e8be9e

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53151209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档