Я пытался обучить двунаправленный LSTM, используя керасы TensorFlow v2 для классификации текста. Ниже представлена архитектура:
model1 = Sequential()
model1.add(Embedding(vocab, 128,input_length=maxlength))
model1.add(Bidirectional(LSTM(32,dropout=0.2,recurrent_dropout=0.2,return_sequences=True)))
model1.add(Bidirectional(LSTM(16,dropout=0.2,recurrent_dropout=0.2,return_sequences=True)))
model1.add(GlobalAveragePooling1D())
model1.add(Dense(5, activation='softmax'))
model1.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model1.summary()
Теперь это сводные детали, в которых я запутался
Мои сомнения связаны к выходным формам слоев BiLSTM. Как они есть (283,64) и (283,32), хотя количество используемых единиц составляет 32 и 16 соответственно для 2 слоев. Здесь maxlength = 283, vocab = 19479