LSTM ввод длиннее, чем вывод - PullRequest
0 голосов
/ 23 января 2020

Я не уверен, что понимаю, как именно работает Keras-версия LSTM. Допустим, у меня есть вектор len = 20 в качестве входных данных, и я указываю keras.layers.LSTM (unit = 10). Таким образом, в этом примере сеть завершает sh после обработки 50% ввода или прецессирует остальную часть от начала (I значит из первой ячейки)?

1 Ответ

1 голос
/ 23 января 2020

Единицы никогда не связаны с размером ввода.
Единицы связаны только с размером вывода (units = output features or channels).

Слой LSTM всегда обрабатывает все данные и при необходимости возвращает либо " одинаковая длина (все шаги) "или" нет длины (только последний шаг) ".


С точки зрения форм

Вы должны иметь входной тензор с формой (batch, len=20, input_features).

И он выдаст:

  • Для return_sequences=False: (batch, output_features=10) - без длины
  • Для return_sequences=True: (batch, len=20, output_features=10) - с такой же длиной

Выходные характеристики всегда равны units.


См. Полное понимание слоев LSTM здесь: Понимание LSTM Keras

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...