Fragestellung und Ziele

Wie kann man Schäden oder Veränderungen von Materialien aus zeitaufgelösten Sensordaten erkennen?

Grundverständnis und Anwendung der algorithmischen Approximation von Modellfunktionen

Wie kann man aus gemessenen Sensordaten lernen und Modelle bilden die Schäden erkennen können?

Was ist das Besondere an Zeit- und Datenserien?

Grundverständnis wie Maschinelles Lernen sinnvoll in der Schadensdiagnostik eingesetzt werden klann

Daten und Sensoren

[1]

Daten

Daten sind die Grundlage für die Modellbildung und Modelltestung

Daten können aus einer Vielzahl von Quellen stammen

Experiment

Simulation

Feldstudie

Abgeleitet aus anderen Datensätzen

Es gibt Zusammenhänge zwischen Variablen (gemessen, beobachtet, Metaebene): Modell!

Allgemein kann man Daten und deren Werte unterteilen in:

Skalare Werte, wie Temperatur, Alter, usw.

Serien von Skalaren Werten, wie Zeitserien

Vektorielle Werte wie Bilder

Serien von vektoriellen Werten, wie Bildserien

Zusammengesetzte Daten, also Datenrecords → Datentabellen

Daten haben daher eine Dimensionalität 𝕏N, wobei die Wertemenge 𝕏 einer Dimension aus den ganzen ℕ, reelen ℝ, der Zeit 𝕋 oder kategorischen Wertemengen 𝕊 bestehen kann (oder Untermengen davon).

Datenwerte

Numerische und Metrische Werte

Das sind Werte die abzählbar sind und wo man Relationen (wie kleiner oder größer) sinnvoll definieren kann, also alle reellen und ganzen Zahlen.

Beispiele: Temperatur, Länge, Ort, Zeit

Kategorische Werte

Das sind symbolische Werte für die entweder keine (sinnvolle) Ordnungsrelation existiert oder wo sich wenigstens keine Differenzen bilden lassen.

Beispiele: Staatsangehörigkeit, Farbennamen (rot < gelb???), Schadenstyp

Auch kategorische Variablen können mit einer Wahrscheinlichkeit p und Wahrscheinlichkeitsverteilung p=[0,1] durch eine numerische Variable repräsentiert werden.

Die Wahrscheinlichkeit kann die Häufigkeit des Auftretens oder die Wahrscheinlichkeit eines einzelnen Auftretens beschreiben

Maschinelles Lernen bedeutet häufig eine Approximation einer Vorhersage, und ist somit immer mit einer bestimmten Vorhersagewahrscheinlichkeit verbunden (nicht immer bestimmbar!)

[4]

Datenkodierung

Häufig, z.B. bei Künstlichen Neuronalen Netzen, müssen kategorische Daten in numerische kodiert werden

Häufigste Kodierungsformate:

One-hot Kodierung, d.h. die kategorische Variable k={s₁,..,sw} mit w verschiedenen symbolischen Werten (z.B. hoch, tief, mittel) wird auf einen w-stelligen 0-1 Vektor abgebildet, wo maximal ein Element den Wert 1 besitzt

Lineare Treppe, d.h. die kategorische Variable k={s₁,..,sw} mit w verschiedenen symbolischen Werten wird auf eine Zahlenreihe {v₁,..,vw} ∈ [0,1] abgebildet → Nur bei vorhandener Ordnungsrelation sinnvoll

Abbildung 1. Beispiel für eine One-hot Kodierung und Abbildung auf eine Zielvariable y [1]

Abbildung 2. Kodierung numerischer Variablen als diskrete Wertemenge: Intervallkodierung

Datenarten

Strukturierte Daten

Datentabellen deren Spalten direkt Eigenschaften darstellen → Eigenschaftsvariablen → Modellmerkmale → Temperatur, Dichte, ...

Unstrukturierte Daten

Daten die nicht direkt Eigenschaften einer Beobachtung wiedergeben → Müssen in Eigenschaftvariablen transformiert werden → Merkmalsselektion → Bilder, Audiosignale, Texte

