Добавление статических данных (не изменяющихся во времени) к данным последовательности в LSTM - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь построить модель, подобную следующей.См. Следующее изображение:

Please see the image

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

  • Если мое понимание верно (что я изображаю на рисунке), как данные 5-мерной последовательности можно объединить с 4-мерными статическими данными?
  • Кроме того, в чем отличие механизма внимания от этой структуры?(Я обнаружил в документации KERAS, что механизм внимания - это способ добавления статических данных с данными последовательности)

По сути, я хочу добавить статические данные с данными последовательности.Любое другое предложение оценивается.

1 Ответ

0 голосов
/ 19 ноября 2018

Я не уверен, получил ли я то, о чем вы просите, но я попробую.

enter image description here

Пример в Keras:

static_out = (static_input)

x = LSTM(n_cell_lstm, return_sequences=True)(dynamic_input)
x = Flatten()(x)
dynamic_out = (x)

z = concatenate([dynamic_out, static_out])

z = Dense(64, activation='relu')(z)

main_output = Dense(classes, activation='softmax', name='main_output')(z)

Практически вы используете архитектуру LSTM, как если бы вы использовали только динамические данные, но в конце вы добавляете информацию, поступающую из статических данных. Надеюсь, это поможет.

...