В чем разница между последовательностью и последовательностью и последовательностью один к одному в сетях LSTM? - PullRequest
0 голосов
/ 26 февраля 2019

Matlab документирует два способа использования сетей LSTM для регрессии:

Schematic

  • sequence-to-последовательность : Выходной уровень LSTM представляет собой последовательность , подаваемую в полностью связанный слой.lstmLayer(N, 'OutputMode', 'sequence').
  • sequence-to-one : Выходной сигнал уровня LSTM является последним элементом последовательности , который подается в полностью связанный слой.lstmLayer(N, 'OutputMode', 'last').

В чем разница между ними в контексте прогнозирования временных рядов?Когда один из них должен использоваться поверх другого?


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

Ответы [ 2 ]

0 голосов
/ 06 апреля 2019

последовательность к последовательности : Выход является скрытым состоянием ячейки LSTM на каждом временном шаге входной последовательности.Нам нужно состояние LSTM, поскольку оно потребляет каждую точку в последовательности и учитывает его предыдущее состояние.Например, когда вы дифференцируете временной ряд, вам нужен «градиент» в каждой точке последовательности:

x4  x3  x2  x1
           [LSTM]
            (h1)

    x4  x3   x2    x1
           [LSTM]
             (h2)  (h1)

        x4   x3     x2    x1
           [LSTM]
             (h3)  (h2)  (h1)

LSTM в основном перевод входной последовательности в выходную последовательность,Вывод будет (h4) (h3) (h2) (h1).

последовательность-к-одному : в этом случае предполагается, что все, что нам нужно, это состояние LSTM после использования всей последовательности.Например, когда вы интегрируете временной ряд, вы хотите получить конечный результат после интегрирования всей последовательности:

             x4     x3    x2    x1
           [LSTM]
             (h4)  (h3)  (h2)   (h1)

Таким образом, результат будет просто (h4).

0 голосов
/ 27 февраля 2019

Если вы хотите предсказать i события после данной последовательности, вы можете использовать seq-to-seq (вторая последовательность с размером i) и когда вы хотите предсказать следующий шаг входной последовательностиВы можете использовать seq-to-one для прогнозирования следующего шага входной последовательности.

...