Die Dimensionalität und Größe von unstrukturierten Daten ist meist viel größer als die der strukturierten Daten → Merkmalsselektion ist meistens auch Datenreduktion!

Abbildung 3. Unterschied von strukturierten zu unstrukturierten Daten [2]

Maschinelles Lernen

Funktionaler Ansatz

Annahme:

Es gibt messbare Eingabevariablen, z.B. Sensorvariablen, x→ ={x₁,..,xi}

Es gibt messbare oder nicht messbare Ausgabevariablen, y→ ={y₁,..,yj}

Fragestellung: Welchen Zusammenhang gibt es zwischen x→ und y→ ?

image-placeholder
(3-1)

f( x→ ): Vorwärtsmodellierung, M ≈ f

f⁻¹( y→ ): Rückwärtsmodellierung (Inverses Problem), M⁻¹ ≈ f⁻¹

Es gibt i.A. eine Vielzahl von Modellhypothesen ℍ={M₁,..,Mk}, die die unbekannte Modellfunktion f approximieren!

Klassen von Maschinellen Lernen

Klassifikation

Diskriminative Modelle schätzen die Wahrscheinlichkeit p(y| x→ ) eines y Wertes (Label) für gegebene Eingabedaten x→ (oder treffen eine binäre Entscheidung)

x auf kategorische Variablen y ab: Diskriminierende Modelle

Abbildung 1. Klassifikation bildet Eingabedaten [2]

Abbildung 2. Beispiel für eine Multiklasseneinteilung (3 Klassen) (Links) Überlappende Klassifikationsgebiete (rot, blau), Rechteckige Regionen, klare Trennung durch Graden (Rechts) Klare Trennung der Klassen durch nichtlineare Funktionen [3]

Klassifikation funktional

image-placeholder
(3-2)

Entscheidungsbäume sind typische Klassifikatoren die aus verschachtelten Entscheidungsknoten bestehen

Falschklassifikation

Ein Wert einer kategorischen Zielvariable y=s ∈ {si}i=1,w kann richtig oder falsch vorhergesagt werden

Die statistische Auswertung einer Menge von Testdaten ergibt:

Die richtig-positiv Rate tp

Die falsch-positiv Rate fp

Die falsch-negativ Rate fn

[wikipedia]

F-1 Score

image-placeholder
(3-3)

Regression

Anders als bei der Klassifikation die einen diskreten Wert bestenfalls mit einer annotierten Wahrscheinlichkeit ausgeben soll, ist die Regression eine (lineare) Interpolation bzw. Extrapolation einer kontinuierlichen numerischen Zielvariable y

Polyfit auf Datenpunkten y(x)

Kreuzvalidierung und Overfitting

Training

X

Abbildung 3. Training bedeutet die Anpassung und Auswahl geeigneter Modellhypothesen h durch Veränderung der Parameter p aus Trainingsdaten [5]

Künstliche Neuronale Netzwerke

Deep Learning ist nicht alles!

Neuronale Netzwerke (das mathematische Neuron) gehen in die 1940 Jahre zurück.

Das Perzeptron

Ein KNN hat Ähnlichkeit mit einem Entscheidungsbaum. Der Unterschied: Die Knoten sind aktive Funktionen. Daher ist ein KNN ein Funktionsgraph.

Das Single Layer Perzeptron (SLP) ist das einfachste KNN und besteht aus einem einzigen künstlichen Neuron.

Warum ist der Begriff "Neuron" mit Bezug auf die Biologie irreführend, was ist beim natürlichen Neuron anders (Verhalten, nicht die Chemie)?

Warum ist ein KNN kein Gehirn, was ist der große biologsche Unterschied im Vergleich zu der folgenden Architektur?

Funktionaler Ansatz

Ein Perzeptron ist eine Funktion, die einen Eingabevektor x→ auf eine skalare Ausgabevariable y abbildet:

image-placeholder
(4-1)

