Використання глибокого навчання для прогнозування часових рядів


54

Я новачок в області глибокого навчання і для мене першим кроком було прочитати цікаві статті з сайту deepplearning.net. У працях про глибоке навчання Хінтон та інші в основному говорять про його застосування до проблем із зображенням. Чи може хтось спробувати відповісти на мене, чи можна це застосувати до проблеми прогнозування значень часових рядів (фінансовий, інтернет-трафік, ...) та які важливі речі, на які я повинен зосередитися, якщо це можливо?


Чи є у вас приклад коду matlab для використання глибокого навчання для прогнозування?
user3209559

Ні, я використовую приклад коду з deeplearning.net та бібліотеки pylearn2, який я змінив. Спробуйте знайти приклади коду matlab на цій сторінці та спробуйте внести зміни, необхідні для прогнозування.
Ведран

Відповіді:


28

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

  • Умовні УЗМ : Мабуть, одне з найуспішніших застосувань глибокого навчання для часових рядів. Тейлор розробляє модель, схожу на RBM, яка додає тимчасові взаємодії між видимими одиницями та застосовує їх для моделювання даних зйомки руху. По суті, ви отримуєте щось на зразок лінійної динамічної системи з деякою нелінійністю, доданою прихованими одиницями.
  • Тимчасові УЗМ : У своїй дипломній роботі (розділ 3) Ілля Суцкевер розробляє декілька моделей, подібних до УВД, з тимчасовими взаємодіями між одиницями. Він також представляє цікаві результати, що показують, що тренувальні періодичні нейронні мережі з SGD можуть виконуватись так само або краще, ніж більш складні методи, наприклад, алгоритм без гессіана Мартенса, використовуючи добру ініціалізацію та трохи змінене рівняння для імпульсу.
  • Рекурсивні автокодери : Нарешті, я згадаю роботу Річарда Сочера щодо використання рекурсивних автокодер для розбору. Хоча це не часовий ряд, він, безумовно, пов'язаний.

1
У спільноті з вивчення глибоких / функціональних можливостей також існує поняття, що ви можете розглядати періодичну мережу (часто застосовується до послідовних даних) як глибоку мережу "на своїй стороні", де всі шари мають однакову матрицю ваги.
lmjohns3

Як щодо вимоги до обчислювальної потужності для використання глибокого навчання? Чи підходить Python чи Matlab для вирішення галузевої проблеми глибокого навчання?
користувач3269

Pylearn2 використовує бібліотеку theano, яка забезпечує виконання на графічних процесорах із підтримкою CUDA.
Ведран

16

Так, глибоке навчання може застосовуватися для прогнозування часових рядів. Насправді це було зроблено вже багато разів, наприклад:

Це насправді не будь-який «особливий випадок», глибоке навчання - це здебільшого метод попередньої обробки (заснований на генеративній моделі), тому вам потрібно зосередитись саме на тих самих речах, на які ви зосереджуєтесь, коли ви глибоко навчаєтесь у «традиційному розумінні» на одному рука та ті самі речі, на яких ви зосереджуєтесь, виконуючи передбачення часових рядів без глибокого вивчення.


4

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


3

Генерація послідовностей Алекса Грейвса з періодичними нейронними мережами використовує періодичні мережі та довгі короткострокові клітини пам'яті для прогнозування тексту та синтезу рукописного вводу.

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

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


3

Можливо, це допоможе:

Якщо у вас є визначення точного часового вікна на таких даних, як речення в цій статті або абзаци, то вам буде добре з використанням LSTM, але я не впевнений, як знайти часове вікно, яке не є очевидним і більш відомим контексту. Прикладом цього може слугувати кількість пов’язаних вами даних журналів, і це не щось очевидно.


1
Не могли б ви сказати, що корисно у статті? Це цікавий матеріал
shadowtalker

1
Я думаю, ви можете знайти деякі інші документи тут: cs.stanford.edu/people/ang/?page_id=414
М.Рез

5
дякую, але це не те, що я мав на увазі. Зазвичай тут ми просимо, щоб люди пояснили, як папери, на які вони посилаються, стосуються відповіді. Це корисно всім, хто може не встигнути відстежувати та читати папери, а особливо людям без підписки на бібліотечну базу, які не можуть пройти платні стіни
shadowtalker
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.