Intelligente Systeme - Deep...

29
Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de Institut für Intelligente Kooperierende Systeme Fakultät für Informatik Otto-von-Guericke Universität Magdeburg R. Kruse, C. Braune IS – Deep Learning 26. Januar 2017

Transcript of Intelligente Systeme - Deep...

Page 1: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Intelligente SystemeDeep Learning

Prof. Dr. R. Kruse C. Braune{rudolf.kruse,christian,braune}@ovgu.de

Institut für Intelligente Kooperierende SystemeFakultät für Informatik

Otto-von-Guericke Universität Magdeburg

R. Kruse, C. Braune IS – Deep Learning 26. Januar 2017

Page 2: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Übersicht

1. Deep Learning

Page 3: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Wiederholung: Lernen Rekurrenter NetzeBeispiel: Newton’sches Abkühlungsgesetz

Euler–Cauchy-Polygonzüge für verschiedene Schrittweiten:

t

ϑ

ϑA

ϑ0

0 5 10 15 20t

ϑ

ϑA

ϑ0

0 5 10 15 20t

ϑ

ϑA

ϑ0

0 5 10 15 20

∆t = 4 ∆t = 2 ∆t = 1

Die dünne Kurve ist die genaue analytische Lösung. Rekurrentesneuronales Netz:

ϑ(t0) ϑ(t)−kϑA∆t

−k∆t

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 2 / 28

Page 4: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Wiederholung: Fehler-Rückpropagation über dieZeit

Annahme: Wir haben Messwerte der Abkühlung (oder Erwärmung)eines Körpers zu verschiedenen Zeitpunkten. Außerdem sei dieUmgebungstemperatur ϑA bekannt. Ziel: Bestimmung des Werts derAbkühlungskonstanten k des Körpers. Initialisierung wie bei einemMLP: Biaswert und Gewicht der Rückkopplung zufällig wählen. DieZeit zwischen zwei aufeinanderfolgenden Messwerten wird in Intervalleunterteilt. Damit wird die Rückkopplung des Netzes ausgefaltet.Liegen z.B. zwischen einem Messwert und dem folgenden vierIntervalle (tj+1 = tj + 4∆t), dann erhalten wir

ϑ(t0) θ θ θ θ ϑ(t)1−k∆t 1−k∆t 1−k∆t 1−k∆t

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 3 / 28

Page 5: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Wiederholung: Fehlerrückpropagation

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 4 / 28

Page 6: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Bisherige Probleme

Probleme:

Gewichtsänderung nimmt in vor-deren Schichten exponentiell ab

Lernen dauert zu lang

Zuwenige (gelabelte) Lernbei-spiele vorhanden

Konvergenz zu lokalen Minima

Lösungsansätze:

Initialisiere Gewichte nicht zufäl-lig, sondern abhängig vom Da-tensatz

Verwende schnellere ComputerLastverteilung auf GPUs

Sammle mehr gelabelte Lern-beispiele

Kann nicht vollständig verhin-dert werden

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 5 / 28

Page 7: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Rectified Linear Unit (ReLU)

Wähle statt NeuronRectified Linear Unit

ReLU: f (x) = max(0, x)

Vorteile:

• sehr einfache Berechnung

• Ableitung ist leicht zu bilden

• 0-Werte vereinfachen Lernen

Nachteile:

• kein Lernen links der 0

• mathematisch eher unschön

• Nicht-differenzierbarer„Knick“ bei 0

−3 −2 −1 0 1 2 3−1

0

1

2

3

f(x)

ReLU

[ReLu nach Glorot et. al2011]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 6 / 28

Page 8: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

ReLU: Berechnungsvarianten

Softplus:f (x) = ln(1 + ex )

• „Knick“ wurde beseitigt

• Einige Vorteile auch

Noisy ReLU:f (x) = max(0, x + N (0, σ(x)))

• Addiert Gaussches Rauschen

Leaky ReLU

f (x) =