Dabei ist:

w→ ein Gewichtungsvektor mit dem die Eingabevariablen xi multipliziert werden

b ein Offset (Bias)

ft die Transfer- oder Aktivierungsfunktion

Architektur

Abbildung 1. Aufbau eines (Single Layer) Perzeptrons mit einem Neuron [1]

Transferfunktionen

Abbildung 2. Verschiedene Transferfunktionen mit unterschiedlichen Übrtragsungskurven: Linear vs. Nichtlinear, Begrenzung vs. Unbegrenzt

Gebräuchlich für Diskriminative Modelle sind die Log-Sigmoid (Logistics) Funktion

Für Regression ist die Log-Sigmoid mit vorsicht zu verwenden: Starke Nichtlinearität an den Grenzen 0/1!

Parametrisierung

Das KNN Modell M(p→) ist durch den Parametervektor p→ gegeben, und besteht wenigstens aus einem Neuron, meistens aber aus einem Netzwerk von Neuronen (KNN):

Statische Parameter

Anzahl der eingehenden Kanten (|

w→ |), Transferfunktion ft, Anzahl der Neuronen, Anzahl der Schichten (von Neuronen) und Anzahl der Neuronen pro Schicht, Verbindungsstruktur (Kanten)

Dynamische Parameter

Offset b, Kantengewichte

w→ , eventuell Aufbau des Netzwerkes (Kanten und Knoten) ⇒ Evolutionäre Algorithmen

Neuronales Netzwerk

Abbildung 3. Aus einzelnen Neuronenknoten zusammengesetztes Netzwerk [1]

Zwei einfache Probleme

x₁ | x₂ | y
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 0

x₁ | x₂ | y
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

       (a)                     (b)
  x2                     x2
  ^                      ^
  │                      │
1 │  N        N        1 │  P        N
  │                      │
  │                      │
0 │  P        N        0 │  N        P
  └──────────────▶ x1    └──────────────▶ x1
     0        1             0        1
y:{N=0,P=1}

Lösung mit einem Perzeptron (eine Schicht) möglich?

Wie können die dynamischen Parameter w→ und b bestimmt werden?

Minimierungsproblem des Fehlers E=||y-y₀|| für alle Fälle {⟨Xi,yi⟩}i

Schrittweises verändern in Abhängigkeit des Fehlers E=||y-y₀|| und einer Änderungs(Lern)rate α

Annahme: Lineare Transferfunktion ft(u)=u

/webwork

dataNAND

dataNAND = [
 [0,0,1],
 [0,1,0],
 [1,0,0],
 [1,1,0]
]
dataIO = ML.preprocess(dataNAND,'io',{features:[0,1],target:2});

dataXOR

dataXOR = [
 [0,0,0],
 [0,1,1],
 [1,0,1],
 [1,1,0]
]
dataIO = ML.preprocess(dataXOR,'io',{features:[0,1],target:2});

model

model = ML.learner({
  algorithm: ML.ML.ANN,
  layers : [2,1],
  activation : ['IDENTITY','IDENTITY'],  // RELU, IDENTITY, LOGISTIC, STEP

});

train10

printf("%10s%20s%20s\n%50C",'Error','Weights','Offsets','=');
loop(function (i) {
  var result = ML.train(model,dataIO,{
    alpha:0.1,
    iterations : 1,
  })
  var snapshot = ML.toJSON(model),
      weights = snapshot.connections.map(function (c) { return c.weight }),
      offsets = snapshot.nodes.map(function (n) { return n.bias });
  printf("%10s%20s%20s",
         Math.precision(result.error,2),
         weights.map(Math.precision(2)).join(','),
         offsets.map(Math.precision(2)).join(','))
  return i<10
})

train100

test

var result = ML.predict(model,dataIO.pluck('input'))
print(result)

Zeitaufgelöste Signale

Abbildung 1. Gemessenes Ultraschallsignal (S: Sensor, A: Aktuator, D: Schaden)

Zeitserien

