Deep Learning für die Vorhersage von Zeitreihen verwenden

54

Ich bin neu im Bereich Deep Learning und für mich war der erste Schritt, interessante Artikel von deeplearning.net zu lesen. In Artikeln über tiefes Lernen sprechen Hinton und andere hauptsächlich davon, es auf Bildprobleme anzuwenden. Kann jemand versuchen, mir zu antworten? Kann dies auf das Problem der Vorhersage von Zeitreihenwerten (Finanz-, Internet-Verkehr, ...) angewendet werden und auf welche wichtigen Dinge sollte ich mich konzentrieren, wenn es möglich ist?

Vedran
quelle
Haben Sie ein Matlab-Codebeispiel für die Verwendung von Deep Learning für Prognosen?
user3209559
Nein, ich verwende ein Codebeispiel aus deeplearning.net und der pylearn2-Bibliothek, die ich geändert habe. Versuchen Sie, Matlab-Codebeispiele auf dieser Seite zu finden und die für die Prognose erforderlichen Änderungen vorzunehmen.
Vedran

Antworten:

28

Es gab einige Arbeiten zur Anpassung von Deep-Learning-Methoden für sequentielle Daten. Ein Großteil dieser Arbeit konzentrierte sich auf die Entwicklung von "Modulen", die analog zum Stapeln von eingeschränkten Boltzmann-Maschinen (RBMs) oder Autoencodern zu einem tiefen neuronalen Netzwerk gestapelt werden können. Ich werde im Folgenden einige hervorheben:

  • Bedingte RBMs : Wahrscheinlich eine der erfolgreichsten Anwendungen von Deep Learning für Zeitreihen. Taylor entwickelt ein RBM-ähnliches Modell, das zeitliche Interaktionen zwischen sichtbaren Einheiten hinzufügt und auf die Modellierung von Bewegungserfassungsdaten anwendet. Im Grunde ergibt sich so etwas wie ein lineares dynamisches System mit einer gewissen Nichtlinearität, die durch die verborgenen Einheiten hinzugefügt wird.
  • Temporale RBMs : In seiner Dissertation (Abschnitt 3) entwickelt Ilya Sutskever mehrere RBM-ähnliche Modelle mit zeitlichen Wechselwirkungen zwischen Einheiten. Er präsentiert auch einige interessante Ergebnisse, die zeigen, dass das Trainieren von rekurrenten neuronalen Netzen mit SGD genauso gut oder besser als komplexere Methoden wie der Hessische Algorithmus von Martens funktioniert, wobei eine gute Initialisierung und eine leicht modifizierte Impulsgleichung verwendet werden.
  • Rekursive Autoencoder : Zuletzt erwähne ich die Arbeit von Richard Socher über die Verwendung rekursiver Autoencoder zum Parsen. Obwohl dies keine Zeitreihe ist, ist es definitiv verwandt.
Alt
quelle
1
Es gibt auch eine Vorstellung in der Deep / Feature-Learning-Community, dass Sie ein wiederkehrendes Netzwerk (das häufig auf sequenzielle Daten angewendet wird) als tiefes Netzwerk "auf seiner Seite" betrachten können, in dem alle Ebenen dieselbe Gewichtsmatrix verwenden.
lmjohns3
Was ist mit der Anforderung an die Rechenleistung für die Verwendung von Deep Learning? Ist Python oder Matlab zur Lösung des branchenüblichen Problems des Deep Learning geeignet?
User3269
Pylearn2 verwendet diese Bibliothek, die die Ausführung auf GPUs mit CUDA-Unterstützung ermöglicht.
Vedran
16

Ja, Deep Learning kann für Zeitreihenvorhersagen angewendet werden. Tatsächlich wurde es schon oft gemacht, zum Beispiel:

Dies ist eigentlich kein "Sonderfall", beim Tiefenlernen geht es hauptsächlich um Vorverarbeitungsmethoden (basierend auf einem generativen Modell). Sie müssen sich also auf genau dieselben Dinge konzentrieren, auf die Sie sich konzentrieren, wenn Sie Tiefenlernen im "traditionellen Sinne" durchführen Hand und die gleichen Dinge, auf die Sie sich konzentrieren, während Sie Zeitreihenvorhersagen ohne tiefes Lernen durchführen.

Lejlot
quelle
4

Wiederkehrende neuronale Netze gelten als eine Art Deep Learning (DL). Ich denke, sie sind das beliebteste DL-Tool für (1d) Sequenz-zu-Sequenz-Lernen. Sie sind derzeit die Grundlage für NMT-Ansätze (Pionier 2014 bei LISA (UdeM), Google und wahrscheinlich ein paar andere, an die ich mich nicht erinnere).

Capybaralet
quelle
3

Alex Graves ' Generierung von Sequenzen mit wiederkehrenden neuronalen Netzen verwendet wiederkehrende Netze und Langzeitgedächtniszellen, um Text vorherzusagen und die Handschriftsynthese durchzuführen.

Andrej Karpathy hat einen Blog über das Generieren von Sequenzen auf Zeichenebene von Grund auf geschrieben. In seinem Tutorial verwendet er RNNs.

Weitere Beispiele finden Sie bei Hochreiter, S. & Schmidhuber, J. (1997). Langes Kurzzeitgedächtnis. Neuronale Berechnung, 9 (8), 1735-1780.

Azrael
quelle
3

Vielleicht hilft das:

Wenn Sie Definitionen für Ihr genaues Zeitfenster für die Daten wie Sätze in diesem Artikel oder Absätze haben, können Sie LSTM problemlos verwenden, aber ich bin nicht sicher, wie Sie das Zeitfenster finden können, das nicht offensichtlich und kontextsensitiver ist. Ein Beispiel dafür kann sein, wie viele der angezeigten Protokolldaten miteinander verknüpft sind, und das ist nicht offensichtlich.

M.Rez
quelle
1
Könnten Sie vielleicht sagen, was in der Zeitung hilfreich ist? Das ist interessant
shadowtalker
1
Ich denke, Sie können hier einige andere Artikel
M.Rez
5
danke aber das habe ich nicht gemeint. Normalerweise bitten wir hier die Leute zu erklären, wie die Artikel, auf die sie verweisen, für die Antwort relevant sind. Es ist hilfreich für alle, die möglicherweise keine Zeit haben, die Zeitung aufzuspüren und zu lesen, und insbesondere für Leute ohne Abonnement für Bibliotheksdatenbanken, die nicht an Paywalls
vorbeikommen