Понимание топологии LSTM


9

Как и многие другие, я обнаружил, что ресурсы здесь и здесь чрезвычайно полезны для понимания ячеек LSTM. Я уверен, что понимаю, как значения обновляются и обновляются, и я достаточно уверен, чтобы добавить упомянутые «глазковые соединения» и т. Д.

В моем примере у меня на каждом шаге времени есть входной вектор длины iи выходной вектор длины o, где o < i.

На самом деле ни одна страница не раскрывает, как они организованы и обучены.

У меня есть 2 вопроса:

  1. В моих тренировочных данных у меня много пар входных / выходных векторов, соответствующих множеству единиц времени. Предположим, я тренирую LSTM со всеми данными. Могу ли я запустить ввод произвольной длины через него? Я имею в виду, что если у меня есть данные для обучения, скажем, за весь 2015 и 2016 годы, могу ли я затем передавать данные через сеть за 2017 год? Или, возможно, 2017 до 2020 года?
  2. Согласно тому, что я прочитал, такое ощущение, что у меня одна ячейка LSTM на единицу времени, поэтому, если у меня много единиц времени, то у меня много цепочек ячеек LSTM. Поскольку длина цепочки зависит от длины данных, которые я хочу пропустить через сеть, и это, предположительно, произвольно, я не могу понять, как бы я это обучил, если только я не обучу только одну ячейку LSTM, которая затем дублирует число раз. Таким образом, кажется, что я бы обучил одну ячейку LSTM, а затем связал nих вместе для заданного списка входных векторов длины n? Даже если одна ячейка LSTM содержит несколько элементов и функций, кажется, что этого недостаточно, чтобы собрать столько информации во что-то такое маленькое?

Спасибо. Есть ли какие-либо другие ресурсы, которые я могу потреблять (относительно быстро), которые помогут мне понять детали реализации? Две ссылки выше дали фантастическую картину высокого уровня того, что происходит, но не смогли уловить эти более мелкие детали.

Ответы:


1

Предположим, я тренирую LSTM со всеми данными. Могу ли я запустить ввод произвольной длины через него?

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

Таким образом, кажется, что я бы обучил одну ячейку LSTM, а затем связал n из них вместе для заданного списка входных векторов длины n?

ИксTИксT+1

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.