View
9
Download
0
Category
Preview:
Citation preview
Universität Potsdam Institut für Informatik
Lehrstuhl Maschinelles Lernen
Neuronale Netze, Deep Learning
Tobias Scheffer
Maschin
elle
s L
ern
en
Ohne die richtigen Merkmale sind manche Lernprobleme unmöglich
2
Motorrad
Motorrad
?
Maschin
elle
s L
ern
en
Ohne die richtigen Merkmale sind manche Lernprobleme unmöglich
3
Motorrad Rad
Rad
Rahmen Griff
Motorrad
?
!
Maschin
elle
s L
ern
en
Ohne die richtigen Merkmale sind manche Lernprobleme unmöglich
4
Rad Rad
Rahmen Griff
Rohdaten
(low-level)
Abstrakte
Features
(high-level)
Feature-Funktion
Maschin
elle
s L
ern
en
Neuronale Netze
Modelle neuronaler Informationsverarbeitung
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)
Tiefes Lernen, unsupervised feature leaning:
Unüberwachtes Lernen der richtigen Merkmale für
schwierige Probleme.
Künstliche Intelligenz als größere Vision
5
Maschin
elle
s L
ern
en
„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
Maschin
elle
s L
ern
en
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
7
Grauwertmatrix
Lokale Muster
Gesichts-Teile
Individuen-
diskriminierende
Merkmale
Label „Gwyneth Paltrow“
Maschin
elle
s L
ern
en
Deep Learning
Bildverarbeitung
Pixel Kanten lokale Muster Objektteile Objekte
Text
Zeichen Wort Wortgruppe Klausel Satz
Dokument
Sprache
Signal Spektralband Phon Phonem Wort …
8
Maschin
elle
s L
ern
en
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
9
Maschin
elle
s L
ern
en
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
10
Maschin
elle
s L
ern
en
Ü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
11
Maschin
elle
s L
ern
en
Neuronale Informationsverarbeitung
12
Eingänge
Synaptische Gewichte:
Werden durch Lernprozesse
Verstärkt oder abgeschwächt
Gewichtete Eingangssignale
werden aggregiert
Axon:
Ausgangssignal:
Gewichtete Eingangssignale
Wahrs
chein
lichkeit
ein
es A
usgangs-S
ignals
Verbindungen zu anderen Nervenzellen
Signale in Form von „Spikes“
Maschin
elle
s L
ern
en
Neuronale Informationsverarbeitung: Modell
13
1x
2x
3x
mx
...
1
2
3
...
m
T
0h x θ
)(hEingabevektor x
Gewichtsvektor θ
Ausgabe Gewichtete Eingangssignale
Ausgangssig
nal
Maschin
elle
s L
ern
en
Feed-Forward-Netze
Forward Propagation:
Eingabevektor:
Lineares Modell:
Jede Einheit hat
Parametervektor:
Ebene i hat
Parametermatrix:
14
0x
...
1θ
2θ
dθ
1 i
i i i
k n θ
0
1x
dx
1
0
i i i i
k k kh θ x
1 1 0 1
0k k kh θ x
1 1( )k kx h
2 2 1 2
0k k kh θ x
2 2( )k kx h
Index k Index i
Eingabe-Ebene
Verdeckte Ebenen
Ausgabe-Ebene
... 0
mx
1
1
11 11
1
i
i i i i
i iin
i
i i i
n n n n
θ
θ
θ
Maschin
elle
s L
ern
en
Feed-Forward-Netze
Forward Propagation:
Eingabevektor:
Lineares Modell:
Aktivierungsfunktion und
Propagation:
Ausgabevektor:
15
0x
...
1θ
2θ
dθ
( )i ix hd
x
0
1x
dx
1 1( )k kx h
2 2( )k kx h
Index k Index i
Eingabe-Ebene
Verdeckte Ebenen
Ausgabe-Ebene
... 0
mx
1
0
i i i i
k k kh θ x
2 2 1 2
0k k kh θ x
1 1 0 1
0k k kh θ x
Maschin
elle
s L
ern
en
Feed-Forward-Netze
„Bias Unit“
Lineares Modell:
Konstantes Element wird
häufig weggelassen und durch
zusätzliche Knoten mit
konstanter Aktivierung von 1
ersetzt:
16
...
1θ
2θ
dθ
0
1x
dx
1 1( )k kx h
2 2( )k kx h
Index k Index i
... 0
mx
1
1
1
[1.. 1]k
i i i
k k nh
θ x
1
0
i i i i
k k kh θ x
2 2 1 2
0k k kh θ x
1 1 0 1
0k k kh θ x
Maschin
elle
s L
ern
en
Feed-Forward-Netze
Forward Propagation pro Ebene
in Vektornotation:
17
...
1θ
2θ
dθ
0
1x
dx
1 1( )k kx h
2 2( )k kx h
Index k Index i
... 0
mx
1
1
1i i ih θ x
2 2 1 2
0k k kh θ x
1 1 0 1
0k k kh θ x
Maschin
elle
s L
ern
en
Feed-Forward-Netze
Training durch Gradientenabstieg,
häufig stochastic Gradient
Fehlerfunktion:
Gradientenabstieg:
Stochastischer Gradient, Bsp. x
18
...
dx
1θ
2θ
dθ
0x
21( ) ( )
2
d
m j jjE
m θ y x
2
( )' ( ) '
1( )
2
mm
d
j jj
EE
m
θθ θ θ θ
θ
y x
θθ
212( )
'd
y xθ θ
θ
1 1( )k kx h
2 2( )k kx h
2 2 1 2
0k k kh θ x
1 1 0 1
0k k kh θ x
Maschin
elle
s L
ern
en
Feed-Forward-Netze: Back Propagation
Stochastischer Gradient, Bsp. x
Für Gewichte der obersten Ebene:
Mit:
19
...
1θ
2θ
dθ
0x
212( )
'd
y xθ θ
θ
2x
1x
212(
)( )
)
'(
d
k k
d
k
d
k
d d
k k ky
y
h
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 k
d d
k k
d d d
k k k k
d d d
k k k
d d
k k k
d
k
d
k
k
d
y x y
y
x h
y
y
θ x
θ x θ x θ x
θ x θ x
θ
θ x θ x
θ
x
x
x
θ
dx dy x
dδ
Maschin
elle
s L
ern
en
Feed-Forward-Netze: Back Propagation
Für Gewichte der Ebene i:
Mit
20
...
iθ
dθ
2 21 12 2
1
( ) ( )d d
k k k k
i
i
k
i
k
i
i
k
i
k
k
y x y x h
h
θ
x
θ
1
1
2
1
1
1 1
1
12
1
1 12112
1 1
1
212
( )
( ,..., )( )
( ,..., )
( )
'( )
'( )
i
i
i
k i
k
i
k
i
l
i i ill k k
i i i
l lk kl
i i i
k l lk
d
k k
i idnk k
i i
n
d i
k k k
l
y x
x xy x
x x
y x x
h
h
h
h
h
h
x h
0x
ix
dx dy x
dδ
...1ix
i
kh
1i
lx
1i
lk
)( i
kh
1ix 1i
δ
iδ
1iδ
Forw
ard
Pro
pagation
Back P
ropagatio
n
Maschin
elle
s L
ern
en
Aktivierungsfunktion
Jede differenzierbare, sigmoide Funktion ist
möglich
Beispiel:
21
1( )
1 hh
e
'( ) ( )(1 ( ))h h h
Maschin
elle
s L
ern
en
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
22
1
0
i i i i
k k kh θ x
( )i ix h
'( )( )d d d
k k k kh y x
1 1'( )i i i i
k k l lklh
1'i i
k k
i i
k xθ θ
1'd d
k k
d d
k xθ θ
Maschin
elle
s L
ern
en
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
23
Maschin
elle
s L
ern
en
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
24
212
T
2( ) ( )d
m j jm jE
θ y x θ θ
1( )i i
jm
i
jmE δ xθ θ
' j δ xθ θ θ
Maschin
elle
s L
ern
en
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
25
Maschin
elle
s L
ern
en
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.
26
( )i i
k kx h
i
kx
i
kx
Maschin
elle
s L
ern
en
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
27
Maschin
elle
s L
ern
en
Restricted Boltzmann Machine
Unüberwachtes Lernen
Eingabeebene und eine Ebene verdeckter Knoten
Binäre stochastische Knoten, Bias-Unit pro Ebene
- log P(Aktivierung) ~ Energiefunktion
Energiefunktion:
28
1θ
0
1x ... 0
mx
1
1x ... 1
kx0
1 1 0 0 1
0 1 1 0 T 1
T1 1 0 100 0 0 0
1 1 0 1
0
( , ) ( )
n
n n n n n
E
x x
x x
x x θ x x
0
0 1x
1
0 1x
Bias-Units
=0 (Bias-Units
nicht verbunden)
Maschin
elle
s L
ern
en
Restricted Boltzmann Machine
Energiefunktion:
P(Aktivierung) ~ Energiefunktion
Z ist Normalisierungsfaktor
29
1θ
0
1x ... 0
mx
1
1x ... 1
kx
0 1 1 0 T 1( , ) ( )E x x θ x x
0
0 1x
1
0 1x
Bias-Units
0 10 1 ( , )1( , ) E
ZP e x x
x x0 1
1
0 ( , )1( ) E
ZP e x x
xx
0 1
0 1 1
0
0 10 1
1
( , )1
( , )1
( , )( | )
( )
1
1
E
Z
E
Z
PP
P
e
e e
x
θ
x
x x x
x
x xx x
x
Maschin
elle
s L
ern
en
Restricted Boltzmann Machine
Lernen: Maximiere log-Wahrscheinlichkeit der
Eingabevektoren.
Gradient:
Energiegradient:
30
1θ
0
1x ... 0
mx
1
1x ... 1
kx
0
0 1x
1
0 1x
Energiegradient für beobachtete Eingabe
1
0arg max log ( )Pθ
x
1
0 1
0
0 11 0
0 11 0
1
1
, 1
log ( )
( , )( | )
( , )( , )
ji
ji
ji
p
Ep
Ep
x
x x
x
x xx x
x xx x
Marginaler Energiegradient
0 1 1 0 T 10 1
1 1
( , ) ( )
ji ji
i j
Ex x
x x θ x x
Maschin
elle
s L
ern
en
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
31
Maschin
elle
s L
ern
en
Restricted Boltzmann Machine: Lernen
Gradient:
Mit
Gewichtungs-Update:
32
1 0 11 1 1
0 0 1 0 11 0 1 0
,
log ( ) ( , ) ( , )( | ) ( | )
ji ji ji
p E Ep p
x x x
x x x x xx x x x
0 1 1 0 T 10 1
1 1
( , ) ( )
ji ji
i j
Ex x
x x θ x x
0 1 0 11 1' )(ji ji i j jx h x h
Beobachtete Eingabe
In einem MCMC-Schritt
generierter Eingabevektor
Maschin
elle
s L
ern
en
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.
33
1θ
2θ
0
1x ... 0
mx
...
Maschin
elle
s L
ern
en
Auto Encoder
Auto Encoder: Lerne Identitätsfunktion
Komprimierte Repräsentation der Daten auf der
verdeckten Ebene
Training mit RBM oder Backprop
34
1θ
2θ
0
1x ... 0
mx
...
Maschin
elle
s L
ern
en
Auto Encoder mit Back Propagation
Auto Encoder: Lerne Identitätsfunktion
Zusätzliche Regularisierung: verdeckte Knoten
sollen sparse sein, meistens Aktivierung 0 haben.
Regularisierungsparameter
Regularisierungsterm
Backprop-Updateregel
35
1θ
2θ
0
1x ... 0
mx
...
0.05
11
1 11
1|| ) log (1 ) log
1(
n
kk k
KLx x
ρ x
2 2 3 3
1 1
1'( )
1k k l lkl
k k
hx x
Maschin
elle
s L
ern
en
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
36 36
1θ
2θ
0
1x ... 0
mx
...
0000 0010 0100 1000
00 01 10 11
0000 0010 0100 1000
Maschin
elle
s L
ern
en
Auto Encoder
Beispiel: Handgeschriebene Ziffern
Verdeckte Ebene lernt Muster,
aus denen Ziffern bestehen
37 37
1θ
2θ
0
1x ... 0
mx
...
Maschin
elle
s L
ern
en
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
38
1 0
,
n n
ij i k j l kl
k n l n
x x
Maschin
elle
s L
ern
en
Convolution / Faltung
Verschiedene Detektoren pro Position
Z.B. Kanten verschiedener Orientierungen
Unterschiedlich skalierte Detektoren
ergeben ein Array von Feature Maps
39
Maschin
elle
s L
ern
en
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
Auch „Local Receptive Field“ genannt
40
Maschin
elle
s L
ern
en
Convolutional Networks
Knoten mit gekoppelten Gewichten (identische
Funktion) werden auf überlappende Bereiche der
Eingabe angewandt.
41
1θ
0 0 0 0 0
1 2 3 4 5( , , , , )x x x x x
1
1x 1
2x 1
3x
Gleiche Gewichte
Maschin
elle
s L
ern
en
Convolutional Networks
Knoten mit gekoppelten Gewichten (identische
Funktion) werden auf überlappende Bereiche der
Eingabe angewandt.
Parallel angeordnete Layer mit unterschiedlichen
Filtern
42
0 0 0 0 0
1 2 3 4 5( , , , , )x x x x x
Maschin
elle
s L
ern
en
Convolutional Networks
Für Bildverarbeitung: Pro Filter ergibt sich ein Array
von Knoten mit gekoppelten Gewichten
43
Maschin
elle
s L
ern
en
Convolutional Networks
Beispiel: Kantendetektoren für 8 Richtungen x 5
Skalierungen (Fenstergrößen)
44
Maschin
elle
s L
ern
en
Convolutional Stacked Auto Encoder
Schrittweise Transformation in abstraktere visuelle
Merkmale
Ebenenweises
Training mit RBF
oder Backprop
45
0 0 0 0 0
1 2 3 4 5( , , , , )x x x x x
Maschin
elle
s L
ern
en
Convolutional Stacked Auto Encoder
Schrittweise Transformation in abstraktere visuelle
Merkmale
Ebenenweises
Training mit RBF
oder Backprop
46
0 0 0 0 0
1 2 3 4 5( , , , , )x x x x x
Maschin
elle
s L
ern
en
Convolutional Networks
MaxPooling-Layer:
Teile jedes Filter-Array in nicht-überlappende
Bereiche
Liefere für jeden Bereich das Maximum zurück
47
Feature Neuronen
Aggregiertes Feature
Maschin
elle
s L
ern
en
Convolutional Stacked Auto Encoder
48
Convolution
Pooling
Convolution
Pooling
Convolution
Pooling
Diskriminative Ebene: gleiche
Person oder nicht?
Training der diskriminativen Ebene
mit gelabelten Daten und Backprop
Maschin
elle
s L
ern
en
Tiefe Autoencoder: Beispiel
2D-Visualisierung eines Korpus von Dokumenten
TF-Vektor wird auf 500 Dimensionen 250
Dimensionen 2 Dimensionen abgebildet
49
Worthäufigkeiten von vielen Wörtern
1θ ...500 Einheiten
...2θ
3θ
250 Einheiten
2 Einheiten
Maschin
elle
s L
ern
en
Google Brain
Tiefer Auto Encoder
3 Ebenen
Convolutional Layer (local receptive field)
Pooling
Local contrast
normalization
50
Lokale
Features
(LRF)
Pooling
LCN
Stage 1
Stage 2
Stage 3
Eingabe
Maschin
elle
s L
ern
en
Google Brain: Training
Unüberwachtes Lernen
10 Millionen zufällig ausgewählte YouTube-Frames
Ca. 1 Mrd Parameter,
1 Tag Training mit
stochastic gradient
descent auf Cluster von
1000 Rechnern
51
Maschin
elle
s L
ern
en
Google Brain: Analyse
Netzwerk hat Neuronen entwickelt, die spezifische
Objekte in Videos erkennen
Gesichter, Katzen, Autos, …
Analyse des optimalen Stimulus für Neuronen der
obersten Ebene, z.B. Gesichts-Neuron
52
Top Stimuli in Testdaten Optimaler Stimulus
Maschin
elle
s L
ern
en
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
53
Recommended