Как сгенерировать более 1 вывода на ввод в LSTM?

Предположим, это моя модель:

_________________________________________________________________ 
Layer (type)                 Output Shape              Param #    ================================================================= 
embedding_16 (Embedding)     (None, 10, 500)          71500      _________________________________________________________________ 
lstm_31 (LSTM)               (None, 10, 500)          2002000    _________________________________________________________________ 
dropout_15 (Dropout)         (None, 10, 500)          0          _________________________________________________________________ 
time_distributed_16          (None, 10, 500)          250500    _________________________________________________________________ 
softmax (Activation)         (None, 10, 500)           0     =================================================================

Но я хочу, чтобы в моем последнем слое были:

softmax (Activation)         (None, 100, 1000)           0

Я пытаюсь сделать это часами. Не знаю, возможно это или нет. Я не думаю, что вы можете изменить размер вывода LSTM (глядя на его модель), но есть ли слой, который я могу добавить, чтобы он генерировал, скажем, 10 выходов на вход?

Проще говоря, предположим, что я хочу, чтобы моя модель генерировала 10 слов для каждого введенного мной слова. Надеюсь, я смогу объяснить.

Оптимизация производительности модели: Руководство по настройке гиперпараметров в Python с Keras
Оптимизация производительности модели: Руководство по настройке гиперпараметров в Python с Keras
Настройка гиперпараметров - это процесс выбора наилучшего набора гиперпараметров для модели машинного обучения с целью оптимизации ее...
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Udacity Nanodegree Capstone Project: Классификатор пород собак
Udacity Nanodegree Capstone Project: Классификатор пород собак
Вы можете ознакомиться со скриптами проекта и данными на github .
Определение пород собак с помощью конволюционных нейронных сетей (CNN)
Определение пород собак с помощью конволюционных нейронных сетей (CNN)
В рамках финального проекта Udacity Data Scietist Nanodegree я разработал алгоритм с использованием конволюционных нейронных сетей (CNN) для...
Почему Python - идеальный выбор для проекта AI и ML
Почему Python - идеальный выбор для проекта AI и ML
Блог, которым поделился Harikrishna Kundariya в нашем сообществе Developer Nation Community.
1
0
126
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть разные способы взглянуть на "множественный вывод" здесь (и "здесь", я предполагаю, что вы используете библиотеку keras - так кажется из распечатки).

В простом случае, например, Слой Dense(10) решит эту проблему. «Секретный соус» использования оболочки слоя TimeDistributed, как объясняется в этом SO сообщение.

Другой подход требует использования функционального API keras. Как получить множественный выход, объясняется в документы.

Другие вопросы по теме