![Page 1: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/1.jpg)
Maschinelles Lernen: NeuronaleNetzeIdeen der Informatik
Kurt Mehlhorn Adrian Neumann
16. Januar 2014
![Page 2: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/2.jpg)
Übersicht
Biologische Inspiration
Stand der Kunst in Objekterkennung auf BildernKünstliche Neuronale Netze
Künstliche NeuronenNeuronale NetzeRealisierung von Und, Oder und Negation
Trainieren von Neuronalen Netzwerken
PrinzipBeispiel: Exklusives OderBuchstaben
Bilderkennung (Deep Convolutional Networks)
Neuronale Netze 2
![Page 3: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/3.jpg)
Stand der Kunst: Klassifikation (Krizhevsky et al,2012)
Neuronale Netze 3
![Page 4: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/4.jpg)
Stand der Kunst: Suche (Krizhevsky et al, 2012)
Neuronale Netze 4
![Page 5: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/5.jpg)
Biologische Inspiration I
Axonterminale = Input
Dendriten = Output
Zelle feuert, wennGesamterregungeinen Schwellwertübersteigt
Inputs können auchhemmend sein.
Neuronale Netze 5
![Page 6: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/6.jpg)
Biologische Inspiration II
Visueller Kortex ist schichtenweise aufgebaut; 6 Schichten.
Neuronen der ersten Schicht bekommen Input von einemkleinen Feld von Sehzellen, Neuronen höherer Schichten voneinem kleinen Feld der davorliegenden Schicht.
One-Learning Algorithm Hypothese
Neuronale Netze 6
![Page 7: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/7.jpg)
Künstliches Neuron
Neuron hat k eingehende Kanten.
Eingabewerte x1 bis xk liegen zwischen0 und 1.
k + 1 Gewichte (Parameter) w0, w1, . . . ,wk .
w0 heißt Grundgewicht (Bias); wi ist dieWichtung von xi .
Ausgabe = g(w0 + w1x1 + . . .wkxk ).
g = Sigmoid Funktion.
Sigmoid Funktion ist differenzierbareApproximation einer Stufenfunktion.
Neuronale Netze 7
![Page 8: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/8.jpg)
Sigmoid Funktion
g(z) =1
1 + e−z
g(0) = 1/2.
g(1) = 0.73
g(4) = 0.95
symmetrisch zu (0,1/2).
differenzierbare Approximationeiner Stufe von 0 nach 1 an derStelle 0.
wenn man e−z durch e−10z
ersetzt, wird Flanke steiler.
Neuronale Netze 8
![Page 9: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/9.jpg)
Realisierung von Oder und Nund (Negiertem Und)
−5
10
10
x1 o1
x2 o1 = g(−5 + 10x1 + 10x2) ≈ x1 ∨ x2
o2 = g(15− 10x1 − 10x2)
x1 x2 o1 = o1 ≈ o2 = o2 ≈
0 0 g(−5) 0
0 1
1 0
1 1
Neuronale Netze 9
![Page 10: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/10.jpg)
Komplexeres Beispiel
Welche Boolesche Funk-tion wird durch diesesNeuronale Netz berech-net?
x1
x2
−1510
5
−5
10
10
−10
10
−10
x1 x2 z1 = z1 ≈ z2 = z2 ≈ o = o ≈
0 0 g(−15) 0
0 1
1 0
1 1
Neuronale Netze 10
![Page 11: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/11.jpg)
Aufgabe
Welche Boolesche Funk-tion wird durch diesesNeuronale Netz berech-net?
x1
x2
10
−10
−10
−10
10
−10
−5
15
15
x1 x2 z1 = z1 ≈ z2 = z2 ≈ o = o ≈
0 0 g(−5) 0
0 1
1 0
1 1
Neuronale Netze 11
![Page 12: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/12.jpg)
Training (Rummelhart/Hinton 86)
Bisher: Wir haben bestimmt, welche Funktion durch ein Netzmit gegebenen Parameterwerten ausgerechnet wird.
Nun: Wir möchten, dass das Netz eine bestimmte Funktionrealisiert. Wie müssen wir die Parameter einstellen?
x1
x2
w6
w7
w8w3
w5
w4
w2
w1
w0
o
x1 x2 o0 0 10 1 01 0 01 1 1
Aufgabe: finde w0 bis w8, so dass die gegebene Funktionberechnet wird.Sprechweise: das Netz „lernt” die Parameter.
Neuronale Netze 12
![Page 13: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/13.jpg)
Training II
Jedes Trainingsbeispiel (für ein Netz mit n Eingaben und einemAusgang) besteht aus einem Eingabevektor x = (x1, . . . , xn) undeiner Ausgabe y . Alle Werte liegen zwischen 0 und 1.
W = Menge aller Parameter (alle w ’s).
hW (x) = Ausgabe (Hypothese) des Netzes mit Parameter-satz W bei Eingabe x = (x1, . . . , xn)
x1
xn
w0, w1, w2, ....
Ausgabe
Training soll w ’s finden, so dass Hypothesen des Netzes undkorrekte Ausgaben möglichst gut übereinstimmen.
Was heißt gut übereinstimmen?
Neuronale Netze 13
![Page 14: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/14.jpg)
Training III
Fehler am Trainingsbeispiel (x , y): (y − hW (x))2
Gesamtfehler E = Summe der Einzelfehler über alleTrainingsbeispiele
Ziel des Trainings ist die Bestimmung eines Parametersatzes,der den Gesamtfehler klein macht.
Bestimmung von (lokalen) Minima durch Iterationsverfahren
Neuronale Netze 14
![Page 15: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/15.jpg)
Der Trainingsalgorithmus (Back Propagation)
1) Initialisiere die Parameter mit kleinen zufälligen Werten2) Solange nicht zufrieden, d.h. Gesamtfehler E zu groß
für jeden Parameter tue: ändere Parameter ein bißchen, sodass Gesamtfehler kleiner wird.
x1
xn
w0, w1, w2, ....
Ausgabe
Neuronale Netze 15
![Page 16: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/16.jpg)
Beispiel für Trainingsschritt
erwünschte Ausgabe 0
1w0
w1
w2
0
Parameterwerte: w0 = 0.2, w1 = 0.1 und w2 = −0.2.
Trainingsbeispiel: an Eingabe (0,1) soll die Ausgabe 0 sein. Imallgemeinen gibt es viele Trainingsbeispiele.
Das Netz gibt aus:
hW (0,1) = g(0.2 + 0.1 · 0− 0.2 · 1) = g(0) = 1/2.
Um den Fehler zu reduzieren, sollten wir hW (0,1) verringern.Dazu müssen wir
z = w0 + 0 · w1 + 1 · w2
verringern. Also w0 und w2 etwas verringern und w1 gleichlassen.
Neuronale Netze 16
![Page 17: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/17.jpg)
Beispiel für das Ergebnis eines Trainings
16 Trainingsbeispiele:x1 und x2 in {0,0.1,0.9,1 }
y = 1 genau wenn x1 ≈ x2
In 50 Tausend Iterationen wur-den folgende Parameter bes-timmt.
x1
x2
6.2
−6.1
6.1
−4.4
−2.0
4.4−2.1
−2.8
−9.1
Neuronale Netze 17
![Page 18: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/18.jpg)
Unterscheide T und C
Aufgabe: in einem 25 x 25 Pixelbildbefindet sich ein T oder C in einerder vier möglichen Orientierungen;fünf Pixel sind Eins, die anderen sindNull.
Bestimme ein neuronales Netz (ein-facher Architektur), das T und C un-terscheidet.
einfach: alle Neuronen der erstenSchicht schauen sich eine 3 x 3 Ma-trix an und sind identisch, d.h. habendie gleichen Parameter.Ausgabeneuron hängt von allen Neu-ronen der ersten Schicht ab.
Neuronale Netze 18
![Page 19: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/19.jpg)
Eine Lösung
Wenn die Mitte des Filter auf demFuß des T’s liegt, liefert der Filtereine +1.
Bei einem C erzeugt der Filter immereinen Wert kleiner gleich 0.
Neuron der ersten Schicht =
g(−5 + 20 ·Mittelpixel− 10 · Summe der Randpixel)
Ausgabeneuron = Oderverknüpfung aller Neuronen der erstenSchicht
Neuronale Netze 19
![Page 20: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/20.jpg)
Lösungen durch Trainieren (Rumelhart/Hinton/Williams, 86)
Training fand vier verschiedene Lö-sungen.
Aufgabe: finde heraus, wie B undC funktionieren.
D ist besonders interessant: esfunktioniert weil ein C 20 Rezep-toren überlappt und ein T 21Rezeptoren.
0 0 0 0 00 1 1 0 00 1 0 0 00 1 1 0 00 0 0 0 0
0 0 0 0 00 1 1 1 00 0 1 0 00 0 1 0 00 0 0 0 0
Neuronale Netze 20
![Page 21: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/21.jpg)
Stand der Kunst (Krishevsky et al., 2012)
1.2 Millionen Trainingsbeispiele aus 1000 Klassen.
Eingabe sind 224 x 224 Pixel jeweils mit 3 Farbwerten (0 bis255)
Ausgabeschicht hat 1000 Neuronen, eins pro Klasse
Netzwerk hat 8 Schichten, 650000 Neuronen, 60 MillionenParameterdie ersten 5 Schichten sind konvolutional
konvolutional: Kopien des gleichen Neurons schauen aufTeilbilder
Training dauerte 1 Woche
Neuronale Netze 21
![Page 22: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/22.jpg)
Klassifikation: Rechtecke = Erregung derAusgabeneuronen
Neuronale Netze 22
![Page 23: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/23.jpg)
Suche: Suchbild in Spalte 1, Trainingsbilder mitähnlichster Erregung der Ausgabeneuronen
Neuronale Netze 23
![Page 24: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/24.jpg)
Stand der Kunst (Krishevsky et al., 2012)
Eingabe: 224 x 224 mit jeweils 3 Farbwerten
Schicht 1: 96 verschiedene Neuronen in 55 x 55 Matrix; jedes Neuronsieht 11 x 11 Feld der Eingabe; Shift von 4.
Schicht 2: 256 verschiedene Neuronen in 27 x 27 Matrix; jedes Neuronsieht 5 x 5 Feld der Schicht 1, also 31 x 31 Feld der Eingabe.
Schicht 3, 4, 5: ähnlich
Schichten 6, 7: 4096 Neuronen, sehen ganze vorherige Schicht
Schicht 8, Ausgabeschicht: 1000 Neuronen
Neuronale Netze 24
![Page 25: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/25.jpg)
Stand der Kunst (Krishevsky et al., 2012)
Eingabe: 224 x 224 mit jeweils 3 Farbwerten
Schicht 1: 96 verschiedene Neuronen in 55 x 55 Matrix; jedes Neuronsieht 11 x 11 Feld der Eingabe; Shift von 4.
Schicht 2: 256 verschiedene Neuronen in 27 x 27 Matrix; jedes Neuronsieht 5 x 5 Feld der Schicht 1, also 31 x 31 Feld der Eingabe.
Informationsreduktion:
11 x 11 Fenster der Eingabe, 3 Farbwerte: 363 Zahlenerste Schicht: Ausgabe von 96 Neuronen, 96 Zahlen
Neuronale Netze 24
![Page 26: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/26.jpg)
Wie funktioniert das?
Neuronen der ersten Schicht entdecken Kanten, Linien, Bögenin 11 x 11 Feldern der Eingabe.
Bild zeigt Eingaben, bei denen 4 ausgewählte Neuronen derersten Schicht besonders stark ansprechen.
Neuronale Netze 25
![Page 27: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/27.jpg)
Wie funktioniert das?
Neuronen der zweiten Schicht entdecken komplexereMerkmale in 31 x 31 Feldern der Eingabe.
Bild zeigt Eingaben,bei denen 4 aus-gewählte Neuronender zweiten Schichtbesonders starkansprechen.
Neuronale Netze 26
![Page 28: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/28.jpg)
Wie funktioniert das?
Neuronen der dritten Schicht entdecken noch komplexereMerkmale in wiederum größeren Feldern der Eingabe.
Bild zeigt Eingaben,bei denen 4 aus-gewählte Neuronender dritten Schichtbesonders starkansprechen.
Neuronale Netze 27
![Page 29: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/29.jpg)
Wie funktioniert das?
Neuronen der vierten Schicht entdecken noch komplexereMerkmale in wiederum größeren Feldern der Eingabe.
Bild zeigt Eingaben,bei denen 4 aus-gewählte Neuronender vierten Schichtbesonders starkansprechen.
Neuronale Netze 28
![Page 30: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/30.jpg)
Wie funktioniert das?
Neuronen der fünften Schicht entdecken noch komplexereMerkmale in wiederum größeren Feldern der Eingabe.
Bild zeigt Eingaben,bei denen 4 aus-gewählte Neuronender fünften Schichtbesonders starkansprechen.
Neuronale Netze 29
![Page 31: Maschinelles Lernen: Neuronale Netze · Unterscheide T und C Aufgabe: in einem 25 x 25 Pixelbild befindet sich ein T oder C in einer der vier möglichen Orientierungen; fünf Pixel](https://reader030.vdokument.com/reader030/viewer/2022040710/5e117e2773fc180ee6290f35/html5/thumbnails/31.jpg)
Zusammenfassung
Neuronale Netze mit vielen Schichten (deep networks) habenDurchbruch in Bilderkennung, Handschriftenerkennung, undSpracherkennung geschafft.
Je höher die Schicht, desto komplexere Merkmale werdenerkannt; Merkmale auf einer Schicht sind Kombinationen vonMerkmalen auf der vorherigen Schicht.
Training braucht sehr große Datensätze, die seit einigen Jahrendurch soziale Netzwerke und Crowdsourcing zur Verfügungstehen.
Training ist aufwendig und dauert lange, aber das ist auch beiGehirnen so (meine 18 Monate alten Enkel beginnen geradedie Verbindung zwischen dem Wort Elefant und dem Bild einesElefanten herzustellen).
Neuronale Netze 30