Korzystanie z głębokiego uczenia się do prognozowania szeregów czasowych


54

Jestem nowy w dziedzinie głębokiego uczenia się i dla mnie pierwszym krokiem było przeczytanie interesujących artykułów ze strony deeplearning.net. W artykułach o głębokim uczeniu się Hinton i inni mówią głównie o zastosowaniu go do problemów z obrazem. Czy ktoś może mi odpowiedzieć, czy można to zastosować do problemu przewidywania wartości szeregów czasowych (finansowych, ruchu internetowego, ...) i na jakie ważne rzeczy powinienem się skupić, jeśli to możliwe?


Czy masz jakiś przykładowy kod Matlaba do korzystania z głębokiego uczenia się do prognozowania?
user3209559

Nie, używam przykładowego kodu z deeplearning.net i biblioteki pylearn2, którą zmodyfikowałem. Spróbuj znaleźć przykłady kodu Matlab na tej stronie i dokonaj modyfikacji niezbędnych do prognozowania.
Vedran

Odpowiedzi:


28

Trwają prace nad dostosowaniem metod głębokiego uczenia się do danych sekwencyjnych. Wiele z tych prac koncentrowało się na opracowaniu „modułów”, które można układać w stosy w sposób analogiczny do układania ograniczonych maszyn Boltzmanna (RBM) lub autokoderów w celu utworzenia głębokiej sieci neuronowej. Podkreślę kilka poniżej:

  • Warunkowe RBM : Prawdopodobnie jedno z najbardziej udanych zastosowań głębokiego uczenia się dla szeregów czasowych. Taylor opracowuje model podobny do RBM, który dodaje czasowe interakcje między widocznymi jednostkami i stosuje go do modelowania danych przechwytywania ruchu. Zasadniczo otrzymujesz coś w rodzaju liniowego układu dynamicznego z pewną nieliniowością dodaną przez ukryte jednostki.
  • Czasowe KMS : W swojej pracy (część 3) Ilya Sutskever opracowuje kilka modeli RBM z czasowymi interakcjami między jednostkami. Przedstawia także kilka interesujących wyników pokazujących, że trening rekurencyjnych sieci neuronowych z SGD może działać równie dobrze lub lepiej niż bardziej złożone metody, takie jak algorytm bezessański Martensa, przy użyciu dobrej inicjalizacji i nieznacznie zmodyfikowanego równania pędu.
  • Rekurencyjne autokodery : Na koniec wspomnę o pracy Richarda Sochera nad wykorzystaniem rekurencyjnych autokoderów do analizy. Chociaż nie jest to szereg czasowy, jest z pewnością powiązany.

1
W społeczności zajmującej się uczeniem głębokim / cechami krąży również pojęcie, że można spojrzeć na sieć cykliczną (często stosowaną do danych sekwencyjnych) jako sieć głęboką „na boku”, w której wszystkie warstwy mają tę samą macierz wag.
lmjohns3

Co z wymogiem mocy obliczeniowej do korzystania z głębokiego uczenia się? Czy Python lub Matlab nadaje się do rozwiązania silnego w branży problemu głębokiego uczenia się?
user3269,

Pylearn2 korzysta z bibliotekiano, która umożliwia wykonywanie na GPU z obsługą CUDA.
Vedran

16

Tak, do prognozowania szeregów czasowych można zastosować głębokie uczenie się. W rzeczywistości robiono to już wiele razy, na przykład:

To nie jest tak naprawdę żaden „szczególny przypadek”, głębokie uczenie dotyczy głównie metody wstępnego przetwarzania (opartej na modelu generatywnym), więc musisz skupić się na dokładnie tych samych rzeczach, na których koncentrujesz się, gdy uczysz się głębokiego uczenia się w „tradycyjnym sensie” na jednym ręka i te same rzeczy, na których się koncentrujesz podczas wykonywania prognoz szeregów czasowych bez głębokiego uczenia się.


4

Nawracające sieci neuronowe są uważane za rodzaj głębokiego uczenia się (DL). Myślę, że są najpopularniejszym narzędziem DL do (1d) uczenia sekwencyjnego. Są one obecnie podstawą metod neuronowego tłumaczenia (NMT) (pionierem 2014 w LISA (UdeM), Google i prawdopodobnie kilku innych, których nie pamiętam).


3

Generowanie sekwencji Alexa Gravesa za pomocą rekurencyjnych sieci neuronowych wykorzystuje sieci rekurencyjne i komórki pamięci krótkoterminowej do przewidywania tekstu i syntezy pisma ręcznego.

Andrej Karpathy napisał blog o generowaniu sekwencji poziomów od zera. Używa RNN w swoim samouczku.

Aby uzyskać więcej przykładów, powinieneś spojrzeć na Hochreiter, S. i Schmidhuber, J. (1997). Długotrwała pamięć krótkotrwała. Obliczenia neuronowe, 9 (8), 1735-1780.


3

Może to pomoże:

Jeśli masz definicję dokładnego okna czasowego dla danych, takich jak zdania w tym dokumencie lub akapitach, będziesz w stanie używać LSTM, ale nie jestem pewien, jak znaleźć okno czasowe, które nie są oczywiste i są bardziej świadome kontekstu. Przykładem tego może być liczba wyświetlanych danych dziennika, które są ze sobą powiązane i nie jest to oczywiste.


1
Czy możesz powiedzieć, co w pracy jest pomocne? To ciekawe rzeczy
shadowtalker

1
Myślę, że możesz znaleźć tutaj inne dokumenty: cs.stanford.edu/people/ang/?page_id=414
M.Rez

5
dzięki, ale nie o to mi chodziło. Zwykle prosimy tutaj, aby ludzie wyjaśnili, w jaki sposób dokumenty, do których prowadzą linki, są istotne dla odpowiedzi. Jest to pomocne dla wszystkich, którzy mogą nie mieć czasu na
odszukanie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.