Визуализация самовнимания

Я тренировал простое ГРУ со слоем внимания, и теперь я пытаюсь визуализировать веса внимания (они у меня уже есть). Входные данные - 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, но безуспешно. Дело в том, что я не понимаю, как соединить веса моего вклада и внимания. Буду признателен за любую помощь и предложения.


person Lisa Grigorashvili    schedule 15.01.2020    source источник