Объединение результатов LSTM, если вход удовлетворял определенным условиям - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь воссоздать эту архитектуру.
enter image description here

Модель имеет вложения и слой LSTM , за которым следует слой пула .

Я застрял на том, как объединить несколько выходов LSTM.(не объединяя временную последовательность).

например, если входные последовательности LSTM:

Start1 - A - B - C - End1
Start1 - C - D - E - End1

Я хочу, чтобы эти 2 последовательных LSTM-выхода сначала были объединены (как вывод прогноза (max или avg)) перед тем, как LSTM предпримет этап обучения.
(Объединены, потому что они имеют одинаковое начало и конец).

Я ожидаю что-то вроде этого:

input_layer = Input()
x = Embedding()(input_layer)
x = LSTM()(x)
output = ConditionalPooling()(x)   

Вопрос в том, как реализовать ConditionalPooling, где ConditionalPooling - это функция для группировки выходных последовательностей с одинаковыми головами и хвостами.

Спасибо:)

...