Использование глубокого обучения для прогнозирования временных рядов

54

Я новичок в области глубокого обучения, и для меня первым шагом было прочитать интересные статьи с сайта deeplearning.net. В статьях о глубоком обучении Хинтон и другие в основном говорят о применении его к проблемам изображения. Может кто-нибудь попытаться ответить мне, может ли это быть применено к проблеме прогнозирования значений временных рядов (финансовых, интернет-трафика, ...) и на какие важные вещи я должен обратить внимание, если это возможно?

Ведран
источник
У вас есть пример кода Matlab для использования глубокого обучения для прогнозирования?
user3209559
Нет, я использую пример кода из библиотеки deeplearning.net и библиотеки pylearn2, которые я модифицировал. Попробуйте найти примеры кода matlab на этой странице и попытайтесь внести изменения, необходимые для прогнозирования.
Ведран

Ответы:

28

Была проведена некоторая работа по адаптации методов глубокого обучения для последовательных данных. Большая часть этой работы была сосредоточена на разработке «модулей», которые могут быть сложены способом, аналогичным стекированию ограниченных машин Больцмана (RBM) или автоэнкодеров для формирования глубокой нейронной сети. Я выделю несколько ниже:

  • Условные RBM : вероятно, одно из самых успешных приложений глубокого обучения для временных рядов. Тейлор разрабатывает модель, подобную RBM, которая добавляет временные взаимодействия между видимыми единицами и применяет ее для моделирования данных захвата движения. По сути, вы получите нечто вроде линейной динамической системы с некоторой нелинейностью, добавленной скрытыми единицами.
  • Временные RBM : В своей диссертации (раздел 3) Илья Суцкевер разрабатывает несколько моделей, похожих на RBM, с временными взаимодействиями между единицами. Он также представляет некоторые интересные результаты, показывающие, что обучение рекуррентных нейронных сетей с использованием SGD может работать так же или лучше, чем более сложные методы, такие как алгоритм Мартенса без гессенского алгоритма, с использованием хорошей инициализации и немного измененного уравнения для импульса.
  • Рекурсивные автоэнкодеры : Наконец, я упомяну работу Ричарда Сошера по использованию рекурсивных автоэнкодеров для анализа. Хотя это не временные ряды, это определенно связано.
альт
источник
1
В сообществе глубокого / функционального обучения также существует понятие, что вы можете рассматривать периодическую сеть (часто применяемую к последовательным данным) как глубокую сеть «на своей стороне», где все слои имеют одинаковую матрицу весов.
lmjohns3
Как насчет требования к вычислительной мощности для использования глубокого обучения? Подходит ли Python или Matlab для решения проблем глубокого обучения в отрасли?
user3269
Pylearn2 использует библиотеку theano, которая позволяет выполнять на графических процессорах с поддержкой CUDA.
Ведран
16

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

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

lejlot
источник
4

Рекуррентные нейронные сети считаются типом глубокого обучения (DL). Я думаю, что они являются наиболее популярным инструментом DL для (1d) последовательного обучения. В настоящее время они являются основой подходов нейронного машинного перевода (NMT) (впервые в 2014 году в LISA (UdeM), Google и, возможно, нескольких других, которых я не помню).

capybaralet
источник
3

При генерации последовательностей Алекса Грейвса с помощью рекуррентных нейронных сетей используются рекуррентные сети и ячейки долгосрочной кратковременной памяти для прогнозирования текста и синтеза почерка.

Андрей Карпатий написал блог о создании последовательностей на уровне персонажа с нуля. Он использует RNN в своем уроке.

Для большего количества примеров вы должны взглянуть на Hochreiter S., & Schmidhuber, J. (1997). Долгая кратковременная память. Нейронные вычисления, 9 (8), 1735-1780.

Azrael
источник
3

Может быть, это поможет:

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

M.Rez
источник
1
Не могли бы вы сказать, что в статье полезно? Это интересная штука
shadowtalker
1
Я думаю, что вы можете найти другие документы здесь: cs.stanford.edu/people/ang/?page_id=414
M.Rez
5
спасибо но я не это имел ввиду Обычно здесь мы просим людей объяснить, как документы, на которые они ссылаются, имеют отношение к ответу. Это полезно для всех, у кого может не быть времени, чтобы отследить и прочитать газету, и особенно для людей, у которых нет подписок на библиотечные базы данных, которые не могут пройти мимо платных сетей
shadowtalker