У меня есть диалоговый корпус, как показано ниже. И я хочу реализовать модель LSTM, которая предсказывает системное действие. Системные действия, описанные как бит-вектор. И пользовательские входы вычисляются как слово-вложение, которое также является битовым вектором.
t1: user: "Do you know an apple?", system: "no"(action=2)
t2: user: "xxxxxx", system: "yyyy" (action=0)
t3: user: "aaaaaa", system: "bbbb" (action=5)
Итак, что я хочу понять, это "много для многих (2)" моделей. Когда моя модель получает пользовательский ввод, она должна выводить системное действие.
Но после LSTM я не могу понять параметр return_sequences и слой TimeDistributed. Чтобы реализовать "много-ко-многим (2)", return_sequences == True и добавление TimeDistributed после LSTM требуются? Я ценю, если вы дадите им больше описания.
return_sequences: Boolean. Возвращать ли последний выход в выходной последовательности или полную последовательность.
TimeDistributed. Эта оболочка позволяет применить слой к каждому временному фрагменту ввода.
Обновлено 2017/03/13 17:40
Я думаю, я мог бы понять вариант return_sequence. Но я еще не уверен в TimeDistributed. Если я добавлю TimeDistributed после LSTM, модель будет такой же, как "мои многие-ко-многим (2)" ниже? Поэтому я думаю, что для каждого выхода применяются плотные слои.