Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 2
Vorstellung
Zu meiner Person...
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 3
● Organisatorisches● Einführung● Mathematische Grundlagen● Das Neuron● Backpropagation● Restricted Bolzmann Machines● Convolutional Neural Networks● Generative Adversarial Networks● Kernel Methoden● Rekurrente Neuronale Netze (BBTT, Echo-State, LSTM)● Neuronale Netze Anwendung
Inhalt
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 4
Organisatorisches
Fragen können gerne auch per Email an mich gerichtet werden oder aber bei Diskussionsbedarf einfach per Mail einen Termin vereinbaren...
Rückkopplung ist ausdrücklich erwünscht !!!!!
Fragen…
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 5
ist, dass ihr maximal dabei lernt
…, dass ihr die Algorithmen versteht
…, dass ihr sie selbst programmieren könnt
…, dass Ihr sie selbst erklären könnt.
Ziel der Vorlesung
Organisatorisches
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 6
● Ich werde Euch ausgesuchte Algorithmen und deren Grenzen erklären
● Ihr werdet die Algorithmen in elementarer Form programmieren... auch zu Hause!
● Dazu könnt ihr Euch zu Zweier- oder höchstens Dreiergruppen zusammenschließen
● Die Algorithmen werden testiert und gelten als
Zulassung für die Prüfung
Mein Ansatz
Organisatorisches
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 7
Fragen zu organisatorischen Dingen?
Organisatorisches
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 8
Frage an Sie...
Wer von Ihnen
● hat MLE gehört?
● hat schon mal Neuronale Netze programmiert?
● weiß, wie man eine Ableitung berechnet?
● weiß, was Eigenwerte und Eigenvektoren bedeuten?
● hat schon mal von der Jacobi-Matrix oder der Hesse-Matrix gehört?
Organisatorisches
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 9
Einleitung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 10
Wenn man das menschliche Gehirn in seiner technischen Leistungsfähigkeit mit einem Computer vergleicht...
Gedankenexperiment
technisch (Computer) biologisch (Gehirn)
Speicher 10 Tbyte = 1013 Byte (Festplatte)
1013 Synapsen ~
1013 Byte
Multiplikationen 10 Tflops = 1013 multipl.
(Grafikkarte)
1013 multipl.
(stark vereinfachtes Modell)
Einleitung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 11
Das beste Programm für Gensequenzierung ist ein Neuronales Netz
Texte, Handschriften, Sprache werden bereits vielfach von RNNs erkannt
Das beste Backgammon Programm basiert auf einem Reinforcement Learning Algorithmus und einem Neuronalen Netz. Das Programm enthält im Wesentlichen die Spielregeln und hat so oft gegen sich selbst gespielt, dass Backgammon-Großmeister sich den ein oder anderen Zug abschauen.
Es gibt Antivirenprogramme, welche Neuronale Netze zur Erkennung mutierender Schädlinge einsetzen
Jürgen Schmidhubers „Self Referential Neural Networks“ lernen nicht nur ein Ziel zu erreichen, sondern lernen auch seine Lernmechanismen zu verbessern
Was gibt es schon? Wie weit sind wir?
Einleitung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 12
Bilder werden nicht nur von Neuronalen Netzen erkannt, sondern von solchen mit Hilfe von Sprache beschrieben
Alpha-Go ist ein Go-Programm, welches den Weltmeister in 4 von 5 Spielen besiegte und besteht aus einer Kombination von NN und Reinforcement Learning Algorithmus
Ebenso besteht der Algorithmus, der in 50 ATARI Videospielen auf menschlichem Niveau spielt, aus einem tiefen NN und einem RL-Algorithmus
Was gibt es schon? Wie weit sind wir?
Einleitung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 13
● Überwachtes lernen (supervised learning) eine Funktion wird anhand Ein-Ausgabe Paaren gelernt
● Unüberwachtes Lernen (unsupervised learning) der Algorithmus findet anhand von Eingabedaten ein Modell, welches die Eingaben beschreibt und Vorhersagen ermöglicht
● Bekräftigungs Lernen (reinforcement learning) der Algorithmus erhält nur ab und zu positives oder negatives Feedback
Was für Methoden kann man unterscheiden?
Einleitung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 14
I. Goodfellow, Y.Bengio, A. Courville : Deep Learning, MIT Press, ISBN: 978-0262035613, 2016
T. Rashid, Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python, O'Reilly, ISBN: 978-3960090434, 2017
Deep Learning Überblick: https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf
von Schmidhuber: https://arxiv.org/pdf/1404.7828.pdf
Deep Learning zur Datenkompression: https://www.cs.toronto.edu/~hinton/science.pdf
Deep Learning zur Bilderkennung: https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
Literatur
Einleitung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 15
Mathematische Grundlagen
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 16
Mathematische Grundlagen
Überblick
Lineare Algebra
● Vektoren und Abbildungen● Eigenwerte und Eigenvektoren● Orthogonale Abbildungen
Analysis
● Gradient und Extremwert● Kettenregel● Jakobimatrix● Hessematrix● Optimierung mittels der
kleinsten Fehlerquadrate (lineare Regression)
● Klassifikation (Softmax, Kreuzentropie)
Statistik
● Arithmetisches Mittel● Quadratischer Fehler● Erwartungswert● Varianz
Dynamische Systeme
● Fixpunkte und Stabilität● Begriffe
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 17
Mathematische Grundlagen
Lineare Algebra (Vektoren und Abbildungen)
● Ein Vektor ist durch seine Komponenten definiert und hat eine Richtung und eine Länge.
● Vektor: Länge:
● Normierter Vektor:
● Skalarprodukt:
● 2 Vektoren sind aufeinander senkrecht, wenn ihr Skalarprodukt 0 ist!
v=(123)
|v|=1
√1⋅1+2⋅2+3⋅3 (123)
v⋅w=(123)∗(
456 )=1⋅4+2⋅5+3⋅6=32
lv=√1⋅1+2⋅2+3⋅3
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 18
Mathematische Grundlagen
Lineare Algebra (Vektoren und Abbildungen)
● Eine lineare Abbildung wird i. allg. durch eine Matrix dargestellt
● Matrix:
● Abbildung Beipspiel:
● Zwei lin. Abbildungen, die hintereinander ausgeführt werden, können zu einer zusammengefasst werden (Matrixmultiplikation):
A=(a11 a12a21 a22)
(3 45 6 )(
12)=(1⋅3+2⋅41⋅5+2⋅6)=(1117)
(a11 a12a21 a22)(
b11 b12b21 b22)=(
a11b11+a12b21 a11b12+a21 b22a21 b11+a22b21 a21 b12+a22b22)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 19
Mathematische Grundlagen
Lineare Algebra (Vektoren und Abbildungen)
● Zwei Vektoren, die in die gleiche Richtung zeigen nennt man linear abhängig, d.h. man kann den einen durch ein Vielfaches des anderen ersetzen
● Ist die Determinante einer Matrix ungleich 0, so sind alle Spaltenvektoren und Zeilenvektoren linear unabhängig
det A=det(a11 a12a21 a22)=a11a22−a12 a21
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 20
Mathematische Grundlagen
Lineare Algebra (Eigenwerte, Eigenvektoren)
● Eigenwerte und Eigenvektoren beschreiben eine lineare Abbildung
● Eigenwerte:
● Eigenvektoren:
det ( A−λ E)=det (a11−λ a12
a21 a22−λ)=(a11−λ)(a22−λ)−a12a21=0
( A−λ E)v=0
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 21
Mathematische Grundlagen
Lineare Algebra (Orthogonale Abbildungen)
● Sind im Allgemeinen Spiegellungen und Drehungen
● Definition: oder
● Beispiele: oder
● Orthogonale Abbildungen haben die Eigenschaft die Informationen zu erhalten
AT A=E AT=A−1
A=( cos(α) sin (α)
−sin(α) cos (α)) A=(−cos (α) sin(α)
−sin(α) −cos(α))
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 22
Mathematische Grundlagen
Analysis (Gradient und Extremwerte)
● Die Ableitung oder Gradient einer Funktion f(x) nach x entspricht der Steigung der Funktion an der Stelle x
● Beispiel:
● Extremwerte (Minima und Maxima) und Sattelpunkte befinden sich bei f ‘ (x) = 0.
● Beispiel:
● Ob es sich um Minimum oder
Maximum handelt sagt das Vorzeichen
der zweiten Ableitung
f ' (x )=d f (x)
dx
f (x)=2 x3+x2+x+5 f ' (x )=6 x2+2x+1
f (x)=2 x3+x2+x+5 f ' (x )=6 x2+2x+1=0
x2+26
x+16=0
x12=16±√(
136
−16)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 23
Mathematische Grundlagen
Analysis (Kettenregel)
● Mittels Kettenregel kann man auch Funktionen von Funktionen ableiten!
ist
dann gilt Man spricht von äußerer Ableitung mal innerer Ableitung
● Man schreiben das oft so:
● Beispiel:
f (x)=h (g(x ))
f ' (x )=h ' (g( x))g ' (x)
f (x)=12(o x−t)2
f ' (x )=(o x−t )o
∂h (g (x ))
∂ x=
∂h∂ g
⋅∂ g∂ x
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 24
Mathematische Grundlagen
Analysis (mehrdimensionale Ableitungen)
● Die Jakobimatrix ist die Ableitung einer mehrdimensionalen Funktion in mehrere Richtungen
● Wir verwenden diese für die Echo-State Netze um ein divergieren der Hidden-Layer-Aktivität zu verhindern
● Gegeben seien Ausgabefunktionen für alle Neuronen mit
● Sind die Eigenwerte dieser Jakobimatrix , dann konvergiert die Abbildung. (gilt zumindest für lineare Abbildungen)
Ont n∈[0..N ]
λn<1
J=[∂O1
t+1
∂O1t
∂O1t+1
∂O2t ⋯
∂O1t+1
∂Ont
∂O2t+1
∂O1t
∂O2t+1
∂Ont
⋮ ⋮
∂Ont+1
∂O1t
∂Ont+1
∂O2t ⋯
∂Ont+1
∂Ont
]
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 25
Mathematische Grundlagen
Analysis (mehrdimensionale Ableitungen)
● Die Hessematrix ist die 2. Ableitung einer Funktion (hier der quadratische Fehler) zuerst nach einem, dann nach einem anderen Parameter (hier Gewicht)
● Wir brauchen die Hessematrix um einen Einblick in die Lerngeschwindigkeit zu bekommen und um die Optimierung mit Newton-Verfahren zu verstehen
H=[∂E
∂w 1 ∂w 1
∂E∂w 2∂w 1
⋯∂E
∂w n∂w 1
∂E∂w 1 ∂w 2
∂E∂w n∂w 2
⋮ ⋮
∂E∂w 1 ∂w n
∂E∂w 2∂w n
⋯∂E
∂w n∂w n
]
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 26
Mathematische Grundlagen
Analysis (lineare Regression, optimum least squares)
● Gegeben sei eine Funktion f(x) und eine Anzahl Punkten
● Beispiel: f(x) = mx+b
Ziel: Abstand der n Punkte zur
Funktion f(x) soll anhand
Parameter m und b minimiert
werden!
● Quadratischer Fehler:
● Minimieren:
● Für n gegebene Punkte x und y erhält man zwei Gleichungen mit zwei Variablen, die man nach m und b auflöst!
E=∑i
n
(mx i+b− y i)2
d Ed m
=∑i
n
2(mxi+b− y i) x i=0d Ed b
=∑i
n
2 (mxi+b− y i)1=0
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 27
Mathematische Grundlagen
Analysis (Klassifikation, Softmax und Kreuzentropie)
● Zur Klassifikation wird die Ausgabe oft mit einer sogenannten Softmaxfunktion erstellt:
Ausgabe wird normiert mit zu
● Die Kreuzentropie (engl. cross entropy) berechnet man, wenn die Ausgabe zur 1. Klasse (Auto) gehört folgendermaßen: Sollausgabevektor
Damit berücksichtigt die Kreuzentropievor allem die Ausgabekomponente, durch die die gewünschte Klasse vertreten wird
(x1x2x3...xn
) yk=e xk
∑iex i (
y1y2y 3...y n
)
H=−(log2 y1log2 y2log2 y3...
log2 yn
)∗(100...0)
AutoHausHund
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 28
Mathematische Grundlagen
Taylor Reihe
● Taylorreihe dient zur Approximation einer Funktion um einen Punkt an der Stelle x = a:
Beispiel: f(x) = sin(x) an der Stelle x=0
f(0) = sin(0) = 0 0! = 1
f‘(0) = cos(0) = 1 1! = 1
f‘‘(0) = -sin(0)= 0 2! = 2
f‘‘‘(0)= -cos(0)= -1
f (x)ataylor
≃∑n=0
∞ f (n )(a)
n !( x−a)
n
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 29
Mathematische Grundlagen
Statistik (Arithmetisches Mittel, quadratischer Fehler)
● Das Arithmetische Mittel von n Werten x berechnet sich wie folgt:
● Quadratischer Fehler:
x̄=1n∑i=1
n
x i
E=∑i=1
n
( y i−targeti)2
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 30
Mathematische Grundlagen
Statistik (Erwartungswert, Varianz)
● Erwartungswert am Beispiel eines Würfels: (Mittelwert bei unendl. vielen Versuchen)
● Varianz (Mittelwert der quadr. Abweichung vom Erwartungswert):
=16⋅(1+2+3+4+5+6)=3.5
σ2=
∑i=1
n
(x i−<x > )2
n
< x >=∑i
( xi pi)=1⋅P (x=1)+2⋅P(x=2)+3⋅P(x=3)+4⋅P (x=4)+5⋅P( x=5)+6⋅P (x=6 )
Abb: Verteilungsfunktionen mit Erwartungs-wert <x>=0 aber unterschiedlicher Varianz (rot = geringere Varianz) (Abb. aus Wikipedia)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 31
Mathematische Grundlagen
Dynamische Systeme
● Ein dynamisches System ist ein Zeitabhängiges System, welches das Verhalten eines n-dimensionalen Zustandes beschreibt.
● Meist wird es in Form von Differentialgleichungen beschrieben.
● Diese Differentialgleichungen kann man i. Allg. durch Methoden wie Eulerverfahren oder Runge-Kutta-Verfahren in eine nichtlineare Abbildung umwandeln.
● Aus einer Differentialgleichung wird so z.B. nach Euler eine Differenzengleichung:
● aus wird =>
Differentialgl. Differenzengl. Eulerverfahren
dxdt
=x−x3xneu−x
tneu−t=x−x3 xneu= x+Δ t (x−x3)
Δ t
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 32
Mathematische Grundlagen
Dynamische Systeme (Potential, Fixpunkte)
● Gegeben sei die Gleichung
● Integriert man die Gleichung, so erhält man das Potential:
dxdt
=−dvdx
=x−x3
V=−12
x2+14
x4
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 33
Mathematische Grundlagen
Dynamische Systeme (Fixpunkte und Stabilität)
● Ein Punkt ist Fixpunkt einer Abbildung, wenn er auf sich selbst abgebildet wird d.h. wenn dx/dt=0 !
● Ein Fixpunkt ist stabil, wenn Nachbarpunkte sich durch Abbildung dem Fixpunkt nähern, er ist instabil, wenn Nachbarpunkte sich durch Abbildung entfernen.
Links: stabiler Fixpunkt, rechts instabiler Fixpunkt. Die Linien entstehen durch mehrfaches Abbilden eines Punktes nahe dem Mittelpunkt der divergierenden/kontrahierenden Rotation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 34
Mathematische Grundlagen
Dynamische Systeme (Begriffe)
● Fixpunkt: Ein Punkt, der durch die Abbildung auf sich selbst abgebildet wird
● Attraktor: Eine bestimmte Trajektorie (Verlauf), der angefangen bei einem Startpunkt durch mehrfaches Abbilden zustande kommt.
● Periode n Oszillator: wiederholt den Verlauf der Abbildung nach n Zeitschritten
● Quasiperiodischer Oszillator: z.B. eine Drehung, die nicht genau in Winkeln von Pi/n dreht und sich somit nie genau wiederholt, aber eben doch Sinus- und Cosinustrajektorien folgt
● Chaos: zwei minimal voneinanderr entfernte Startpunkte divergieren, bei wiederholter Abbildung, exponentiell auseinander
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 35
Mathematische Grundlagen
Aufgabe 1)
Programmieren Sie ein dynamisches System, welches die
Differentialgleichung mittels Eulerverfahren implementiert.
Dabei wählen Sie und starten den Algorithmus unter
folgenden Anfangsbedingungen: x=-7, x=-0.2, x=8.
Ist das Verhalten chaotisch, periodisch oder läuft der Attraktor in einen
Fixpunkt? Warum?
dxdt
=x−x3
Δ t =0.01
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 36
Das Neuron
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 37
Das Neuron
Überblick
● Das Neuron
● Das Perzeptron
● Die Perzeptron-Lernregel
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 38
Das Neuron
Abbildung: Eine Pyramidenzelle (Cajal, 1911). Die Information fließt von den Dendriten über den Soma zum Axon und zu den Synapsen, welche das Neuron mit anderen Neuronen verbindet
Das Neuron
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 39
Neuronen: Aktivität und Output
● Die Aktivität eines Neurons j ist gleich die Summe der gewichteten Eingänge:
● Der Output des Neurons ist die über eine Transferfunktion abgebildete Aktivität:
φ j=∑iW jio i
o j=F (φ j)
Das Neuron
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 40
● Eine übliche Transferfunktion ist die Standardsigmoide:
● Neben der Standardsigmoiden gibt es aber verschiedene Transferfunktionen mit unterschiedlichen Einsatzbereichen
linear rectified linear (ReLu)
F (φ j)=1
(1+e−c∗φ j)
Das Neuron
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 41
Das Perzeptron: Aufbau in Layer
Das Neuron
● 1943: W.McCulloch und W.Pitts führen Neuron als Schwellwertelement ein
● 1958: F. Rosenblatt beschreibt das mehrlagige Perzeptron als Grundlage für alle heutigen Feed Forward Netze
● F. Rosenblatt zeigte, dass ein Neuron AND, OR, NOT Operationen ausführen und erlernen kann
● M.Minsky und S. Papert zeigten, dass mit einer Schicht von Neuronen jedoch kein XOR erlernt werden kann.
weights
weights
hidden layer
input layer
output neuron
1 0 1 1
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 42
Das Perzeptron (1 Layer) und lineare Separierbarkeit
I1
Oj
I1
I20 1
11 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 00 0 0 0 0 0
OR Problem
I1 I2 O
0 0 0
0 1 1
1 0 1
1 1 1
Das Neuron
● Ein Neuron Oj mit 2 Eingabeneuronen I1 und I2 und einem Bias kann eine OR Verknüpfung darstellen!
● Schiebt man die Gerade (Abb. unten) nach rechts-oben, so wird aus dem OR ein AND Bias I2
Eingabe- schicht
Ausgabe- schicht
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 43
Das Perzeptron (2 Layer)
I1 I2
o4 o5o3
o6 o1
o20 1
10 0 1 1 1 1 1 1 0 1 1 1 1 0 0
0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0
OR Verknüpfung von verschiedenen Bereichen
Das Neuron
AND Verknüpfung definiert Bereiche
● Die erste Schicht bildet durch AND Verknüpfung verschiedene Bereiche
● Die zweite (hier Ausgabeschicht) verknüpft die Bereiche zu Sammlungen von Bereichen z.B. für eine Klassifikation
Bias Eingabe Schicht
Ausgabe- schicht
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 44
Das Perzeptron (Lernregel)
if Oj=0 and tj=1 and Oi=1 then
Wji = Wji + Oi
if Oj=1 and tj=0 and Oi=1 then
Wji = Wji – Oi
● Wenn der Eingang gleich Null ist, dann nützt eine Gewichtsänderung nichts!
● Ist der Ausgabewert kleiner als das Target, dann vergrößere das Gewicht
● Ist der Ausgabewert größer als das Target, dann verkleinere das Gewicht
Oj
Oi
tj = target
wji
Das Neuron
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 45
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 46
Überblick
● Supervised Training
● Fehlerrückführung
● Delta-Lernregel
● Backpropagation
● Probleme mit Backpropagation
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 47
Fehlerrückführung
Backpropagation
Eine Fehlerrückführung erfolgt in zwei Phasen:
1) Vorwärtsaktivierung von der Eingangs- bis zur Ausgabeschicht
2) Fehler Propagation rückwärts von der Ausgabe bis zur Eingabeschicht
Zu beachten ist, dass jede Schicht ein Bias Neuron hat, welches immer 1 ausgibt. Alle Gewichte vom Bias Neuron zu den anderen Neuronen werden wie üblich mit Backpropagation trainiert!
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 48
Backpropagation
w = Gewicht
η = Lernrate
E = square error
Gradientenabstieg für lineare Netzwerke:
zu minimieren ist der
quadratischer Fehler: mit
die zu optimierenden Parameter sind die Gewicht
der Gradient ist die Ableitung des Fehlers nach den Gewichten
Delta Lernregel
ΔW ji=−η∂E
∂ W ji
=−η
∂12(O j−t j)
2
∂ W ji
=−ηOi(O j− t j)
E=12(O j−t j)
2 O j=∑iW jiOi
W ji
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 49
Backpropagation
w = Gewicht
η = Lernrate
E = quadratischer Fehler
Die Deltalernregel für Output Neuronen lautet also
Mehrschichtige lineare Netze machen keinen Sinn, weil mehrere
Schichten mittels Matrixmultiplikation der Gewichtsmatritzen zu einer
zusammengefasst werden können!
Delta Lernregel
ΔW ji=−ηOi(O j−t j)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 50
Backpropagation Lernregel (Ausgabeschicht)
Gradientenabstieg auf quadratischen Fehler des nichtlinearen Ausgabeneurons
mit
mit
● Wobei ek der Fehlergradient der Ausgabeschicht ist
● Für eine Standardsigmoide F gilt:
Backpropagation
Δ wkj=−η∂Ek
∂w kj
=−η∂ Ek
∂ ok
⋅∂ ok
∂w kj ok=F(∑ jw kj o j)
=−η(ok−t k )F ' (∑ jwkj o j)o j
F ' (x)=∂F (x )
∂ x=F (x)(1−F (x ))
i=1 j =1 k=1
i=2 j =2 k=2
i=3 j =3 k=3
Eingabe- schicht
Versteckte Schicht
Ausgabe- schicht
=−ηek o j
Ek=12(ok−t k)
2
w kjw ji
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 51
Backpropagation Lernregel (versteckte Schicht)
Gradientenabstieg nichtlineares verstecktes Neuron
Der Fehlergradient ek wird rückwärts über die Gewichte
wkj verteilt!
Backpropagation
Δ w ji=−η∂∑k
Ek
∂w ji
i=1 j =1 k=1
i=2 j =2 k=2
i=3 j =3 k=3
Eingabe- schicht
Versteckte Schicht
Ausgabe- schicht
e j=∑kek w kj F '(∑i
w ji oi)
w kjw ji
Δ w ji=−ηe j oi
=−η∑k
∂Ek
∂ ok
∂ ok
∂ o j
∂ o j
∂w ji
=−η∑k(ok−t k)
∂ok
∂ o j
∂ o j
∂w ji
=−η∑k(ok− t k) F ' (∑j
w kj o j)w kj
∂ o j
∂w ji
=−η∑k(ok− t k)F ' (∑j
w kj o j)w kj F ' (∑iw ji o i)o i
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 52
● Symmetry breaking: wenn man mit gleichen Gewichten in einem Layer startet, ist die Aktivität und der Output der Netze identisch. Damit sind auch die Gewichtsänderungen identisch…
● Local minima: beim Gradientenabstieg landet man mit großer Sicherheit in einem lokalen Minimum oder einem Sattelpunkt der Fehlerfunktion
● Flat plateau: Die Gewichtsänderung hängt direkt von dem Gradienten der Fehlerfunktion ab. Ist die Ableitung gering, wie bei flachen Ebenen, so ist es auch die Gewichtsänderung.
● Oscillation in steep gaps: Die Gewichtsänderung in tiefen Lücken kann sehr groß sein. Das kann zu oszillatorischem Verhalten führen, bei dem die Gewichte von einer Seite der Lücke zur anderen springen.
● Leaving good minima: Aus dem gleichen Grund können die Gewichte gute Minima sogar wieder verlassen.
Probleme mit Backpropagation
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 53
● Momentum-term
● Flat-Spot Elimination
Die Ableitung der Aktivierungsfunktion nahe bei 0 und nahe bei 1 ist nahezu 0 für Backprop. Ist es schwer die Gewichte aus dem Zustand rauszuholen, weil die Gewichtsänderung sehr klein ist.
Lösung: Eine Konstante z.B. 0.1 zur Ableitung addieren
● Weight Decay
Um divergierende Gewichte zu verhindern führt man einen Term ein, der große Gewichte stärker reduziert als kleine:
Lösungen:
Backpropagation
Δ w jit+1
=−ηe j oi+α ΔW jit α∈[0. .1]
Δ w jit+1
=−ηe j oi−d W jit d ∈[0. .1]
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 54
● Quickpropagation
Die zweite Ableitung hilft die korrekte Gewichtsänderung durchzuführen schnellere Konvergenz bei höherem Rechenaufwand
Iterative Nutzung zweiter Ordnung, ähnlich wie Newton Verfahren. Im Durchschnitt sehr viel schneller als Backpropagation.
Berechnet für jedes Neuron einen Aktivierungsfehler, indem das Muster im Netz zurückpropagiert wird. Dieser Fehler wird dann minimiert. Backpropagation minimiert den Aufsummierten Fehler der Ausgabeschicht.
● Backprop. zweiter Ordnung
● Backperculation
Weiterentwicklungen von Backpropagation
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 55
Varianten des Gradientenabstiegs
Backpropagation
Man unterscheidet:
● online learning: Gradientenabstieg bei jeder angelegten Eingabe
Angewendet vor allem bei wenigen zu trainierenden Mustern in kleinen Netzen
● mini batch processing: lernen mittels Gradienten aus z.B. 32 Eingaben
Meistens angewendet, da sehr effizient, besonders im Zusammenhang mit Grafikkarten. Diese berechnen die Abbildung über eine Gewichtsmatrix als Matrixmultiplikation.
● full batch processing: lernen mittels Gradient aus allen Eingaben
Nur sinnvoll bei kleinen Netzen die z.B. mittels Conjugate Gradient trainiert werden
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 56
K-fache Kreuzvalidierung
Backpropagation
● Ein neuronales Netz, welches auf trainierten Daten einen kleinen Fehler erreicht kann auf Testdaten einen deutlich größeren Fehler zeigen (overfitting).
● Um den Fehler auf Testdaten zu evaluieren wendet man die Kreuzvalidierung an.
● Teilt man die Daten in K gleich große Teile, so kann man z.B. einen Teil als Testmenge nehmen und die restlichen Teile als Trainingsmenge. (z.B. 1/3 Testdaten, 2/3 Trainingsdaten) und ermittelt z.B. den quadratischen Fehler
● Dann wählt man das nächste Teil als Testmenge und den Rest als Traininigsmenge etc.
● Der Gesammtfehler errechnet sich als Mittelwert aus den Fehlern aller Testmengen.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 57
● Um einen Eindruck der verschiedenen Verfahren zu bekommen werden im Folgenden die üblichen Methoden grafisch dargestellt
● Zur Vereinfachung wird ein lineares Neuron mit zwei Eingängen optimiert
● Der quadratische Fehler ist anhand von Höhenlinien markiert, die von oben betrachtet werden
Visualisierung und Rechenaufwandt
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 58
Gradient Descent (full batch processing)
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 59
Stochastic Gradient (mini batch processing)
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 60
Steepest Descent
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 61
Conjugate Gradient
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 62
Gauss Elimination
Backpropagation
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 63
Tipps zu Backpropagation
Backpropagation
● Alle Eingabewerte sollten im Mittel um Null liegen, so dass sich manche Gewichte beim anlegen eines Trainingsmusters erhöhen, manche kleiner werden. (Sind z.B. alle Eingabewerte positiv, so werden alle Gewichte größer oder alle kleiner!)
● Die Varianz der Eingangswerte sollte an allen Eingabeneuronen etwa gleich groß sein.
● Präsentiere die Muster mit großem Fehler häufiger!
● Eingabemuster sollten wenn möglich unkorrelliert sein!
● Visualisierung des Fehlers über der Zeit, der Ausgabe des Netzes, ein Histogramm der Gewichte (wieviele Gewichte etwa welche Werte haben) etc. sind wichtig für das Debuggen.
● Falls das Netz nicht tut, was es soll: Reduziere das Problem, trainiere z.B. erst mal nur die Ausgabeschicht, visualisiere, was man visualisieren kann, ändere die Transferfunktion...
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 64
Aufgabe 2)
Backpropagation
Programmieren Sie ein dreischichtiges neuronales Netz mit zwei Eingabeneuronen (+Biasneuron), vier sigmoiden hidden Neuronen (+ Biasneuron) und ein sigmoides Ausgabeneuron, welches die folgende Klassifikation erlernen soll:
Alle x-y Eingabewerte, die im Einheitskreis liegen, führen zu einer Ausgabe von 0.8, alle außerhalb des Einheitskreises führen zu einer Klassifikation von 0.
0.8
0.0
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 65
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 66
Überblick
● Einführung
● Restricted Bolzmann Machines
● Deep Networks
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 67
Einführung
● Die Rechenkapazität ist in den letzten Jahren enorm gestiegen, so dass große Netze trainierbar wurden
● Probleme des vanishing und exploding Gradient wurden auf unterschiedliche Weise gelöst
● 1998 zeigte Yann LeCun mit seinem LeNet, dass man mit Hilfe von Gradientenverfahren auch tiefere sogenannte Convolutional Neural Networks erfolgreich trainieren kann
● 2006 zeigte Geoffrey Hinton mit seinen Deep Belief Networks (DBN), dass tiefe Netze oft bessere Ergebnisse liefern als flache Architekturen oder Kernel Methoden. DBN‘s bestehen unter anderem aus Restricted Bolzmann Machines, die im Folgenden kurz erklärt werden
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 68
Restricted Bolzmann Machines
● Ziel der Bolzmann Maschine ist es eine Transformation zu finden, die eine Rücktransformation, im Sinne einer Rekonstruktion des Input, mit möglichst geringem Fehler erlaubt
● Dafür wird in einer Vorwärtsaktivierung die Hidden Schicht und dann in einem
Rückwärtsschritt mit den gleichen Gewichten eine Rekonstruktion des Input
berechnet
Rekonstruktion
vorwärts Aktivierung
ji
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 69
Restricted Bolzmann Machines
vorwärts Aktivierung
Rekonstruktion
● Zur Veranschaulichung: hier die Rekonstruktion des Input gespiegelt
ji
ji
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 70
Restricted Bolzmann Machines
Lernregel (Contrastive Divergence1)
● Ist h =0, so hat dieses hidden Neuron keinen Einfluss auf die Rekonstruktion
● Ist h =1 und dann vergrößert sich das Gewicht ( zu klein)
● Ist h =1 und dann verkleinert sich das Gewicht ( zu groß)
● Ist h =1 und dann verändert sich das Gewicht nicht mehr, denn die Rekonstruktion ist erfolgreich!
ΔW ji=η(<h j v i0>−<h j v i
1>)
vorwärts Aktivierung
Rekonstruktion
v i0<v i
1
v i0>v i
1
v i0=v i
1
v i1
v i1
j
j
j
j
ji
ji
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 71
Restricted Bolzmann Machines
Lernregel (Contrastive Divergencen)
● Die Lernregel wird aus einem energiebasiertem Modell mit Hilfe statistischer Methoden (Gibbs sampling) hergeleitet. Es ist zunächst nicht nötig n gegen unendlich laufen zu lassen. Es werden auch große Lernfortschritte mit n=1 gemacht.
● Hinton verwendet stochastische Neuronen, bei denen die Sigmoide der summierten gewichteten Inputs die Wahrscheinlichkeit angibt, mit der Oj = 1 ist.
● Nimmt man ganz normale sigmoide Neuronen, so funktioniert die Lernregel auch, nur dass die Erwartungswerte zu den berechneten Ausgabewerten werden:
● Bei genauerer Betrachtung erkennt man, dass für n=1 die CDn Lernregel gleich der Delta-Lernregel ist!
ΔW ij=η(<h j v i0>−<h j v i
n>)
ΔW ij=η(h j v i0−h j v i
n)=η(v i
0−v i
n)h j
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 72
Restricted Bolzmann Machines
Betrachtung bei linearen Aktvierungsfunktionen
● trainiert man lineare Hidden Neuronen mit CD, so erhält man Gewichtsmatritzen mit folgenden Eigenschaften:
oder
● Diese Art der Abbildungen nennt man orthogonal
● Sie entsprechen Drehungen, Spiegelungen oder Drehspiegelungen
W W T=E W T
=W−1
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 73
Restricted Bolzmann Machines
Kompression = Abstraktion
● Ist die Dimension des Hidden Layers kleiner als die des Input Layers, so wird eine Transformation erlernt, die die Input Daten komprimiert.
● Ähnlich resultiert eine Kompression, wenn man stochastische Neuronen (so wie G. Hinton) zur Informationsreduktion nimmt
● Da in jedem Layer eine Transformation erlernt wird, die eine Rekonstruktion mit minimalem Fehler erlaubt, stellen die Gewichte jedes Neurons „Features“ oder häufig vorkommende Eigenschaften dar, die für eine Rekonstruktion nützlich sind.
● Diese „Features“ werden abstrakter, je weiter die versteckte Schicht von der Eingabeschicht entfernt ist.
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 74
Deep Belief Networks
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 75
Aufgabe 3)
Programmieren Sie eine Restricted Bolzmann Maschine, die die
handgeschriebenen Ziffern aus der MNIST Datenbank lernt. Zusätzlich soll
am Eingang durch 10 Neuronen (immer nur eines aktiv) das Label mit
eingespeichert werden. Bei der Rekonstruktion sollte dann auch die
erkannte Ziffer mit rekonstruiert werden!
Restricted Bolzmann Machines
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 76
Convolutional
Neural Networks
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 77
Überblick
Convolutional Neural Networks
● Einführung
● Aufbau: convolutional layer
● Aufbau: max pooling
● Training
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 78
Einführung
Convolutional Neural Networks
● Früher gab es handgefertigte Features, die man in Bildern gesucht hat und nach denen man Bilder klassifiziert hat (SIFT, SURF)
● Mittlerweile werden Convolutional Neural Networks eingesetzt und mittels Backpropagation trainiert
● Das Rückpropagieren des Fehlers führt dann zu einer Featuredetektion in einzelnen Neuronen
● Anders als in anderen Neuronalen Netzen werden hier Neuronen mit den selben Gewichten als Maske über das Bild geschoben, die Pixelwerte mit den Gewichten multipliziert und dann aufsummiert.
● Um das „vanishing-“ und „exploding gradient“ Problem zu reduzieren wird dann statt einer Standardsigmoiden Transferfunktion eine Rectified Linear (ReLu) Funktion als Transferfunktion benutzt.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 79
Aufbau: convolutional layer
Convolutional Neural Networks
● Im convolutional layer werden z.B. 3x3 Pixel x 3 Farben auf z.B. 4 Neuronen abgebildet. Jedes der 4 Neuronen hat also 3x3x3=27 input Gewichte und einen output. Durch Verschiebung über x und y erhält man aus dem rot, grün, blau Bild die 4 gefilterten Bilder.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 80
Aufbau: convolutional layer
Convolutional Neural Networks
● Über k Neuronen mit unerschiedlichen Gewichten bekommt man so k gefilterte Bilder. Je nachdem in welcher Schrittweite man diese Convolutional-Neuronen übers Bild schiebt (stride) haben die gefilterten Bilder auch eine niedrigere Auflösung
Quelle: Wikipedia
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 81
Aufbau: max pooling layer
Convolutional Neural Networks
● Im nächsten Schritt wird die Auflösung der Bilder mittels „pooling“ reduziert. Häufig wird „max pooling“ eingesetzt, bei dem z.B. 4 oder 9 Pixel zu einen zusammengefasst werden, indem der größte Wert der 4 oder 9 Pixel ermittelt wird. ● Diese beiden Schichten, convolutional layer und pooling layer, werden meist abwechselnd auf die Bilddaten angewendet● Am Ende kommen noch einige vollvernetzte Neuronenschichten wobei eine Klassifikationsschicht meist eine Softmax Ausgabe hat (siehe Mathematische Grundlagen).
Quelle: Wikipedia
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 82
Convolutional Neural Networks
● Zunächst werden die Bilddaten, die zur Verfügung stehen durch Verschiebung, Spiegelung, Helligkeitseinstellung etc. vervielfacht
● Die Menge aller Bilder wird in Trainingsmenge und Testmenge eingeteilt.
● Die Bilder aus der Trainingsmenge werden ans Netz angelegt und das Netz vorwärts aktiviert. Um ein Overfitting zu vermeiden wird ein Neuron z.B. nur mit der Wahrscheinlichkeit 0.5 aktiviert. Das nennt man „Dropout“
● Dann wird mittels Backpropagation der Fehlergradient durch die Schichten verteilt bzw. die Gewichte geändert und dann das nächste Bild angelegt
● Später werden alle Neuronen (ohne Dropout) aktiviert und dafür die Ausgabe aller Neuronen halbiert
● Zum Schluss wird auf der Testmenge der Fehler ermittelt
Training
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 83
Convolutional Neural Networks
● Um ein Overfitting zu vermeiden wird ein Neuron z.B. nur mit der Wahrscheinlichkeit 0.5 aktiviert. Das nennt man „Dropout“
● Später werden alle Neuronen (ohne Dropout) aktiviert und dafür die Ausgabe aller Neuronen halbiert
Training (Overfitting)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 84
Convolutional Neural Networks
● Early Stopping: Man stoppt das Training bevor der Fehler auf der Testmenge wieder steigt.
● Regularization: Man versucht die Information im Netz gering zu halten, so dass überdetaillierte Abbildungen erst garnicht entstehen können
● Adding Randomvalues: Man trainiert unter Addition von Zufallswerten oder Rauschen, so dass die Trainingsmenge für das Netz „zu viel“ Information trägt um jedes Detail abbilden zu können. Das Netz lernt dann nur Mittelwerte
Training (Overfitting)
Es gibt noch zahlreiche weitere Methoden um Overfitting zu vermeiden:
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 85
Convolutional Neural Networks
Vervollständigen Sie das vorgegebene Programm. Programmieren Sie die Aktivierung eines Convolutional Layers. Was für Filter entstehen?
Aufgabe 4)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 86
Generative Adversarial Networks
(GANs)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 87
Generative Adversarial Networks
Überblick
● Einführung
● Wie GANs funktionieren...
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 88
Generative Adversarial Networks
Einführung
● Möchte man aus Beispieldaten möglichst realistische Daten künstlich erzeugen (z.B. Gesichter: https://www.thispersondoesnotexist.com/) dann sollte man Generative Adversarial Network (GANs) in Betracht ziehen.
● Ein Generative Adversarial Network besteht aus zwei Netzwerken, dem Generator Netz, welches z.B. Bilder aus einem Rauschvektor generiert und dem Discriminator Netz, welches entscheidet, ob es sich bei dem Bild um ein künstliche erzeugtes Bild handelt oder ob es ein reales ist.
● Nun werden abwechselnd reale Bilder und generierte Bilder angelegt.
● Wird ein Realbild angelegt, so soll der Discriminator das Bild als real klassifizieren.
● Wird ein vom Generator erzeugtes Bild angelegt, so soll der Discriminator das Bild als künstliches klassifizieren.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 89
Generative Adversarial Networks
Wie GANs funktionieren...
● Nun kann der Fehler durch beide Netzwerke zurückgeführt werden.
● Dabei sollte der Fehler des Discriminators im Discriminatornetzwerk zurückpropagiert werden.
● Das Generatornetz muss den Fehler ausgleichen, der entsteht, wenn das Discriminator Netz das Bild nicht als real klassifiziert.
Goodfellow:https://arxiv.org/abs/1406.2661
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 90
Generative Adversarial Networks
...und für große Bilder
● Für größere Bilder hat sich gezeigt, dass man die Bilder erst mit kleineren Auflösungen trainiert und dann immer hochauflösender wird.
Wie das funktioniert geht über die Grenzen der Vorlesung, kann man aber hier nachlesen:
https://www.lyrn.ai/2018/12/26/a-style-based-generator-architecture-for-generative-adversarial-networks/
https://arxiv.org/pdf/1812.04948.pdf
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 91
Kernel Methoden
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 92
Kernelmethoden
Überblick
● Einführung
● Kernelfunktionen
● Analogie zum Feed Forward Netz
● Beispiel: 2 Spiral Problem
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 93
Kernelmethoden
Einführung
● Oft sind Daten im niederdimensionalen nicht linear separierbar (z.B. XOR)
● Transformiert man solche Daten in den höherdimensionalen Raum, so kann man sie häufig doch trennen
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 94
Kernelmethoden
Einführung (SVM)
● Bei den Kernelmethoden, wie z.B. Support Vector Machines, kann jedoch die Transformation in den höheren Featurespace entfallen, da man eine Ähnlichkeitsfunktion K(x,y) zwischen Paaren von Eingabevektoren, die man Kernel nennt, definiert und ausnutzt (Kernel Trick).
● So kann man mittels der Kernelfunktion implizit im Featurespace operieren, ohne die Daten explizit dort hin transformiert zu haben
● Es gibt zahlreiche Kernelfunktionen für unterschiedliche Aufgaben
K (x , y )=x ∗y
K (x , y )=(x∗ y)d
K (x , y )=exp(−‖x− y‖²2σ ²
)
● Lineare Kernel (z.B. )
● Polinominelle Kernel ( )
● Radial Basisfunction ( )
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 95
Kernelmethoden
Einführung (SVM)
● Supportvector Machines benutzen nur einen Teil der Trainingsmenge als Stützmenge, mit Hilfe derer die Hyperebene aufgespannt wird (nur die Vektoren, die sich nahe an der Grenze zwischen den zu trennenden Mengen befinden).
● Dabei bieten die SVN‘s sogar die Möglichkeit den Rand zwischen Datenpunkten und Trennebene zu maximieren (Maximal Margin) und damit ein Overfitting auszuschließen.
● Das Maximierungsproblem wird in ein nichtlineares Minimierungsproblem umformuliert und mittels Karush-Kuhn- Tucker Optimierung gelöst.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 96
Kernelmethoden
Analogie zum Feed Forward Netz
● Wenn man anders als mit den Kernelmethoden explizit im Featureraum arbeitet, so kann man sich leicht ein einfaches Neuronales Netz konstruieren, welches ähnliche Eigenschaften wie Kernel Methoden hat
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 97
Kernelmethoden
Analogie zum Feed Forward Netz
● Am effizientesten ist das Training mit dem Optimal Least Squares Verfahren. Dafür berechnet man den quadratischen Fehler des Ausgabeneurons über alle Muster und setzt die Ableitung nach den Gewichten des linearen Ausgabeneurons auf Null. Es ergibt sich für jedes Hiddenneuron eine Gleichung:
● Das zu lösende Gleichungssystem von N Gleichungen berechnet sich z.B. mit dem Gausseliminationsverfahren in O(N ) Rechenschritten
∑patternO k
pattern(∑i
w ji Oipattern
−t jpattern
)=0
k∈[1..N ]
3
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 98
Kernelmethoden
Beispiel: 2 Spiral Problem
● Die Schwierigkeit beim 2 Spiral Problem besteht darin, dass die 2 Klassen eng verwoben und schwer zu trennen sind
● Grün und gelb sind die Datenpunkte die als Trainingsdaten herhalten
● Die Klassifizierung wurde blau und lila gekennzeichnet
● Schwarz gezeichnet sind die Stellen, an denen einzelne Tanh-Neuronen der Hiddenschicht gleich 0 ausgeben
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 99
Rekurrente Neurale Netze
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 100
Rekurrente Neuronale Netze
Überblick
● Ein rückgekoppeltes Neuron
● Hopfield Netze
● Echo-State Netze
● Long Short Term Memory
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 101
Rekurrente Neuronale Netze
Ein Rückgekoppeltes Neuron
Wenn man ein Neuron rückkoppelt, so gibt es je nach Gewicht ein unterschiedliches Verhalten
1) Negative Rückkopplung führt zu einem Periode zwei Oszillator
2) Geringe Rückkopplung ändert das Verhalten des Neurons kaum
3) Größere positive Rückkopplung führt zu bistabilem Verhalten, so wie in Aufgabe 1
4) Noch größere Rückkopplung führt dazu, dass das Neuron bei geringster Aktivierung dauerhaft aktiviert bleibt
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 102
Rekurrente Neuronale Netze
Hopfield Netze
● Hopfield Netze (John Hopfield 1982) sind rückgekoppelte Netze, die trotz Rückkopplung statische Muster speichern können.
● Jedes Neuron ist mit jedem anderen verbunden. Es gibt jedoch keine Selbstkopplungen. Außerdem sind die Verbindungen symmetrisch
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 103
Rekurrente Neuronale Netze
Hopfield Netze
● Motiviert sind sie aus dem Verhalten von Spingläsern (Physik).
● Wie die Elemente im physikalischen Äquivalent zwei Zustände haben (Spins up/down), so haben die McCulloch und Pits Neuronen auch zwei Ausgabezustände (-1,1).
● Die Theorie zu den Hopfield Netzen beschreibt das Verhalten des Netztes mit Hilfe von Energiezuständen. Wie im Kapitel dynamische Systeme gibt es Energieminima, in die der Zustand des Netzes hineinläuft.
● Prägt man ein Muster als Energieminimum ein, indem man die Gewichte anpasst und initialisiert die Neuronenausgabe mit einem ähnlichen Muster, so nähert sich die Ausgabe des Netzes durch jede Aktivierung dem eingespeicherten Muster an.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 104
Rekurrente Neuronale Netze
Hopfield Netze
● Im Idealfall können so verrauschte- oder Teilmuster trotzdem zu original Mustern durch mehrfache Aktivierung rekonstruiert werden.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 105
Rekurrente Neuronale Netze
Hopfield Netze
● Hopfield beschreibt die Gewichtsmatrix für k Muster als:
● Dabei sind Oi und Oj die Ausgabewerte von Neuron i und j, die für jedes einzuspeichernde Muster entsprechende Werte annehmen.
● Initialisiert man die N Neuronen dann mit einem leicht geänderten Muster und aktiviert die Neuronen mehrfach, so sollten die zuvor gespeicherten Muster rekonstruiert werden.
W ji=W ij=1k ∑i=0
kOiO j
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 106
Rekurrente Neuronale Netze
Hopfield Netze
● Leider funktioniert das nicht immer zuverlässig, da nicht nur das Muster und sein inverses Muster eingespeichert werden, sondern auch sogenannte „spurious states“ entstehen, Energieminima, die durch Überlagerung verschiedener eingespeicherter Muster entstehen.
● So können maximal % Muster eingespeichert werden, wobei N die Anzahl der Neuronen des Netzes ist.
N⋅14
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 107
Rekurrente Neuronale Netze
Bistable Gradient Networks
● Wenn man jedoch die Neuronen mit Selbstrückkopplungen ausstattet, die die Neuronen bistabil machen, so verschwinden die „spurious states“ weitgehend
● Trainiert man die Verbindungen dann mit Contrastive Divergence, so kann man weit mehr Muster in Form von Energieminima einprägen 1)
1) Fischer J., Lackner S., "About Learning in Recurrent Bistable Gradient Networks", arXiv:1608.08265v1 [cs.NE] 29 Aug 2016
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 108
Rekurrente Neuronale Netze
Echo-State Netzwerke
● Rekurrente neuronale Netze, die zeitliches Verhalten modellieren sollen sind deutlich schwieriger zu trainieren als vorwärts gerichtete Netze.
● Das vanishing und das exploding gradient Problem tritt in rekurrenten Netzen verschärft auf, da sie als unendlich tief angesehen werden können
● Bifurkationen (Verzweigungen) in chaotischen Attraktoren zu trainieren führt zu Problemen, da Gewichte in fast der selben Situation in unterschiedliche Richtungen bewegt werden.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 109
Rekurrente Neuronale Netze
Echo-State Netzwerke
● Eine Möglichkeit diese Probleme zu überwinden ist es, die rückgekoppelten Gewichte garnicht zu trainieren
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 110
Rekurrente Neuronale Netze
Echo-State Netzwerke
● Damit in dem Reservoir ein „Gedächtnis“ entsteht muss eine reichhaltige Dynamik entstehen können. Eine Vollständige Verkopplung der Neuronen würde dies aber im Allgemeinen unterbinden.
● So sind im Reservoir typischerweise nur 5% der Neuronen miteinander gekoppelt
● Zusätzliche gibt es noch die Echo-State Property die besagt, dass der spektrale Radius der Jakobi-Matrix (heißt der größte Eigenwert) <1 sein sollte, damit das Netz immer wieder konvergiert (zur Ruhe kommt). Die Gewichtsmatrix sollte aber auch so skaliert werden, dass die Eigenwerte möglichst nahe bei eins sind, damit das Netz nicht sofort zur Ruhe kommt.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 111
Rekurrente Neuronale Netze
Echo-State Netzwerke: Echo-State Property
● Linearisiert man ein Netz mit Tangens hyperbolicus Neuronen, so dass
mit
wird zu
so werden die Eigenwerte der Jakobimatrix zu den Eigenwerten der Gewichtsmatrix
● Wenn der Spektrale Radius kleiner sein soll als 1, dann bedeutet das, das der größte Eigenwert kleiner 1 sein soll
J= [∂O1
t+1
∂O1t
∂O1t+1
∂O2t ⋯
∂O1t +1
∂Ont
∂O2t+1
∂O1t
∂O2t +1
∂Ont
⋮ ⋮
∂Ont+1
∂O1t
∂Ont+1
∂O2t ⋯
∂Ont +1
∂Ont
]∂Oi
t+1
∂O jt =
∂∑kOk
t W ik
∂O jt =W ijtanh(∑k
Okt W ik)≈∑k
Okt W ik
J≈ [W 11 W 12 ⋯ W 1n
W 21 W 2n
⋮ ⋮
W n1 W n2 ⋯ W nn]
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 112
Rekurrente Neuronale Netze
Echo-State Netzwerke
● Trainiert wird das Netz dann wie unser Netz im Kapitel (Kernelmethoden) mit Optimal Least Squares
● Für jedes Reservoirneuron r resultiert eine von N Gleichungen (bei N Reservoir Neuronen).
● Das Gedächtnis ist dabei kleiner als N Zeitschritte
∑timeO r
time(∑i
w ji Oitime
−t jtime
)=0
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 113
Rekurrente Neuronale Netze
Echo-State Netzwerke (Beispielanwendungen)
● Attraktors (z.B. Melodie, Chaotischer Attraktor, Buchstabenfolgen etc.)
● Frequency tunable Sine generator
● Time delay (puls => nach einer Zeit Folgepuls am Ausgang, delay line)
● Dynamical Pattern detection (z.B. für Spracherkennung)
● Stochastic Symbol Sequence modelling (sonst mit HMM)
● Frequency measuring
● Predicting chaotic systems
● Filtering
● Controller
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 114
Rekurrente Neuronale Netze
BPTT (Backpropagation Through Time)
● Rückgekoppelte Netze können die letzten N Zeitschritte auseinandergefaltet werden:
● Das auseinandergefaltete Netzwerk kann dann wie ein tiefes Netzwerk betrachtet und mit Backpropagation trainiert werden, wobei die auseinandergefalteten Gewichte natürlich identische Gewichte sein müssen (weight sharing)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 115
Rekurrente Neuronale Netze
BPTT (Backpropagation Through Time)
● Die Rückgekoppelten Netze haben, da sie eigentlich unendlich tief sind noch größere Probleme mit dem verschwindenden (vanishing) oder divergierenden (exploding) Gradienten.
● Auch Bifurkationen (Verzweigungen) in der Dynamik, die man vor allem bei Chaotischen Dynamiken bekommt führen zu Problemen, wenn man den BPTT-Algorithmus zum trainieren der rekurrenten Netze benutzt
● Eine Lösung bietet das Long Short Term Memory Netz von Sepp Hochreiter und Jürgen Schmidthuber (1997).
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 116
Rekurrente Neuronale Netze
LSTM (Long Short Term Memory)
● Long Short Term Memory (Hochreiter, Schmidthuber) ist ein Neuronales Netz, welches aus Speicherzellen besteht.
● Diese Speicherzellen haben:
● ein zentrales rückgekoppeltes lineares Neuron, welches einen Wert konstant und unendlich lange behalten kann (Rückkopplung = 1)
● Ein „Input Gate“, welches Informationen zum linearen Neuron lässt
● Ein „Output Gate“, welches den gespeicherten Wert zur Verfügung stellen kann
● Ein „Forget Gate“, welches die Möglichkeit bietet den Inhalt des linearen Neurons zu löschen
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 117
Rekurrente Neuronale Netze
LSTM (Long Short Term Memory)
● Ein Gate wirkt dabei so wie eine Multiplikation, so dass, wenn das Gateneuron eine Null ausgibt, der am Gate anliegende Wert (value) nicht durchgereicht wird. Gibt das Gateneuron eine Eins aus, so wird der Wert durchgereicht.
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 118
Rekurrente Neuronale Netze
● Die vollständige Memoryzelle
sieht folgendermaßen aus:
● Ein und Ausgang ist durch
input und output gate entkoppelt
● Das zusätzliche forget gate
kann den Inhalt des Speichers
im Rückgekoppelten linearen
Neuron löschen
LSTM (Long Short Term Memory)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 119
Rekurrente Neuronale Netze
● Auch wenn die multiplikativen Elemente unnatürlich erscheinen, die daraus entstehenden Aktivierungsformeln sind vollständig differenzierbar, so dass eine Fehlerpropagation wie BBTT möglich ist.
● Das lineare Neuron sorgt dafür, dass der Gradient weder schnell verschwindet, noch explodiert.
● Die darumliegenden Gate Neuronen können die Zelle, je nach Aktivität, von der Fehlerpropagation ein- oder ausschließen.
● Durch das lineare rückgekoppelte Neuron kann ein Wert beliebig lange in der Zelle behalten werden!
LSTM (Long Short Term Memory)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 120
Rekurrente Neuronale Netze
● Angewendet wird das LSTM z.B. in sämmtlichen Spracherkennungen (Microsoft, Google, Baidu…)
● Text to Speech (Google, Interspeech...)
● Übersetzung (z.B. Englisch zu Französich)
● Phonemerkennung
● Arabische Handschriftenerkennung
● Bilduntertitel Generierung
● Video zu Textbeschreibung
● Syntaktisches Parsen im „natural language processing“
LSTM (Anwendung)
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 121
Rekurrente Neuronale Netze
Programmieren Sie ein rekurrentes Neuronales Netz aus zwei Neuronen mit Tangens hyperbolicus Transferfunktion ( ) und den Gewichten:
Wbias1 = −3.37, Wbias2 = 0.125, W11 = -4, W12 = 1.5, W21 = −1.5, W22 = 0,
Anfangswerte: o1 = 0.0, o2 = 0.0
Welche 4 Werte folgen, wenn das Netz synchron (alle Neuronen gleichzeitig) aktiviert werden?
Skalieren sie die Gewichte des oben beschriebenen Netzes so, dass es gerade nicht mehr chaotisch ist, sondern, ähnlich einem Echo-State Reservoir, zu einem Fixpunkt konvergiert. Berechnen Sie dazu die Eigenwerte der linearisierten Jakobimatrix (siehe) und sorgen Sie dafür, dass der größte Eigenwert kleiner als eins ist.
Aufgabe 5)
Aufgabe 6)
tanh(∑iw jio i)=
2
1+e−2∑i
w ji oi
−1
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 122
Neuronale Netze Anwendung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 123
Neuronale Netze Anwendung
● Einführung
● Zielsetzung und Performance Metriken
● Erstes Modell
● Hyperparameter
Überblick
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 124
Neuronale Netze Anwendung
● Um Neuronale Netze erfolgreich anwenden zu können reicht es nicht die Theorien dazu zu kennen
● Vielmehr sollte man eine Vorgehensweise anwenden, die möglichst zuverlässig zum Ziel führt
● Zusätzlich zum theoretische Verständnis der neuronalen Netze sind beispielsweise Zielsetzung und Performance Metriken wichtig
● Man sollte eine Idee zu einem ersten Prototypen entwickeln
● Hat man Hyperparameter, die man optimieren möchte, sollte man Randbedingungen beachten
Einführung
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 125
Neuronale Netze Anwendung
● Zunächst ist die Frage, welches Ziel man in einer Anwendung verfolgt und welche Performance Metriken man verwendet
● In typischen AI-Anwendungeen ist es unmöglich einen Fehler von Null zu erreichen. Der Bayes Fehler gibt dann das theoretische Minimum an, selbst wenn man unendlich viele Trainingsdaten hat.
● Meist ist die Anzahl der Daten begrenzt. Daten sammeln kostet Zeit, Geld und Aufwand. Ist Datengenerierung möglich? (z.B. Bild spiegeln, verschieben, drehen)
● Man muss herausfinden, wann ein Fehler akzeptabel ist?
● Welche Metrik für die Performanz nutzt man? z.B. Likelihood Maximierung für ein statistisches Modell, Minimierung des quadratischen Fehlers, Varianzminimierung etc...
Performance Metriken
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 126
Neuronale Netze Anwendung
● Ist das Problem (1) statisch oder (2) dynamisch (zeitabhängig)?
● Im Fall 2: Sind ein Zeitfenster von fester Größe gegeben?
● Ist es ein
● Klassifikationsproblem
● eine Rekonstruktion (Vervollständigung)
● eine Vorhersage
● ein Übersetzungsproblem
● ein Reinforcement Problem
Erstes Modell
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 127
Neuronale Netze Anwendung
Erstes Modell
Klassifikation Rekonstruktion/ Vorhersage
Übersetzung Reinforcement Learning
statisch DNN (z.B. CNN)oder SVM bei unkorellierten
Daten
RBM, DNN GAN, DNN DNN, RF
Dynamisch mit Zeitfenster
ESN, LSTM, DNN ESN, LSTM GAN, DNN, LSTM,ESN
ESN,LSTM, DNN,RF
Dynamisch LSTM LSTM LSTM LSTM, RF
DNN = Deep Neural Network, SVM = Support Vector Machines (Kernel Method), RBM = Restricted Bolzmann Machine, GAN = Generative Adversarial Networks, RF = Reinforcement Learning, ESN = Echo State Network, LSTM = Long Short Term Memory CNN = Convolutional Neural Network
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 128
Neuronale Netze Anwendung
● Oft lassen sich Hyperparameter separat (einer nach dem anderen optimieren)
● Sind die Parameter aber abhängig, so kann eine Optimierung des einen Parameters auch eine Verschlechterung des anderen bedeuten.
● Lässt man die Hyperparameter automatisch optimieren z.B. mit CMA-ES, dann sollte man eine Zeitabschätzung machen, wie lange ein Satz von Hyperparametern für eine Evaluation braucht. Resultiert eine Zeit von mehreren Tagen für einen Parametersatz, so kommt man mit händischer Optimierung wahrscheinlich schneller zum Ziel
● Sind es wenige Parameter, so kann man auch systematisch suchen. Dabei sollte man beachten, dass Grid-Search im Allg. schlechtere Ergebnisse liefert, als Zufallsbasiertes suchen (Goodfellow, S.421)
Hyperparameter
Prof. Dr. Jörn Fischer - Institut für Robotik - Fakultät für Informatik - Raum A112 129
Neuronale Netze Anwendung
● Zunächst sollte man, wenn man einen Algorithmus nicht zum reinen Verstehen selbst implementiert, Bibliotheken wie z.B. Tensorflow, Keras, Caffe etc. nutzen. Die sind oft hoch optimiert und nutzen z.B. auch die Rechenpower von Grafikkarten
● Tensorboard liefert eine Vielzahl an Visualisierungsmöglichkeiten um die Entwicklung der Gewichte, um die Fehlerentwicklung und um die zu klassifizierenden Daten zu beobachten
● Allgemein gilt: Baue dein Programm in kleinen überprüfbaren Methoden auf, verkleinere das Problem (z.B. die Dimensionalität, die Anzahl der Neuronenschichten etc.), Visualisiere alles, was man interpretieren kann!
Debugging