Различия между разными уровнями внимания для Кераса - PullRequest
1 голос
/ 24 октября 2019

Я пытаюсь добавить слой внимания для моей модели классификации текста. Входные данные представляют собой тексты (например, просмотр фильма), выходные данные представляют собой двоичный результат (например, положительный или отрицательный).

model = Sequential()
model.add(Embedding(max_features, 32, input_length=maxlen))
model.add(Bidirectional(CuDNNGRU(16,return_sequences=True)))
##### add attention layer here #####
model.add(Dense(1, activation='sigmoid'))

После некоторого поиска я обнаружил пару читаемых слоев внимания для кера,Существует слой keras.layers.Attention, который встроен в Keras. В пакете keras-self-Внимание также есть SeqWeightedAttention и SeqSelfAttention layer. Как человек, который является относительно новым в области глубокого обучения, мне трудно понять механизм, стоящий за этими слоями.

Что делает каждый из этих слоев? Какой из них будет лучшим для моей модели?

Большое спасибо!

...