Уровни сети LSTM-Attention Layer для задачи классификации - PullRequest
0 голосов
/ 17 января 2020

Я подумал, что строю модель внимания, но запутался (опять же) в отношении каждого измерения уровней. Скажем так, у меня 90 документов, каждый из которых состоит из 200 векторов предложений. Векторы предложений имеют размер 500 (каждое предложение вставлено как 1x500). Задача представляет собой классификацию каждого документа, а векторы предложений уже встроены !

#Creating randm features
xx = np.random.randint(100, size=(90,200,500))
y = np.random.randint(2, size=(90,1))

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

Мои мысли, и я предполагаю, что:

  • Вход должен иметь форму (no_sentences_per_doc, sentence_embedding), поэтому sent_input tensor формы (?, 200 500).

  • LSTM-слой должен иметь размер half no_sentences_per_doc, поэтому Bidirectional-layer удваивает длину LSTM - и мне нужны соответствующие «соответствующие» предложения.

  • Затем вывод передается в слой Dense (чтобы максимизировать вывод из Слой LSTM), который должен иметь размер no_sentences_per_doc

  • И поскольку LSTM просто «запоминает» последовательность, я должен отслеживать с помощью AttentionLayer .. поэтому Dense- вывод передается на слой внимания размером no_sentences_per_doc

Может кто-нибудь проверить мои мысли / модели архитектура?

# Sentence level attention model
sent_input = Input(shape=(no_sentences_per_doc, sentence_embedding), dtype='int32',name='sent_input')
sent_lstm = Bidirectional(LSTM(100, return_sequences=True),name='sent_lstm')(sent_input)
sent_dense = Dense(200, activation='relu', name='sent_dense')(sent_lstm) 
sent_att,sent_coeffs = AttentionLayer(200,return_coefficients=True,name='sent_attention')(sent_dense)
preds = Dense(1, activation='softmax',name='output')(sent_att)

Внимание слой взят отсюда: https://humboldt-wi.github.io/blog/research/information_systems_1819/group5_han/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...