Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte...

53
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Neuronale Netze, Deep Learning Tobias Scheffer

Transcript of Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte...

Page 1: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Universität Potsdam Institut für Informatik

Lehrstuhl Maschinelles Lernen

Neuronale Netze, Deep Learning

Tobias Scheffer

Page 2: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Ohne die richtigen Merkmale sind manche Lernprobleme unmöglich

2

Motorrad

Motorrad

?

Page 3: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Ohne die richtigen Merkmale sind manche Lernprobleme unmöglich

3

Motorrad Rad

Rad

Rahmen Griff

Motorrad

?

!

Page 4: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 5: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 6: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 7: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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“

Page 8: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 9: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 10: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 11: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 12: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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“

Page 13: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 14: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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 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

θ

θ

θ

Page 15: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Feed-Forward-Netze

Forward Propagation:

Eingabevektor:

Lineares Modell:

Aktivierungsfunktion und

Propagation:

Ausgabevektor:

15

0x

...

( )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

Page 16: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

...

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

Page 17: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Feed-Forward-Netze

Forward Propagation pro Ebene

in Vektornotation:

17

...

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

Page 18: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Feed-Forward-Netze

Training durch Gradientenabstieg,

häufig stochastic Gradient

Fehlerfunktion:

Gradientenabstieg:

Stochastischer Gradient, Bsp. x

18

...

dx

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

Page 19: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Feed-Forward-Netze: Back Propagation

Stochastischer Gradient, Bsp. x

Für Gewichte der obersten Ebene:

Mit:

19

...

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

Page 20: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Feed-Forward-Netze: Back Propagation

Für Gewichte der Ebene i:

Mit

20

...

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

...1ix

i

kh

1i

lx

1i

lk

)( i

kh

1ix 1i

δ

1iδ

Forw

ard

Pro

pagation

Back P

ropagatio

n

Page 21: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Aktivierungsfunktion

Jede differenzierbare, sigmoide Funktion ist

möglich

Beispiel:

21

1( )

1 hh

e

'( ) ( )(1 ( ))h h h

Page 22: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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θ θ

Page 23: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 24: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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θ θ θ

Page 25: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 26: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 27: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 28: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

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)

Page 29: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Restricted Boltzmann Machine

Energiefunktion:

P(Aktivierung) ~ Energiefunktion

Z ist Normalisierungsfaktor

29

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

Page 30: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Restricted Boltzmann Machine

Lernen: Maximiere log-Wahrscheinlichkeit der

Eingabevektoren.

Gradient:

Energiegradient:

30

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

Page 31: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 32: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 33: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

0

1x ... 0

mx

...

Page 34: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

0

1x ... 0

mx

...

Page 35: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

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

Page 36: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

0

1x ... 0

mx

...

0000 0010 0100 1000

00 01 10 11

0000 0010 0100 1000

Page 37: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Auto Encoder

Beispiel: Handgeschriebene Ziffern

Verdeckte Ebene lernt Muster,

aus denen Ziffern bestehen

37 37

0

1x ... 0

mx

...

Page 38: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 39: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 40: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 41: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Convolutional Networks

Knoten mit gekoppelten Gewichten (identische

Funktion) werden auf überlappende Bereiche der

Eingabe angewandt.

41

0 0 0 0 0

1 2 3 4 5( , , , , )x x x x x

1

1x 1

2x 1

3x

Gleiche Gewichte

Page 42: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 43: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Convolutional Networks

Für Bildverarbeitung: Pro Filter ergibt sich ein Array

von Knoten mit gekoppelten Gewichten

43

Page 44: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

Maschin

elle

s L

ern

en

Convolutional Networks

Beispiel: Kantendetektoren für 8 Richtungen x 5

Skalierungen (Fenstergrößen)

44

Page 45: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 46: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 47: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 48: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 49: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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θ

250 Einheiten

2 Einheiten

Page 50: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 51: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 52: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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

Page 53: Neuronale Netze, Deep Learning - uni-potsdam.de€¦ · Neuronale Netze sind genaueste bekannte Verfahren für Objektklassifikation (CIFAR/NORB/PASCAL VOC-Benchmarks) Videoklassifikation,

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