Keras LSTM: размер пакета равен t из xt? - PullRequest
0 голосов
/ 25 января 2020

Я знаю, что уже было так много вопросов для этого, но я не могу найти четкий ответ на это. Это enter image description here правильно? Взято из Понимание LSTM Keras здесь. Соответствует ли размер партии enter image description here 5 (0-4) на этом рисунке? Взято из http://colah.github.io/posts/2015-08-Understanding-LSTMs/ здесь. С такой линией керас:

model.add(LSTM(units, batch_input_shape=(batch_size, n_time_steps, n_features), stateful=False))

обратите внимание на statefull = False, поэтому один входной вектор (один синий пузырь) будет иметь размер n_time_steps * n_features, верно?

1 Ответ

0 голосов
/ 23 апреля 2020

Чтобы прояснить ваше понимание, batch_input_shape = (batch_size,time_steps,n_features) на первом изображении, которое вы упомянули, будет представлено как batch_input_shape = (batch_size,4,3). На втором изображении это будет batch_input_shape = (batch_size,5,1).
На обоих рисунках размер партии не представлен, поэтому не запутайтесь в размере партии здесь.

Лучшее понимание этих размеров можно увидеть ниже. , enter image description here

Для Stateful = True модель ожидает, что вход будет в последовательности, т. Е. Не перемешан, не перекрывается.
В этом сценарии сначала необходимо исправить размер batch_size. .

  • Если данные небольшие, вы можете установить batch_size в 1 (что в большинстве случаев)
  • Если данные большие, вы можете установить любое число для batch_size и разделите данные на равное количество пакетов, чтобы ваши данные были непрерывными при запуске следующей итерации.

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

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