Как именно работает слой lstm keras? - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь создать анализ настроений с 7 классификациями.Скажем, у меня есть 100.000 уникальных слов (уже преобразованных в 100.000 целых), у которых самый длинный ввод - 41. Я создал 3 слоя вложения, LSTM и Dense Layer.

model = Sequential();
model.add(Embedding(100000, 50, input_length = 41))
model.add(LSTM(75, dropout=0.2, recurrent_dropout=0.0))
model.add(Dense(7, activation='softmax'))
optimizer = Adam(lr=0.00001)
model.compile(loss='sparse_categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])

На основе приведенного выше кода я попытался создать иллюстративную модель, как показано ниже:

illustration

Насколько я понимаю, X t - это 41 целое число, которое будет входным.Слой встраивания преобразует каждое целое число в вектор с реальной длиной 50. Каждый преобразованный вектор будет входом слоя LSTM (X 1 - X 41 )

Сколько единиц LSTM я создал (насколько я понимаю, 41)?
Из-за return_sequence & return_state по умолчанию false для слоя LSTM, так что он станет много к одному?
Если да, то h 41 является единственным выходным (последним выходным) значением, которое будет использоваться для классификации?
Что означает 75 единиц для слоя / удара LSTM для иллюстрации?

...