Zustandsbasierte Künstliche Neuronale Netzwerke für Datenserienpädiktion (Stefan Bosse) [7.2024] |
Bitte folgenden Code ausführen um notwendige Bibliotheken zu laden. Nicht erforderlich bei nativer R Software (außer "entropy").
Es kann ein Hintergrundprozess gestartet werden (hier WebWorker). Dazu die folgende Zeile mit dem Worker Code auskommentieren.
▸
[] |
✗
≡
|
https://wagenaartje.github.io/neataptic/
Eine Long-short-term Memory Zellen (LSTM) Modell ist ein zustandsbasiertes Modell, d.h. es speichert Werte aus vorherigen Berechnungen.
Eine LSTM Zelle besteht aus mehreren Funktionen. Neben der Speicherzelle (C) gibt es Hilfszellen die den Einfluss der Vergangenheit und der zukünftigen Entwicklung des Zustandes und des Ausgabewertes bestimmen.
Die Hilfszellen steuern Gatter (quasi Ventile) die Rückkopplung und Abklingen der Speicherzelle bestimmen. Weiterhin gibt es Gatter die LSTM Zellen vertikal (also in einer Schicht) verbinden können.
Nachfolgend ist der schematische Aufbau einer LSTM Zelle gezeigt.
Ein Datenserie ist durch einen x und y(x) Vektor bestimmt. Datenserien können ein- oder mehrdimensional sein (dann Vektoren von Vektoren oder Matrizen).
Dabei sind die x- und y-Werte geordnet, und x kann auch eine Zeitvariable sein. Bei Zugversuchen ist x häufig die Messung der Dehnung und y die resultierende Kraft.
▸
[] |
✗
≡
|
Datenserienprädiktion ist i.A. ein sequenzieller und datenstrombasierter Prozess.
Ein LSTM Modell bekommt als Eingabe schrittweise sequenziell neue Eingabewerte x oder als Datenserienvektor x.
Die Ausgabe ist entweder die Prädiktion künftiger Werte (Entwicklungsprogonose einer Datenserie) oder eine andere Eigenschaftsavriable (z.B. Anomaliedetektor).
▸
[] |
✗
≡
|
Das Modell enthält eine Eingabe- und Ausgabeschicht (jeweils 1 Neuron). Die inneren Schichten sind LSTM Zellen (hier zwei hintereinander geschaltete Schichten mit jeweils 4 LSTM Zellen).
Zunächst soll eine Zukunftsvorhersage um δ Schritte eines Signals erfolgen.
▸
[] |
✗
≡
|
▸
[] |
✗
≡
|
▸
[] |
✗
≡
|
Der Datensatz besteht aus 42 Zugversuchen unbekannter Herkunft.
DATA: Variable dataTT Type: (number [2][874]|number [2][759]|number [2][872]|number [2][808]|number [2][710]|number [2][788]|number [2][731]|number [2][728]|number [2][725]|number [2][785]|number [2][713]|number [2][803]|number [2][575]|number [2][536]|number [2][585]|number [2][1110]|number [2][1185]|number [2][988]|number [2][1124]|number [2][1009]|number [2][1143]|number [2][1080]|number [2][1107]|number [2][761]|number [2][780]|number [2][779]|number [2][689]|number [2][836]|number [2][739]|number [2][789]|number [2][747]|number [2][592]|number [2][802]|number [2][729]|number [2][712]|number [2][660]|number [2][796])[42]
▸
[] |
✗
≡
|
https://www.schuetz-licht.de/wissen-normen-seminare/zugversuch
Frage. Finde anhand der Kurvenplots heraus um welche Materialklasse es sich handeln könnte. Gibt es unterschiedliche Subklassen?
▸
[] |
✗
≡
|
Hilfe:
https://www.smlease.com/entries/mechanical-design-basics/stress-strain-curve-diagram/
Aber Halt: Wir haben ein Problem mit diesen eigentlich zweidimensionalen Daten. y (also die Kraft/Spannung) hängt von x (also der Dehnung) ab. Unsere Modelle verarbeiten momentan aber nur skalare Größen und vor allem sollten die Werte der Datenserie äquidistant (mit Bezug z.B. zur Zeit oder hier der Dehnung) sein.
▸
[] |
✗
≡
|
Frage. Wie ist das Delta (delta, Verschiebung) zu wählen? Das Delta bestimmt die Recihweite bei der Prognose eines Zukunftswertes.
▸
[] |
✗
≡
|
Die Datensätze besitzen och eine Ordnung (welche auch immer, Experimentreihenfolge, Gruppen von Materialien usw.).
▸
[] |
✗
≡
|
▸
[] |
✗
≡
|
Frage. Welche Punkt (welche Punkte) der Zugversuchskurve sollte vorhergesagt werden?
Hier wird das Modell iterative mit allen Datenserien trainiert. Je nach Serie wird es unterschiedliche Fehler geben.
▸
[] |
✗
≡
|
▸
[] |
✗
≡
|
Frage. Kann der Übergang vom elastischen zum plastischen Bereich vorhergesagt werden?