Совершенно новый для keras и ML в целом. Я смотрю на https://machinelearningmastery.com/use-word-embedding-layers-deep-learning-keras/, и он использует Flatten между Embedding и Dense, потому что Embedding создает 2D-вектор, а Dense требует одного измерения.
Я уверен, что здесь я упускаю что-то очевидное, но почему это не теряет, какие слова находятся в каких входных векторах? Как мы все еще можем знать, что ввод № 3 был «хорошей работой» и связан с меткой № 3, 1, для «положительного»?
Я предполагаю, что исходные размеры сохраняются из исходного ввода, а затем каким-то образом восстанавливаются для вывода Dense? Или я просто полностью упускаю важный концептуальный аспект?
model = Sequential()
model.add(Embedding(vocab_size, 8, input_length=max_length))
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
Спасибо за любое руководство!