Zeitschritte und Features in Keras-LSTMs verstehen
Um Ihre Fragen zu beantworten, schauen wir uns die Konzepte von Zeitschritten und Features in Relation genauer an zu LSTMs, die in Keras implementiert sind.
Zeitschritte und Funktionen
Im bereitgestellten Keras-Beispiel werden die trainX-Daten in die folgende Form umgeformt:
(trainX.shape[0], look_back, 1)
In Bezug auf das Bild, das Sie aus Karpathys Blog verlinkt haben, stellt jedes „rosa“ Rechteck ein Merkmal dar und Die „grünen“ Rechtecke geben Zeitschritte an. Somit würde das Diagramm im Bild einer Zeitreihe mit drei Zeitschritten und zwei Merkmalen entsprechen.
Stateful LSTMs
Stateful LSTMs behalten einen internen Zustand bei, der dies zulässt sich daran zu erinnern, was sie während der Verarbeitung einer bestimmten Sequenz gelernt haben. Wenn Sie sie mit Keras verwenden, setzen Sie den Stateful-Parameter auf True.
In Ihrem Beispiel setzen Sie „batch_size“ auf 1 und verwenden model.fit() für das Training mit shuffle=False. Das bedeutet, dass jeder Stapel eine einzelne Sequenz enthält und der LSTM die Sequenzen in derselben Reihenfolge verarbeitet, in der sie in den Trainingsdaten erscheinen. Dadurch bleibt der Zustand des LSTM stapelübergreifend erhalten, sodass er aus der gesamten Sequenz lernen kann.
Indem Sie den Zustand des LSTM zwischen den Trainingsepochen zurücksetzen, „beginnen“ Sie den Lernprozess für jede Epoche effektiv von vorne . Das LSTM merkt sich jedoch immer noch die Gesamtmuster, die es über die Epochen hinweg gelernt hat.
Wichtige Hinweise
Das obige ist der detaillierte Inhalt vonWie wirken sich Zeitschritte und Funktionen auf die Leistung von Keras LSTM aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!