2015-07-22 4 views
1

Я обучил LSTM последовательностью и попытаюсь проверить, может ли он синтезировать некоторую последовательность вывода, но интересно и, к сожалению, очень быстро, т. Е. После 2-х временных шагов, стабилизирует вывод исправления, что означает последовательность точных одинаковые значения.Почему мой LSTM стабилизируется, чтобы исправить точку?

Теперь я изменил инициализацию, но выходы всегда совпадают после двух шагов. Что может быть неправильным в обучении или выборке?

Извините, что я не могу дать больше контекста, потому что вся программа слишком велика для публикации здесь.

ответ

0

Нет ничего плохого в вашей подготовке или выборке - это ожидаемое поведение для «чистой» сети LSTM. Чтобы моделировать отклонения в ваших данных, не делайте сеть заранее предсказанной значения на следующем шаге. Скорее, ваша сеть должна дать вам распределение вероятности над возможными значениями для следующего шага времени, из которого вы можете затем опробовать.

два примера того, как вы можете сделать это:

  • дискретных данных, например, text: складываем слой softmax поверх LSTM, который дает вам вероятностные значения для каждой буквы, затем образец из этих вероятностей - это также реализуется в печально известном char-rnn Карпарти, см. параграф «Температура»
  • Непрерывные данные, например. временные ряды: заставляют сеть предсказывать параметры распределения смеси (т. е. линейную комбинацию гауссианцев), а затем образец из этого - я очень рекомендую раздел по прогнозированию рукописного ввода в Graves 2013, или вы можете взглянуть на главу 5 из this report I недавно написал для исследовательского проекта

 Смежные вопросы

  • Нет связанных вопросов^_^