1

Im derzeit entwickeln ein Modell für die Zeitreihenvorhersage mit LSTM-Zellen mit Tensorflow. Mein Modell ist dem ptb_word_lm ähnlich. Es funktioniert, aber ich bin mir nicht sicher, wie man die Anzahl der Schritte zurück Parameter verstehen, wenn Sie Backpropagation über die Zeit abgeschnitten (der Parameter heißt im Beispiel num_steps).Einfluss der Anzahl der Schritte zurück bei Verwendung von verkürzten Backpropagation durch Zeit

Soweit ich verstehe, werden die Modellparameter nach jeder num_steps Schritte aktualisiert. Bedeutet das aber auch, dass das Modell keine weiter entfernten Abhängigkeiten erkennt als num_steps. Ich denke es sollte, weil der interne Staat sie erfassen sollte. Aber welcher Effekt hat dann einen großen/kleinen num_steps Wert.

Antwort

0

Die Zahl_schritte im Beispiel ptb_word_lm zeigt die Sequenzlänge oder die Anzahl der Wörter an, die für die Vorhersage des nächsten Wortes verarbeitet werden sollen.

Zum Beispiel, wenn Sie einen Satz haben.

"Witwen und Waisen auftreten, wenn die erste Zeile eines Absatzes die letzte Zeile in einer Spalte oder Seite ist, oder wenn die letzte Zeile eines Absatzes die erste Zeile einer neuen Spalte oder Seite ist."

Wenn u sagen num_steps = 5

dann meinen Sie für

input = "Witwen- und Waisen auftreten, wenn"

output = "und Waisen auftreten, wenn die"

dh gegeben die Wörter ("Witwen", "und", "Waisen", "vorkommen", "wann"), Sie versuchen, das Auftreten des Wortes ("das") vorherzusagen.

so die num_steps tatsächlich spielt eine wichtige Rolle in den größeren Kontext zu erinnern (dh die angegebenen Worte) für die Wahrscheinlichkeit des nächsten Wortes der Vorhersage

Hoffnung, das ist hilfreich ..

+1

ich sehe, wie dies gilt für Text, aber ich arbeite mit Zeitreihen im Allgemeinen. Es gibt also keine definierte Sequenzlänge. Die Zeitreihen haben theoretisch unendliche Länge. Daher bin ich mir nicht sicher, wie ich _num_steps_ einstellen soll. Ich denke, es hängt von den Daten ab? – Jakob

+0

Ich habe noch keine Zeitreihenvorhersage versucht, dies könnte hilfreich sein http://robromijnders.github.io/LSTM_tsc/ oder ein weiterer Ansatz könnte ..pad die Daten auf die max_length der Eingabe und dann lstm verwenden mit dem num_steps als maximale Länge –

+1

http://danielhnyk.cz/predicting-sequences-vectors-keras-using-rnn-lstm/ plz lassen Sie mich wissen, wenn Sie einen Weg finden, dies zu tun –

Verwandte Themen