Heim >Backend-Entwicklung >Python-Tutorial >Wie funktionieren Zeitschritte und Funktionen in Keras-LSTMs?
Verstehen von LSTM-Zeitschritten und -Funktionen
Im angegebenen Keras-Code hat das trainX-Array die Form (Abtastungen, Zeitschritte, Funktionen ). Dies bedeutet, dass die Daten in ein dreidimensionales Array umgeformt werden, wobei die erste Dimension die Anzahl der Stichproben, die zweite Dimension die Anzahl der Zeitschritte und die dritte Dimension die Anzahl der Merkmale darstellt.
Im Kontext des von Ihnen bereitgestellten Diagramms stellt jedes grüne Kästchen einen Zeitschritt und jedes rosa Kästchen ein Merkmal dar. Daher berücksichtigt der Code den Fall „viele zu eins“, bei dem es mehrere rosa Kästchen (Merkmale) für jedes grüne Kästchen (Zeitschritt) gibt.
Das Argument „Merkmale“ wird relevant, wenn multivariate Reihen berücksichtigt werden, z Modellierung zweier Finanzwerte gleichzeitig. In diesem Fall würde jedes Feature einen der Bestände darstellen und die Anzahl der Features wäre gleich der Anzahl der modellierten Bestände.
Stateful LSTMs verstehen
Zustandsbehaftete LSTMs speichern die Zellenspeicherwerte nicht zwischen Stapelläufen. Stattdessen behalten sie ihren Zustand intern über Chargen hinweg bei. Im Fall des bereitgestellten Codes, bei dem die Stapelgröße eins beträgt, aktualisiert der LSTM seinen internen Status basierend auf der aktuellen Eingabe und verwendet diesen Status, um die nächste Eingabe zu verarbeiten. Durch das Zurücksetzen der Zustände zwischen Trainingsläufen wird der LSTM gezwungen, mit jedem Stapel neu zu beginnen.
Dieses Verhalten ist wichtig für Fälle wie die Vorhersage zukünftiger Zeitschritte, bei denen sich das Modell den Kontext der vergangenen Eingaben merken muss um genaue Vorhersagen zu treffen.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie funktionieren Zeitschritte und Funktionen in Keras-LSTMs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!