![Page 1: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/1.jpg)
Universität PotsdamInstitut für Informatik
Lehrstuhl Maschinelles Lernen
Neuronale Netze,Deep Learning
Tobias Scheffer
![Page 2: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/2.jpg)
Maschinelles Lernen
Motivation
Modelle neuronaler Informationsverarbeitung Hoffnung:
Bessere Lösungen für Probleme, in denen Computer schlecht sind (z.B. Bild- und Sprachverarbeitung)
Künstliche Intelligenz als größere Vision Ansatz hat mehrere Popularitätswellen erlebt
Perceptron: Rosenblatt 1960 Verdrängt duch SVM, Bayes‘sche Verfahren Jetzt Stand der Technik Voice Recognition (Google
DeepMind), Face Recognition (Deep Face, 2014)
2
![Page 3: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/3.jpg)
Maschinelles Lernen
Deep Face
Face Verification: zeigen zwei Bilder dieselbe Person?
Multi-Layer-Architektur lernt Merkmale für die Unterscheidung von Personen
Höchste Genauigkeit für Face Identification
3
![Page 4: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/4.jpg)
Maschinelles Lernen
DNNResearch
Von Geoff Hinton gegründet, 2013 von Google gekauft
Object Detection (für Bildersuche) Speech Recognition: Neuronale Netze für
akustische Modellierung Spracherkennung
für Android
4
![Page 5: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/5.jpg)
Maschinelles Lernen
Google X Artificial Brain Larry Pages‘ Vision für
Google: allwissende künstliche Intelligenz mit Zugriff auf alle
verfügbaren Informationen
Verstehen von Texten Verstehen von Sprache Verstehen von Bildern Übersetzen von Texten Verstehen der
Informations-bedürfnisse der Nutzer
5
![Page 6: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/6.jpg)
Maschinelles Lernen
„Rekorde“ von Deep Learning
Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-
Benchmarks) Videoklassifikation, verschiedene Benchmark-
Datensätze Sentiment-Analysis von Texten (MR-Benchmark) Erkennung von Fußgängern Spracherkennung …
6
![Page 7: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/7.jpg)
Maschinelles Lernen
Feed-Forward-Netzwerke
Typisch für Mustererkennungsaufgaben: Im Eingaberaum liegen Positiv- und Negativbeispiele
(z.B. Bitmaps von Gwyneth Paltrow und Jennifer Aniston) ineinander vermischt
Separierung durch linearen Klassifikator im Pixelraum unmöglich
7
1
0.15...0.98
x 2
0.22...0.17
xGrauwert Pixel 1
Grauwert Pixel 307.200
=?
![Page 8: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/8.jpg)
Maschinelles Lernen
Deep Learning Schrittweise Transformation
der rohen Eingabedaten in höhere Merkmale
Ende der Kette: Merkmale, mit denen sich die Klassen separieren lassen
Beim Training nur Eingabedaten und Label gegeben
Merkmale der Zwischenebenen ergeben sich als Teil der Lösung eines Optimierungsproblems
8
Grauwertmatrix
Lokale Muster
Gesichts-Teile
Individuen-diskriminierendeMerkmale
Label „Gwyneth Paltrow“
![Page 9: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/9.jpg)
Maschinelles Lernen
Deep Learning Bildverarbeitung
Pixel Kanten lokale Muster Objektteile Objekte Text
Zeichen Wort Wortgruppe Klausel Satz Dokument
Sprache Signal Spektralband Phon Phonem Wort …
9
![Page 10: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/10.jpg)
Maschinelles Lernen
Deep Learning
Eine (ausreichend große) Zwischenebene und eine Ausgabeebene genügen grundsätzlich, um jede beliebige Funktion zu approximieren
Aber: Mit mehreren Ebenen genügen häufig viel weniger Knoten Berechnungen können mehrfach verwendet werden
Beispiel: Parity-Funktion N Elemente in log(N) Ebenen Oder 2N Elemente in zwei Ebenen
10
![Page 11: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/11.jpg)
Maschinelles Lernen
Deep Learning
Sind Kernel-Verfahren „tief“? Nein, eine Anwendung der Kernel-Funktion, dann
lineare Funktion Keine Zwischen-Merkmale
Sind Entscheidungsbäume „tief“? Nein, alle Entscheidungen werden anhand der
Eingabeattribute getroffen Es werden keine neuen Merkmale Berechnet
Sind Empfehlungsalgorithmen „tief“? Ja, wenn latente Merkmale berechnet werden Allerdings nur eine Ebene latenter Merkmale
11
![Page 12: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/12.jpg)
Maschinelles Lernen
Überwachtes, unüberwachtes Lernen Überwachtes Lernen
Gesamtes Netzt wird überwacht trainiert (Merkmale der Zwischenebenen Teil der Lösung des
Optimierungsproblems) Unüberwacht + überwachter Klassifikator oben
Ebenen werden sequentiell unüberwacht trainiert Oberste Ebene wird überwacht trainiert
Unüberwachtes Pre-Training + überwachtes Lernen Ebenen werden sequentiell unüberwacht trainiert Mit diesen Startwerten wird danach gesamtes Netz
überwacht trainiert Gut bei vielen ungelabelten, wenigen gelabelten Daten
12
![Page 13: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/13.jpg)
Maschinelles Lernen
Neuronale Informationsverarbeitung
13
Eingänge
Synaptische Gewichte:Werden durch Lernprozesse Verstärkt oder abgeschwächt
Gewichtete Eingangssignale werden aggregiert
Axon:Ausgangssignal:
Gewichtete Eingangssignale
Wah
rsch
einl
ichk
eit
eine
s A
usga
ngs-
Sig
nals
Verbindungen zu anderen Nervenzellen
Signale in Form von „Spikes“
![Page 14: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/14.jpg)
Maschinelles Lernen
Neuronale Informationsverarbeitung: Modell
14
1x
2x
3x
mx
...
1
2
3
...m
T0h x θ
)(hEingabevektor x
Gewichtsvektor θ
AusgabeGewichtete Eingangssignale
Aus
gang
ssig
nal
![Page 15: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/15.jpg)
Maschinelles Lernen
Feed-Forward-Netze
Forward Propagation: Eingabevektor: Lineares Modell: Jede Einheit hat
Parametervektor: Ebene i hat
Parametermatrix:
15
0x
...
1θ
2θ
dθ
1 i
i i ik n θ
01x
dx1
0i i i ik k kh θ x
1 1 0 10k k kh θ x
1 1( )k kx h
2 2 1 20k k kh θ x
2 2( )k kx h
Index kIndex i
Eingabe-Ebene
Verdeckte Ebenen
Ausgabe-Ebene
... 0mx
1
1
11 11
1
i
i i i i
i iin
i
i i in n n n
θθ
θ
![Page 16: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/16.jpg)
Maschinelles Lernen
Feed-Forward-Netze
Forward Propagation: Eingabevektor: Lineares Modell: Aktivierungsfunktion und
Propagation: Ausgabevektor:
16
0x
...
1θ
2θ
dθ
( )i ix hdx
01x
dx
1 1( )k kx h
2 2( )k kx h
Index kIndex i
Eingabe-Ebene
Verdeckte Ebenen
Ausgabe-Ebene
... 0mx
10
i i i ik k kh θ x
2 2 1 20k k kh θ x
1 1 0 10k k kh θ x
![Page 17: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/17.jpg)
Maschinelles Lernen
Feed-Forward-Netze
„Bias Unit“ Lineares Modell: Konstantes Element wird
häufig weggelassen und durch zusätzliche Knoten mit konstanter Aktivierung von 1 ersetzt:
17
...
1θ
2θ
dθ
01x
dx
1 1( )k kx h
2 2( )k kx h
Index kIndex i
... 0mx
1
1
1[1.. 1]k
i i ik k nh
θ x
10
i i i ik k kh θ x
2 2 1 20k k kh θ x
1 1 0 10k k kh θ x
![Page 18: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/18.jpg)
Maschinelles Lernen
Feed-Forward-Netze
Forward Propagation pro Ebene in Vektornotation:
18
...
1θ
2θ
dθ
01x
dx
1 1( )k kx h
2 2( )k kx h
Index kIndex i
... 0mx
1
1
1i i ih θ x
2 2 1 20k k kh θ x
1 1 0 10k k kh θ x
![Page 19: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/19.jpg)
Maschinelles Lernen
Feed-Forward-Netze
Training durch Gradientenabstieg, häufig stochastic Gradient
Fehlerfunktion:
Gradientenabstieg:
Stochastischer Gradient, Bsp. x
19
...
dx
1θ
2θ
dθ
0x
21( ) ( )2
dm j jj
Em
θ y x
2
( )' ( ) '
1 ( )2
mm
dj jj
EE
m
θθ θ θ θθ
y xθ
θ
212 ( )'
d
y xθ θθ
1 1( )k kx h
2 2( )k kx h2 2 1 2
0k k kh θ x
1 1 0 10k k kh θ x
![Page 20: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/20.jpg)
Maschinelles Lernen
Feed-Forward-Netze: Back Propagation
Stochastischer Gradient, Bsp. x
Für Gewichte der obersten Ebene:
Mit:
20
...
1θ
2θ
dθ
0x
212 ( )'
d
y xθ θθ
2x
1x
212 (
)( )
)
'(
dk k
dk
dk
d dk k ky
yh
h
x
x
1
1 1 1
1
2 21 12 2
2
1
1 1
2
1
1
1
1
( ) ( )
( ) )
(
( ((
( '
)
( (
( '( )
) )
)
d
d d d
d d
d d d
d d
d d
k
k k k kd dk k
d d dk k k k
d d dk k kd d
k k kdk
dk
kd
y x y
y
x h
y
y
θ x
θ x θ x θ xθ x θ x
θ
θ x θ x
θ
x
x
x
θ
dx dy x dδ
![Page 21: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/21.jpg)
Maschinelles Lernen
Feed-Forward-Netze: Back Propagation
Für Gewichte der Ebene i:
Mit
21
...
iθ
dθ
2 21 12 2
1
( ) ( )d dk k k k
i
ik
ik
i
ik
ik
k
y x y x hh
θ
x
θ
1
1
2
1
1
1 1
1
12
1
1 12112
1 11
212
( )
( ,..., )( )( ,..., )
( )
'( )
'( )
i
i
ik i
k
ik
il
i i ill k k
i i il lk kli i ik l lk
dk k
i idnk k
i in
d ik k k
l
y x
x xy xx x
y x x
h
h
hh
h
h
x h
0x
ix
dx dy x dδ
...1ix
ikh
1ilx
1ilk
)( ikh
1ix 1iδ
iδ
1iδ
Forw
ard
Pro
paga
tion B
ack Propagation
![Page 22: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/22.jpg)
Maschinelles Lernen
Aktivierungsfunktion
Jede differenzierbare, sigmoide Funktion ist möglich
Beispiel:
22
1( )1 hh
e
'( ) ( )(1 ( ))h h h
![Page 23: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/23.jpg)
Maschinelles Lernen
Back Propagation: Algorithmus
Iteriere über alle Trainingsbeispiele (x, y): Forward Propagation: Für i=0…d:
Für k=1…ni:
Back Propagation: Für k=1…ni:
Für i=d-1…1:• Für k=1…ni:
Bis zur Konvergenz
23
10
i i i ik k kh θ x
( )i ix h
'( )( )d d dk k k kh y x
1 1'( )i i i ik k l lkl
h 1'i i
k ki ik xθ θ
1'd dk k
d dk xθ θ
![Page 24: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/24.jpg)
Maschinelles Lernen
Back Propagation
Fehlerfunktion ist nicht konvex Jede Permutation von Gewichten der inneren Knoten
eines Minimums ergibt wieder ein Minimum Gelernte Merkmale (Gewichte der inneren Knoten)
können ok aber nicht optimal sein Hoffnung:
Lokale Optima können trotzdem beliebig gut sein Bessere Lösung mit mehr Daten
Realität: Back Propagation funktioniert nur für wenige (1,
maximal 2) verdeckte Ebenen Training tiefer Netze endet in lokalem Optimum
24
![Page 25: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/25.jpg)
Maschinelles Lernen
Regularisierung
L2-regularisierte Verlustfunktion
Entspricht normalverteiltem Prior auf Parametern Regularisierter Gradient: Update: Wird auch als Weight Decay bezeichnet. Weitere Formen von Regularisierung verbreitet
Early Stopping (nicht mehr Stand der Technik): Training vor Konvergenz abbrechen
Units mit geringen Gewichten rauswerfen Dropout: Units beim Training zufällig ausblenden Länge der propagierten Vektoren normalisieren
25
212
T2( ) ( )d
m j jm jE θ y x θ θ
1( )i ijmi
jmE δ xθ θ
' j δ xθ θ θ
![Page 26: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/26.jpg)
Maschinelles Lernen
Regularisierung: Dropout
In komplexen Netzen bilden sich durch Co-Adaption von Knoten zu komplexe Mechanismen Nicht robust für neue Testdaten
Dropout: In jedem Trainingsschritt wird ein Anteil (Hyperparameter) der Units ausgeblendet
Bei der Anwendung des trainierten Netzes werden alle Units verwendet.
Verbessert Robustheit: Jeder Knoten muss in unterschiedlichen Kombinationen von anderen Knoten zum Ergebnis beitragen
26
![Page 27: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/27.jpg)
Maschinelles Lernen
Regularisierung: Stochastic Binary Units
Ein stochastisch-binärer Knoten berechnet Aktivierung
Und propagiert mit einer Wahrscheinlichkeit von einen Wert von 1
Ungefähr äquivalent dazu, mit einer festen Wahrscheinlichkeit einen Wert von zu schicken
Mögliche Implementierung von Dropout Biologische Neuronen scheinen sich so zu
verhalten.
27
( )i ik kx h
ikx
ikx
![Page 28: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/28.jpg)
Maschinelles Lernen
Back Propagation: Tricks
Cross-Entropy als Verlust für Klassifikation Stochastic Gradient auf kleinen Batches Trainingsdaten zufällig mischen Lernrate über den Verlauf der Optimierung hinweg
sinken lassen Gewichte zufällig initialisieren (Nullpunkt kann
Sattelpunkt sein) Gewichte durch unsupervised Pre-Training
initialisieren
28
![Page 29: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/29.jpg)
Maschinelles Lernen
Unsupervised Feature Learning
Auto Encoder: Lerne Identitätsfunktion Von m Eingabeknoten über n1 verdeckten Knoten
nach m Ausgabeknoten mit n1 << m. Idee: verdeckte Knoten lernen Repräsentation, aus
denen sich die Daten rekonstruieren lassen.
29
1θ
2θ
01x ... 0
mx
...
![Page 30: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/30.jpg)
Maschinelles Lernen
Auto Encoder
Auto Encoder: Lerne Identitätsfunktion Zusätzliche Regularisierung: verdeckte Knoten
sollen sparse sein, meistens Aktivierung 0 haben. Regularisierungsparameter Regularisierungsterm
Backprop-Updateregel
30
1θ
2θ
01x ... 0
mx
...
0.05
111 11
1|| ) log (1 ) log1
( n
kk k
KLx x
ρ x
2 2 3 31 1
1'( )1k k l lkl
k k
hx x
![Page 31: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/31.jpg)
Maschinelles Lernen
Auto Encoder
Beispiel: Binäre Eingabevektoren mit einer 1. Ausgabe Verdeckt Eingabe
Verdeckte Ebene lernt Binärcode Code-Wörter können aber
beliebig permutiert sein
3131
1θ
2θ
01x ... 0
mx
...
0000 0010 0100 100000 01 10 11
0000 0010 0100 1000
![Page 32: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/32.jpg)
Maschinelles Lernen
Convolution / Faltung
Multiplikation eines Filters mit dem Ausschnitt einer Eingabe: Intensität des Filtersignals an dieser Stelle
Jedes neue Pixel ist Ergebnis einer Konvolution. Verarbeitung von Bildern, Audiosignalen
Z.B. Detektion von Kanten, bestimmten Frequenzen, Muster, Gesichtern
32
1 0,
n n
ij i k j l klk n l n
x x
![Page 33: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/33.jpg)
Maschinelles Lernen
Convolution / Faltung
Verschiedene Detektoren pro Position Z.B. Kanten verschiedener Orientierungen Unterschiedlich skalierte Detektoren
ergeben ein Array von Feature Maps
33
![Page 34: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/34.jpg)
Maschinelles Lernen
Auto Encoder
Beispiel: Eingabe und Ausgabe: gemischte Bilder Gewichte der 25 x # Positionen verdeckten Knoten:
Netzwert lernt Detektorenfür lokale Muster (überwiegend Kanten)
Euto-Encoder-Training mit Back Propagation funktioniertnur mit einer verdeckten Ebene
PCA = linearer Auto Encoder3434
1θ
2θ
01x ... 0
mx
...
![Page 35: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/35.jpg)
Maschinelles Lernen
Restricted Boltzmann Machine
Eingabeebene und eine Ebene verdeckter Knoten Binäre stochastische Knoten Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion:
35
1θ
01x ... 0
mx
11x ... 1
kx0
1 1 0 0 1
0 1 1 0 T 1
T1 1 0 100 0 0 0
1 1 0 00
( , ) ( )
n
n n n n n
E
x h
x h
x h θ x h
00 1x
10 1x
Bias-Units
=0 (Bias-Unitsnicht verbunden)
![Page 36: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/36.jpg)
Maschinelles Lernen
Restricted Boltzmann Machine
Energiefunktion:
P(Aktivierung) ~ Energiefunktion
Z ist Normalisierungsfaktor
36
1θ
01x ... 0
mx
11x ... 1
kx
0 1 1 0 T 1( , ) ( )E x h θ x h
00 1x
10 1x
Bias-Units
0 10 1 ( , )1( , ) EZP e x hx h
0 1
10 ( , )1( ) E
ZP e x hh
x
0 1
0 1 1
0
0 10 1
1
( , )1
( , )1
( , )( | )( )
11
EZ
EZ
PPP
ee e
x
θ
h
x h hx
x hx hh
![Page 37: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/37.jpg)
Maschinelles Lernen
Restricted Boltzmann Machine
Lernen: Maximiere log-Wahrscheinlichkeit der Eingabevektoren.
Gradient:
Energiegradient:
37
1θ
01x ... 0
mx
11x ... 1
kx
00 1x
10 1x
Energiegradient für beobachtete Eingabe
10arg max log ( )P
θx
1
0 1
0
0 11 0
0 11 0
1
1
, 1
log ( )
( , )( | )
( , )( , )
ji
ji
ji
p
Ep
Ep
h
x h
x
x hh x
x hh x
Marginaler Energiegradient
0 1 1 0 T 10 1
1 1
( , ) ( )
ji jii j
E x h
x h θ x h
![Page 38: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/38.jpg)
Maschinelles Lernen
RBM: Sampling von Zuständen
RBM generiert Zustände wie Bayessches Netz MCMC: Iteriere über alle Knoten, abwechselnd
einen Eingaben und verdeckten Knoten Ziehe Aktivierung des Knotens gegeben Aktivierung
der Nachbarn Nach Burn-In-Phase ergibt die Markov-Kette eine
Stichprobe aus der vom Netz modellierten Verteilung
38
![Page 39: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/39.jpg)
Maschinelles Lernen
Restricted Boltzmann Machine: Lernen
Gradient:
Mit
Gewichtungs-Update:
39
1 0 11 1 1
0 0 1 0 11 0 1 0
,
log ( ) ( , ) ( , )( | ) ( | )ji ji ji
p E Ep p
h x h
x x h x hh x h x
0 1 1 0 T 10 1
1 1
( , ) ( )
ji jii j
E x h
x h θ x h
0 1 0 11 1' )(ji ji i j jx h x h
Beobachtete Eingabe
In einem MCMC-Schritt generierter Eingabevektor
![Page 40: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/40.jpg)
Maschinelles Lernen
Restricted Boltzmann Machines
Training einer RBM fügt einem Netzwerk eine weitere Ebene hinzu, auf der eine neue Repräsentation der Trainingsdaten gelernt wird
Bilden die Grundlage tiefer Netzwerke Training wird iterativ, Ebene für Ebene durchgeführt
40
![Page 41: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/41.jpg)
Maschinelles Lernen
Convolutional Networks
Mustererkennung: Objekterkennung, Spracherkennung, Photo Tagger
Idee: Detektoren erzeugen Merkmale aus Bereich der
Eingabe Detektoren mit denselben Gewichten werden auf
unterschiedliche Bereiche angewendet, ergibt ein Feld von Werten eines Merkmals
Z.B. Kantendekektor für Kanten eines bestimmten Winkels wird auf gesamtes Bild angewendet, ergibt Kantenbild
41
![Page 42: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/42.jpg)
Maschinelles Lernen
Convolutional Networks
Knoten mit gekoppelten Gewichten (identische Funktion) werden auf überlappende Bereiche der Eingabe angewandt.
42
1θ
0 0 0 0 01 2 3 4 5( , , , , )x x x x x
11x 1
2x 13x
Gleiche Gewichte
![Page 43: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/43.jpg)
Maschinelles Lernen
Convolutional Networks
Knoten mit gekoppelten Gewichten (identische Funktion) werden auf überlappende Bereiche der Eingabe angewandt.
Parallel angeordnete Layer mit unterschiedlichen Filtern
43
0 0 0 0 01 2 3 4 5( , , , , )x x x x x
![Page 44: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/44.jpg)
Maschinelles Lernen
Convolutional Networks
Für Bildverarbeitung: Pro Filter ergibt sich ein Array von Knoten mit gekoppelten Gewichten
44
![Page 45: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/45.jpg)
Maschinelles Lernen
Convolutional Networks
Beispiel: Kantendetektoren für 8 Richtungen x 5 Skalierungen (Fenstergrößen)
45
![Page 46: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/46.jpg)
Maschinelles Lernen
Convolutional Networks
MaxPooling-Layer: Teile jedes Filter-Array in nicht-überlappende
Bereiche Liefere für jeden Bereich das Maximum zurück
MaxPooling-Layer leisten Ad-Hoc-Dimensionsreduktion
46
![Page 47: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/47.jpg)
Maschinelles Lernen
Convolutional Networks
Beispiel: DeepFace Eingabe: 3 Farbkanäle x 152 x 152 Pixel 32 Filterbänke pro Kanal, 11 x 11 Pixel Breite MaxPooling 16 Filterbänke, 9 x 9 Pixel Breite 3 lokal verknüpfte Layer Diskriminativ trainierte Layer
47
![Page 48: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/48.jpg)
Maschinelles Lernen
Tiefe Autoencoder
Ebene für Ebene weniger Dimensionen Trainiere Restricted Boltzmann Machine
ebenenweise
48
1θ
01x ... 0
mx
...
2θ ...
3θ ......
z.B. 1000 Knoten
z.B. 200 Knoten
z.B. 10 Knoten
![Page 49: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/49.jpg)
Maschinelles Lernen
Tiefe Autoencoder
Autoencoder wird dann „aufgeklappt“ und mit Backpropagation weiter trainiert
Nichtlineare, „tiefe“ Form von PCA
49
1θ
dθ
01x ... 0
mx
...
...
...
......
2θ
3θ
...2θ
...1θ
1dx ... d
mx
![Page 50: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/50.jpg)
Maschinelles Lernen
Tiefe Autoencoder: Beispiel
2D-Visualisierung eines Korpus von Dokumenten TF-Vektor wird auf 500 Dimensionen 250
Dimensionen 2 Dimensionen abgebildet
50
Worthäufigkeiten von vielen Wörtern
1θ ...500 Einheiten
...2θ
3θ
250 Einheiten
2 Einheiten
![Page 51: Neuronale Netze, Deep Learning - cs.uni-potsdam.de · Bias-Units auf jeder Ebene - log P(Aktivierung) ~ Energiefunktion Energiefunktion: 35 θ1 0 x 1... 0 x m 1 x 1... 1 x k 0 11001](https://reader030.vdokument.com/reader030/viewer/2022040623/5d4ddef888c993ee048b5705/html5/thumbnails/51.jpg)
Maschinelles Lernen
GPU-Training
Grafikkarten eignen sich zur Parallelisierung des Trainings neuronaler Netze Matrixmultiplikation, Faltungen, elementweise
Operationen GPU-Software
CUDA: NVIDIA C-API OPENCL: nicht NVIDIA-spezifisch PyCUDA: Python-API PyOPENCL: nicht NVIDIA-spezifisch
51