Zeitseriendaten sind typisch für die Schadensdiagnostik mit geführten Wellen und Ultraschallmesstechnik

Zeitseriendaten sind unstrukturierte Daten

Die Zeitvariable t ist i.A. kein eigenständiges Merkmal!

Eine Zeitserie besteht aus einer geordneten Menge von einzelnen zusammenhängenden und abhängigen Messungen X ={ x→ (t=1), x→ (t=2),..}

In einer Datenserie gibt es eine Historie, d.h., Modellfunktionen f( X ): X → y→ sind i.A. zustandsbehaftet (besitzen einen veränderlichen Datenzustand)

Modelle auf Zeitseriendaten verarbeiten häufig die Daten sequenziell!

Merkmalsvariablen von Zeitserien

Variable
Berechnung

Mittelwert

x— =∑xi/N | | Streumaße | sm₂=∑x i² - x— , sm₃=∑x i³ - x— , .. | | Varianz, Standardabweichung | Var=sm₂/N, s=√Var | | Asymmetrie (Skew) | Skew=(√N sm₃)/(sm₂√sm₂) | | Extremwerte | xmin=min(X), xmax=max(X) | | Frequenzspektrum | FFT(X): X → F | | Diskrete Wavelet Transformation, DWT Koeff. | DWT₁(X), DWT₂(X),.. | | Histogramm | [∣{x ∈ [min,min+Δ)}∣, ∣{x ∈ [min+Δ,min+2Δ)}∣,.., ∣{x ∈ [max-Δ,max]}∣] |

https://www.mql5.com/de/articles/292

Bilderzeugung

Die bisherigen Merkmale bedeuten Dimensionalitäts- und Größenreduktion der Eingabedaten

Selbst FFT (Frequenzspektrum) reduziert die Datengröße um den Faktor 2!

Man kann aber auch den umgekehrten Weg gehen und die Datendimensionalität erhöhen:

Beispiel ist die Erzeugung eines Spektrogramms aus den Zeitserie

Transformation der Merkmalsselektion in den Bildraum → Bilderkennungsproblem (z.B. mit Convolutional Neural Networks)

Spektrogramm

Abbildung 2. Beispiel eines zeitaufgelösten Spektogramms durch Bewegende Fensterfrequenzanalyse [1]

Messdaten

Für die praktische Übung sollen Messdaten aus der OpenGuidedWaves Datenbank verwendet werden

Die Messungen wurden an einer CFK Platte mit Pseudodefekten durchgeführt

Pseudodefekte (D) werden auf die Oberfläche aufgebracht

Die Anregung erfolgt mit einem sinusförmigen Burst mit einer Frequenz f={40,80,100,.. kHz}

PE Aktuator (A), PE Sensor (S)

Eine Messung ist charaktersiert durch (T:Temperatur der Platte) :

image-placeholder
(5-1)

Abbildung 3. (Links) CFK Platte in einer Klimakammer mit Aktuator, Sensor, und Defektpositionen (Rechts) Geometrische Anordnung [6]

Praktische Übungen

Übungen und Tutorials finden mit dem WEB Browser und dem interaktiven WorkBook (ähnlich Jupyter Notebooks) statt

Ein WorkBook besteht aus Snippets

Code (hier i.A. durch überlagerte Bedienoberflächen verdeckt)

Text, Tabellen, Plots, ...

Referenzen

R. Hwasser, “Machine learning classification based on ultrasonic analog data - Evaluation of using raw ultrasonic sensor data for classifying various objects.,” Chalmers University of Technology, 2020.

D. Foster, Generative Deep Learning: Teaching Machines to Paint, Write, Compose, and Play

E. Alpaydın, Introduction to Machine Learning. MIT Press, 2010.

https://joelouismarino.github.io/posts/2018/04/evaluating_probabilities

N. J. Nilsson, Introduction To Machine Learning. 1996.

J. Moll et al., “Open Guided Waves: online platform for ultrasonic guided wave measurements,” SHM, vol. 18, no. 5–6, 2019.