In der Mess- und Prüftechnik
PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze -
Zielvariablen: Numerische Variablen
Eigenschaftsvariablen: Numerische Variablen
Modell: Gerichteter Graph (zyklisch oder azyklisch)
Training und Algorithmen: Backpropagation
Klasse: Überwachtes Lernen
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - 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.
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - 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}
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Künstliche Neuronale Netze
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Das Neuron
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)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Das Mehreingangsneuron
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)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Neuronale Netze und Matrizen
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)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Schichten von Neuronalen Netzen
15
Neuronales Netzwerk mit Neuronen in einer Schicht angeordnet
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Struktur eines KNN
15 Grundlegende Struktur eines KNN mit Matrizen (blaue Ellipse=1 Neuron)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Vereinfachte Form eines KNN
15 Vereinfachte Struktur eines KNN mit Matrizen
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Klassen von KNN
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Klassen von KNN
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Rückgekoppelte Netzwerke
15 Rückgekoppeltes und zustandsbehaftetes KNN mit einer Verzögerungsfunktion (Speicher)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Transferfunktion
Auch Aktivierungsfunktion genannt (in Anlehnung an biologische Vorbild mit stark nichtlinearer Übertragungskennline)
Es gibt eine Vielzahl verschiedener Funktionen
Warum ist eine solche Übertragungsfunktion ungeeignet bzw. problematisch?
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Transferfunktion
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Transferfunktion
Transferfunktionen besitzen häufig begrenzende Eigenschaften (Sättigungsverhalten), und nicht lineares Übertragungsverhalten
15 Verschiedene gebräuchliche Transferfunktionen f(a)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Ein einfaches Neuron - Funktional
fsigmoid(a)=11+e−ag(x1,x2,x3)=fsigmoid(b+∑wixi)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Parametersatz des KNN
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 Netwerks ist [c1,c2,..,cm] bei m Schichten und ci Neuronen pro Schicht
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Parametersatz des KNN
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)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Parametersatz des KNN
o(→p)=f(jWT→p+bi)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Training von KNN
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
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Fehler
LS1
err=y−y0err=|y−y0|
LS2
err=(y−y0)2
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Fehler
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!
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Fehler
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Nichtlineare Probleme
SLP können nur lineare Probleme separieren.
15 Nichtlinear separierbare Probleme - nur mit MLP klassifizierbar
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Nichtlineare Probleme
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Error Backpropagation Verfahren
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 so dass der Fehler err=|y-y0| minimal wird
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Error Backpropagation Verfahren
w′=w−α∂err∂w
Zur Berechnung des Fehlergradientens wird die Ableitung der Transferfunktion benötigt.
∂err∂w∼x(y−y0)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Error Backpropagation Verfahren
hmkcode.com/ai/backpropagation-step-by-step Beispiel eines ANN mit Kantengewichten und dem Ansatz der Backpropagation
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Error Backpropagation Verfahren
hmkcode.com/ai/backpropagation-step-by-step Backpropagation des Fehlers zu den Eingängen des Beispielnetzwerkes
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Error Backpropagation Verfahren
Der Einfluss des Ausgabefehlers bei der Rüchpropagation nimmt von Schicht zu Schicht ab. Daher sind mehrschichtige Netzwerke zunächst schwer/langsam (bis gar nicht) trainierbar.
Bei Transferfunktionen mit Sättigung (Clipping) kann es zu "toten" Netzwerknoten kommen,
Ausweg: Randomisiertes Drop-out (Abschalten von Neuronen) und Suche nach gesättigten Neuronen mit anschließender Parameterkorrektur so dass der Ausgang der Transferfunktion in den Arbeitsbereich verlegt wird!
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Kategorische Multiklassen Probleme
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Numerische Prädiktorfunktionen
Neben der Klassifikation lassen sich mit ANN auch numerische (kontinuierliche) Funktionen lernen
Damit wird Funktionsapproximation wie bei den Regressionsverfahren möglich
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Numerische Prädiktorfunktionen
Die Wahl der Transferfunktion muss sorgfältig geschehen. Nichtlinearitäten der Transferfunktionen in den Randbereichen des Übertragungsbereichs muss berücksichtigt oder genutzt werden.
Die Sigmoid (Log Rregression) Funktion ist abschnittsweise linear - ähnlich einem elektronischen Operationsverstärker ⇒ Analoge Rechner!!
Begrenzung/Sättigung schränkt den Lösungsraum ein (gewollt!)
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Literatur zur Vertiefung
[1] M. T. Hagan, howard B. Demuth, M. H. Beale, and O. D. Jesus, Neural Network Design. https://hagan.okstate.edu/nnd.html
Stefan Bosse - Maschinelles Lernen - Klassifikation und Regression mit Künstlichen Neuronale Netze - Zusammenfassung
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 (reduktion eines Vektors auf Skalar)
Training ist ein Minimierungsproblem und bedeutet Anpassung der Gewichte um den Ausgangsfehler zu minimieren