我已经用注意力层训练了简单的GRU,现在我试图可视化注意力权重(我已经掌握了它们)。输入的是2个一键编码序列(一个正确,另一个几乎相同,但具有字母排列)。任务是定义哪个序列正确。 这是我的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上找到的几件事,但是没有成功。特别是我不了解如何将输入权重和注意力权重结合在一起。我将不胜感激。