Ich gehe den folgenden Blog im neuronalen LSTM-Netzwerk durch: http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/
Der Autor formt den Eingabevektor X als [Beispiele, Zeitschritte, Merkmale] für unterschiedliche Konfigurationen von LSTMs um.
Der Autor schreibt
In der Tat sind die Buchstabenfolgen Zeitschritte eines Merkmals und keine Zeitschritte einzelner Merkmale. Wir haben dem Netzwerk mehr Kontext gegeben, aber nicht mehr Sequenz als erwartet
Was bedeutet das?
quelle
t-n,..., t-2, t-1
vorhersagen wolltent
.Es ist ein bisschen zu spät, aber nur für den Fall;
Ein Beispiel kann sich auf einzelne Trainingsbeispiele beziehen. Eine "batch_size" -Variable ist daher die Anzahl der Samples, die Sie an das neuronale Netzwerk gesendet haben. Das heißt, wie viele verschiedene Beispiele Sie gleichzeitig in das neuronale Netzwerk einspeisen.
Zeitschritte sind Ticks of Time. Es ist, wie lange jede Ihrer Proben in der Zeit ist. Beispielsweise kann ein Sample 128 Zeitschritte enthalten, wobei jeder Zeitschritt eine 30stel Sekunde für die Signalverarbeitung sein kann. Bei der Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) kann je nach Konfiguration ein Zeitschritt mit einem Zeichen, einem Wort oder einem Satz verknüpft werden.
Merkmale sind einfach die Anzahl der Dimensionen, die wir in den einzelnen Zeitschritten eingeben. In NLP könnte ein Wort beispielsweise mit word2vec durch 300 Features dargestellt werden. Stellen wir uns bei der Signalverarbeitung vor, Ihr Signal sei 3D. Das heißt, Sie haben ein X-, ein Y- und ein Z-Signal, z. B. die Messungen eines Beschleunigungsmessers auf jeder Achse. Dies bedeutet, dass Sie für jede Probe 3 Features zu jedem Zeitschritt senden lassen würden.
Von Guillaume
quelle