{

x , falls x > 0,

0.01x , sonst.

−3 −2 −1 0 1 2 3−1

0

1

2

3

f(x)

Softplus

[Softplus nach Glorot et. al2011]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 7 / 28

Page 9: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Dropout

ohne Dropout

mit Dropout

Gewünschte Eigenschaft:Robustheit bei Ausfall von Neuro-nen

Ansatz beim Lernen:

• Nutze nur 50% der Neuronen

• Wähle diese zufällig

Ansatz beim Anwenden

• Nutze 100% der Neuronen

• Halbiere alle Gewichte

Ergebnis:

• Robustere Repräsentation

• Verbesserte Generalisierung

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 8 / 28

Page 10: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Autoencoder

Erstellt eine Kodierung der Daten

Lernt Gewichte mit Rückpropaga-tion

Durch unüberwachtes Lernen

Fehler ist |out − in|2

[Grafiken nach T. Mitchell, Machine Lear-ning, McGraw Hill, 1997]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 9 / 28

Page 11: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Autoencoder

Encoder Decoder

Nutze für Dekodierung die trans-ponierte Gewichtsmatrix der Enco-dierung

Ergebnis nach 5000 Iterationen:

Binäre Kodierung fast erreicht

[Grafiken nach T. Mitchell, Machine Lear-ning, McGraw Hill, 1997]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 10 / 28

Page 12: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Rauschreduzierender (Denoising) Autoencoder

Encoder Decoder

Gegeben:eine dünne (sparse) Repräsentati-on

Gewünscht:eine volle Repräsentation

Ansatz:Kombiniere Autoencoder mit Dro-pout

Ergebnis:komprimierte Darstellungdynamisch auf Lernbeispiele zuge-schnittenFeatures für andere Algorithmen

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 11 / 28

Page 13: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Stapeln von Autoencodern

Staple Autoencoder, um die besten Features zu erhalten

[http://ufldl.stanford.edu/wiki/index.php/Stacked_Autoencoders]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 12 / 28

Page 14: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Stapeln von Autoencodern

Nutze die (vor)gelernten Features zur Klassifikation

[http://ufldl.stanford.edu/wiki/index.php/Stacked_Autoencoders]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 13 / 28

Page 15: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Hybrider Deep Learning Algorithmus

Definiere für die Lernaufgabe geeignete Netzstruktur

Erstelle entsprechend der Struktur Autoencoder und lasse sie mitRückpropagation einzeln lernen

Verwende nur die Encoder, ihre Gewichte und eine weiterevollständig vernetzte, zufällig initialisierte Schicht zurKlassifikation

Lasse das so vortrainierte Netz mit Rückpropagation lernen

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 14 / 28

Page 16: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Problem: Objekterkennung in Bildern

Imagenet Large Scale Visual Recognition Challenge (LSVRC) seit2010

Finde 200 Objektklassen (Stuhl, Tisch, Person, Fahrrad,...)

in Bildern mit ca. 500 x 400 Pixeln, 3 Farbkanälen

Neuronales Netz mit ca. 600.000 Neuronen in der ersten Schicht

200 Neuronen in der Ausgabeschicht

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 15 / 28

Page 17: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Faltung (Convolution)

[Quelle]

Motivation: Egal wo auf demBild ein Objekt ist, soll es er-kannt werden

Idee: Verwende die selben Fea-tures auf dem gesamten Bild

Umsetzung: Filter / Kernelwerden auf jedem Teil des Bil-des angewandt und teilen sichdie Gewichte

Parameter:Anzahl der FilterStärke der Überlappung

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 16 / 28

Page 18: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Faltung (Convolution)

[http://ufldl.stanford.edu/wiki/index.php/Feature_extraction_using_convolution]

Featuretransformation

Schiebe einen „Filter“ überdie Features und betrachte die„gefilterten“ Features

Multipliziere Originalfeaturemit Filter und Summiere

Originalraum: 5x5

Filtergröße: 3x3

Neue Featuregröße: 3x3

Featureraum wird kleiner

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 17 / 28

Page 19: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Pooling

[Quelle]

Featuretransformation

Schiebe einen „Filter“ überdie Features und betrachte die„gefilterten“ Features

Betrachte den Bereich entspre-chend der Filtergröße

Max Pooling: Nimm maxima-len Wert

Mean Pooling: Nimm Mittel-wert

Featureraum wird kleiner

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 18 / 28

Page 20: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Faltendende (Convolutional) Neuronale Netze

[http://ufldl.stanford.edu/wiki/index.php/Feature_extraction_using_convolution]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 19 / 28

Page 21: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Resultate im Bereich Bildklassifizierung

Grafik:William Beluch, ImageNet Classification withDeep Convolutional Neural Networks

Noch vor 10 Jahren:unmöglich

Rasante Entwick-lung in den letztenJahren

Oft verwendet:Ensembles von Net-zen

Netze werden tiefer:ResNet (2015) mehrals 150 Schichten

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 20 / 28

Page 22: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Anwendung: IQ-Test [Wang et al. 2015]

Lösen von verbalen Verständnisfragen in IQ-Tests

Verbale IQ-Tests beinhalten hier 5 Arten von Fragen:Analogie 1, Analogie 2, Klassifikation, Synonym, Antonym

Beispielfrage(Analogie 1): Isotherm verhält sich zu Temperaturwie isobar zu?(i) Atmosphäre, (ii) Wind, (iii) Druck, (iv) Ausdehnung, (v)Strömung

Ansatz:• Klassifiziere den Fragentyp mit Hilfe einer SVM

• Benutze für jeden Fragentyp einen dafür erstelltes TiefesNeuronales Netz

• Nutze zum Lernen von zusammengehörenden Wörter einegroße Datenbasis (Wiki2014)

Ergebnis: DeepLearning etwas besser als Bachelor-AbsolventenR. Kruse, C. Braune IS – Deep Learning 26.01.2017 21 / 28

Page 23: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Rhythmus-Rekonstruktion durch EEG-Analyse

[Quelle: Sebastian Stober, DKE-Kolloquium 03.06.2014]

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 22 / 28

Page 24: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

German Traffic Sign Recognition Benchmark

Wurde analysiert bei der In-ternational Joint Conferenceon Neural Networks (IJCNN)2011

Problemstellung:

Ein Bild, mehrere KlassenKlassifikationsproblem

Mehr als 40 Klassen

Mehr als 50.000 Bilder

Ergebnis:

Erste übermenschliche visuelleMustererkennung

Fehlerraten:Mensch: 1.16%, NN:0.56%

Stallkamp et al. 2012

Verwendetes Netz:Input, Conv., Max., Conv.,Max., Conv., Max, Full, Full

Details zu den Gewinnern

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 23 / 28

Page 25: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Visualisierung von gelernten Neuronalen Netzen

Neuronale Netze zur Objekterkennung in Bildern

Was erkennt ein Neuronales Netz in Rauschen, wenn es Bananengelernt hat?

Mehr Beispiele

Quelle: Heise: Wovon träumen neuronale Netze?

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 24 / 28

Page 26: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

AlphaGo: Problemstellung Go

2 Spieler (Schwarz, Weiß)

Legen abwechselnd Steine

auf einem 19 x 19 Gitter

Ziel: Die Größte Fläche einkreisen

eingekreiste Steine werden wegge-nommen

Anzahl der Möglichkeiten: 250150

Vergleich zu Schach: 3580

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 25 / 28

Page 27: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

AlphaGo: Ansatz Monte Carlo Suche

Ansatz: Suche im Spielbaum

Lerne Netz 1 für menschenähnliche nächste Züge

Lerne Netz 2 zum Bewerten von Stellungen

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 26 / 28

Page 28: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

AlphaGo: Ergebnisse

Sieg gegen Europameister, Fan Hui: 5 zu 0

Sieg gegen Top10 der Weltrangliste, Lee Sedol: 4 zu 1

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 27 / 28

Page 29: Intelligente Systeme - Deep Learningfuzzy.cs.ovgu.de/wiki/uploads/Lehre.IS1617/is2016_v13_deep_learning.pdf · Intelligente Systeme Deep Learning Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian,braune}@ovgu.de

Deep Learning Libraries

Theano http://deeplearning.net/software/theano/Python Implementierung für GPU-Verarbeitung von math. Ausdrücken

Tensorflow https://www.tensorflow.org/Verwendet von Googles DeepMind

Keras http://keras.ioPython Implementierung, basierend auf Theano oder Tensorflow

Torch http://torch.ch/LuaJIT und C/CUDA, verwendet bei Facebook, Google, Twitter

DL4J http://deeplearning4j.org/Plattformunabhängige Java Implementierung, kompatibel mit Spark,Hadoop

Caffe http://caffe.berkeleyvision.org/C++, CUDA Implementierung mit Python und MATLAB SchnittstelleSehr schnell, viel verwendet für Bildanalyse z.B. bei Facebook

R. Kruse, C. Braune IS – Deep Learning 26.01.2017 28 / 28