首页 > 解决方案 > 自注意力可视化

问题描述

我已经用注意力层训练了简单的 GRU,现在我正在尝试可视化注意力权重(我已经有了它们)。输入是 2 个 one-hot 编码序列(一个是正确的,另一个几乎相同,但有字母排列)。任务是定义哪个序列是正确的。这是我的NN:

optimizer = keras.optimizers.RMSprop() 
max_features = 4 #number of words in the dictionary
num_classes = 2
model = keras.Sequential()
model.add(GRU(128, input_shape=(70, max_features), return_sequences=True, activation='tanh'))
model.add(Dropout(0.5))
atn_layer = model.add(SeqSelfAttention()) 
model.add(Flatten())
model.add(Dense(num_classes, activation='sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer=optimizer,
              metrics=['accuracy']) 

我尝试了在 StackOverflow 上找到的几件事,但没有成功。特别是我不明白如何将我的输入和注意力权重结合起来。我将不胜感激任何帮助和建议。

标签: pythontensorflowkerasattention-model

解决方案


推荐阅读