PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
In der Mess- und Prüftechnik
PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Zielvariablen: Numerische Variablen
Eigenschaftsvariablen: Numerische Variablen
Modell: Gerichteter Graph (zyklisch oder azyklisch)
Training und Algorithmen: Backpropagation
Klasse: Überwachtes Lernen
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Ein KNN ist eine Komposition aus einer Vielzahl von Abbildungsfunktionen G=(g1,g2,..,gm). Es gibt Parallelen zu Regressionsverfahren mit Funktionen.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
M(X):X→Y,X={xi},Y={yj}KNN=⟨Nx,Nd,Ny,E⟩Nx={ni:ni↔{xj}},Nd={nd},Ny={nk:nk↔yk}n=g(→p,→w,b):→p→o=f(∑iwipi+b)E={eij:ni↦njwij}
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
15 Ein einzelnes Neuron mit einem einzelnen Eingang p und einem Ausgang o. w ist ein Gewichtungsfaktor (ein Gewicht für eingehendes p) und b ist ein Bias (Offset)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
15 Ein einzelnes Neuron mit einem Eingangsvektor p und einem skalaren Ausgang o. w ist ein Gewichtungsfaktorvektor (ein Gewicht für eingehendes p) und b ist ein Bias (Offset)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
15 Ein einzelnes Neuron mit einem Eingangsvektor p und einem skalaren Ausgang o. w ist ein Gewichtungsfaktorvektor (ein Gewicht für eingehendes p) und b ist ein Bias (Offset); jetzt in Matrizenform (Annotation)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
15
Neuronales Netzwerk mit Neuronen in einer Schicht angeordnet
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
15 Grundlegende Struktur eines KNN mit Matrizen (blaue Ellipse=1 Neuron)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
15 Vereinfachte Struktur eines KNN mit Matrizen
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
15 Rückgekoppeltes und zustandsbehaftetes KNN mit einer Verzögerungsfunktion (Speicher)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Auch Aktivierungsfunktion genannt (in Anlehnung an biologische Vorbild)
Es gibt eine Vielzahl verschiedener Funktionen
Warum ist eine solche Übertragungsfunktion ungeeignet bzw. problematisch?
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Transferfunktionen besitzen häufig begrenzende Eigenschaften (Sättigungsverhalten), und nicht lineares Übertragungsverhalten
15 Verschiedene gebräuchliche Transferfunktionen f(a)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
fsigmoid(a)=11+e−ag(x1,x2,x3)=fsigmoid(b+∑wixi)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Anzahl der Eingangsneuronen (verbunden mit x), abhängig von der Anzahl der Eingabevariablen |x| und der Kodierung (numerisch vs. kategorisch)
Anzahl der Ausgangsneuronen (abhängig von der Kodierung). Bei numerischen Zielvariablen y gilt also: |Ny|=|y|
Anzahl der inneren verdeckten Neuronen |Nd| und deren Anordnung in Schichten
D.h. die Konfiguration des Netwerkes ist [c1,c2,..,cm] bei m Schichten und ci Neuronen pro Schicht
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Wi=⎡⎢ ⎢ ⎢ ⎢ ⎢⎣w1,1w1,2⋯w1,Rw2,1w2,2⋯w2,R⋮⋮⋮wS,1wS,2⋯wS,R⎤⎥ ⎥ ⎥ ⎥ ⎥⎦,Bi=⎡⎢ ⎢⎣b1⋮bS⎤⎥ ⎥⎦
Mit S: Anzahl der Neuronen in der Schicht, R: Anzahl der Eingangsvariablen (oder Neuronen der vorherigen Schicht)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
o(→p)=f(jWT→p+bi)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
M(→x):→x→→yargminWerr(M)=|y(→x)−y0(→x)|,∀(x,y0)∈D
Ziel ist die Minimierung des Fehlers unserer Modellhypothese M(x) durch Anpassung der Gewichtematrix W und evtl. (wenn vorhanden) des Offsetvektors B
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Es ist leicht zu erkennen dass das Training einen hochdimensionalen Parametersatz anpassen muss. Es ist nicht unmittelbar klar wie ein optimales W abgeleitet werden kann!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
SLP können nur lineare Probleme separieren.
15 Nicht linear separierbare Probleme - nur mit MLP klassifizierbar
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
https://hmkcode.com/ai/backpropagation-step-by-step
Baut auf dem Minimierungsansatz "Gradient Descent" (GD) auf (Absteigender Gradient)
Beim GD Verfahren wird eine Funktion, z.B. f(x,w): x → y derart über den Parameter w angepasst wird dass der Fehler err=|y-y0| minimal wird
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
w′=w−α∂err∂w
∂err∂w∼x(y−y0)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
hmkcode.com/ai/backpropagation-step-by-step Beispiel eines ANN mit Kantengewichten und dem Ansatz der Backpropagation
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
hmkcode.com/ai/backpropagation-step-by-step Backpropagation des Fehlers zu den Eingängen des Beispielnetzwerkes
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Neben der Klassfikation lassen sich mit ANN auch numerische (kontinuierliche) Funktionen lernen
Damit wird Funktionsapproximation wie bei den Regressionsverfahren möglich
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
[1] M. T. Hagan, howard B. Demuth, M. H. Beale, and O. D. Jesus, Neural Network Design. https://hagan.okstate.edu/nnd.html
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul E: Künstliche Neuronale Netze
Neuronale Netze bestehen aus Neuronen
Neuronen sind Funktionen
Die Kanten verbinden Ausgänge von Neuronen mit den Eingängen nachfolgender Neuronen mit einer Multiplikation eines Gewichtfaktors
Alle Eingänge eines Neurons werden summiert, das Ergebnis einer Transfer/Aktivierungsfunktion übergeben
Training bedeutet Anpassung der Gewichte um den Ausgangsfehler zu minimieren