49
Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Embed Size (px)

Citation preview

Page 1: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Neuronale Netzwerke

Why connectionism?

Backpropagation Netzwerke

Page 2: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Was ist ein neuronales Netzwerk?

Ein neuronales Netzwerk besteht aus einer großen Anzahl miteinander verknüpfter kleiner Elemente, den Nervenzellen (= Neuronen)

Informationen werden verarbeitet und weitergeleitet, indem sich die Neuronen mit Hilfe von Verbindungen untereinander aktivieren.

Page 3: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Warum neuronale Netzwerke?

Während elektronische Schaltelemente zwar in der Lage sind, im Nanosekunden-Bereich zu reagieren, sind natürliche Neuronen im Gehirn mit einer Schaltzeit im Millisekunden-Bereich vergleichsweise langsam…!

Aber: Trotzdem ist das menschliche Gehirn in der Lage, Probleme zu lösen, die für jeden konventionellen Rechner in weiter Ferne liegen…

…und das liegt hauptsächlich an der großen Anzahl der Neuronen, deren starker Vernetzung und der Tatsache, dass neuronale Netze „lernen“ können.

Die Idee: Die Arbeitsweise des Gehirns wird auf Maschinen übertragen.

Page 4: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Künstliche neuronale Netze

Mit künstlichen neuronalen Netzen werden natürliche biologische neuronale Netze als informationsverarbeitende Systeme nachgeahmt.

Will heißen: Das Modell des künstlichen Neurons basiert auf den Untersuchungen von natürlichen Nervenzellen.

Page 5: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Nervenzellen = Neuronen

Nervenzellen sind die Grund-bausteine des Nervensystems und grundsätzlich für die Reiz-aufnahme, die Weitergabe und Verarbeitung von Nerven-impulsen zuständig

Page 6: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Aufbau einer Nervenzelle

Page 7: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Aufbau einer Nervenzelle

Zellkörper mit Zellkern

Page 8: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Zellkörper mit Zellkern Dendriten (Input)

Aufbau einer Nervenzelle

Page 9: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Aufbau einer Nervenzelle

Zellkörper mit Zellkern Dendriten (Input)

Axon (Output)

Page 10: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Aufbau einer Nervenzelle

Zellkörper mit Zellkern Dendriten (Input)

Axon (Output)

Synapsen (Kontaktstellen zwischen Neuronen)

Page 11: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Aufbau einer Nervenzelle

Zellkörper mit Zellkern Dendriten (Input)

Axon (Output)

Synapsen (Kontaktstellen zwischen Neuronen)

Page 12: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Arten von Nervenzellen

Sensorische Nervenzellenleiten Impulse an das Zentralnervensystem weiter

Interneuronezwischengeschaltete Nervenzellen, die Impulse verarbeiten

Motoneuroneveranlassen willkürliche und unwillkürliche Körperbewegungen

Page 13: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

„Datenfluss“

Informationen werden in Form von Änderungen des Ruhe-potentials weitergeleitet.

Durch das Öffnen von Ionenkanälen in der Zellmembran können Ionen ein- oder ausströmen und so die Ladung der Zelle ändern.

Diese Ladungsänderung wird weitergeleitet und an den Synapsen auf andere Nervenzellen übertragen.

Page 14: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das künstliche Neuron

Dendriten Zelle AxonVerbindung zurnächsten Zelle

Page 15: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das künstliche Neuron

Dendriten

Dendriten Zelle AxonVerbindung zurnächsten Zelle

Page 16: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das künstliche Neuron

Dendriten Zelle

Dendriten Zelle AxonVerbindung zurnächsten Zelle

Page 17: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das künstliche Neuron

Dendriten Zelle Axon

Dendriten Zelle AxonVerbindung zurnächsten Zelle

Page 18: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das künstliche Neuron

Dendriten Zelle Axon

Dendriten Zelle AxonVerbindung zurnächsten Zelle

Verbindung zurnächsten ZelleOutput

Page 19: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Gewichtung von Neuronen

Neuron 1 Gewichtung Neuron 2

Page 20: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Gewichtung von Neuronen

0.5 2 1 (2 x 0.5)

Neuron 1 Gewichtung Neuron 2

Page 21: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Aktivierungsfunktionen

Neuron 1

• Summierung (Σ) aller Inputwerte zu „net“• Anwendung einer Aktivierungsfunktion

• Output

Summierung aller Inputwerte: net = Σ wixi

Aktivierungsfunktion:Verschiede logistische Rechenfunktionen mit dem Wert „net“.

Einfachste Funktion: f(net) = net

wi

xi

Page 22: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Aktivierungsfunktionen

Lineare FunkionÄndert nichts am Rechenvorgang

Schwellwertfunktion„Wenn net kleiner 0, setzte 0“„Wenn net größer/gleich 0, setzte 1“

Sigmoide FunktionFür Backpropagation-Netze nötigLiefert im Vergleich zur Schwell-wertfunktion ein kontinuierliches Ausgangssignal und ist besser differenzierbar…(dafür aber kompliziert!)

Page 23: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Gewichtung von Neuronen

Neuron 2

Neuron 1

Neuron 3

Page 24: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Gewichtung von Neuronen

0,5

Neuron 2

1

Neuron 1

Neuron 3 bekommt als Input den Wert 3

2

2

Aktivierung mit f(net)=net

Neuron 1: 2 x 0,5 = 1 f(1) = 1Neuron 2: 2 x 1 = 2 f(2) = 2

Neuron 3: 1 + 2 = 3

Page 25: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Fehlerbehebung…

0.5 2 4

Neuron 1 Gewichtung Neuron 2

2 x 0.5 ≠ 4

Page 26: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Fehlerbehebung…

0.5 2 4

Neuron 1 Gewichtung Neuron 2

8

8 x 0.5 4

Page 27: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das XOR-Problem Input 1 Input 2 Output

0 0 0

1 1 0

0 1 1

1 0 1

0 0 1 1 0 1 1 0

0 0 1 1

Page 28: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das XOR-Problem Input 1 Input 2 Output

0 0 0

1 1 0

0 1 1

1 0 1

0 0 1 1 0 1 1 0

0 0 1 1

0 0

0 x 0 + 0 x 0 = 0

Page 29: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das XOR-Problem Input 1 Input 2 Output

0 0 0

1 1 0

0 1 1

1 0 1

0 0 1 1 0 1 1 0

0 0 1 1

0 0

0 x 1 + 0 x 1 = 0

0 0

Page 30: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das XOR-Problem Input 1 Input 2 Output

0 0 0

1 1 0

0 1 1

1 0 1

0 0 1 1 0 1 1 0

0 0 1 1

0 0

0 x 0 + 0 x 1 ≠ 1

0 0 0 0 0 0

0 x 1 + 0 x 0 ≠ 1

Page 31: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das XOR-Problem Input 1 Input 2 Output

0 0 0

1 1 0

0 1 1

1 0 1

0 0 1 1 0 1 1 0

0 0 1 1

1 x 1 + 1 x 0 = 1

1 1

Page 32: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Das XOR-Problem Input 1 Input 2 Output

0 0 0

1 1 0

0 1 1

1 0 1

0 0 1 1 0 1 1 0

0 0 1 1

1 1

1 x 1 + 1 x 0 = 1

1 1 1 1 1 1

1 x 0 + 1 x 0 = 0 1 x 0 + 1 x 1 = 1

Falsch: 1 x 1 + 1 x 1 ≠ 1

Page 33: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Die Lösung: „Hidden Units“

Output

„Versteckte“Schicht

Inputs

Im Multilayer (mehrschichtigen) Netzwerk ist jedes Neuron mit allen Neuronen der beiden benachbarten Layer verbunden, mit zwei Ausnahmen: Die Input-Schicht hat keine Vorgänger, und die Output-Schicht hat keine Nachfolger.

I1 I2 O

0 0 0

1 1 0

0 1 1

1 0 1

Page 34: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Die Lösung: „Hidden Units“

I1 I2

O

H1 H2

1 1

1 1

-1 -1

I1 I2 O

0 0 0

1 1 0

0 1 1

1 0 1

Aktivierungsfunktion mit Benutzung einerSchwellwertfunktion mit der Eigenschaft

f(x) = 1 wenn x > 0 | sonst 0

Page 35: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

I1 = 0 und I2 = 0I1 I2 O

0 0 0

1 1 0

0 1 1

1 0 1

0 0

0

H1 H2

1 1

1 1

-1 -1

I1 = 0I2 = 0

H1 = 1 x 0 + (-1) x 0 = 0 f(0) = 0H2 = 1 x 0 + (-1) x 0 = 0 f(0) = 0

O = 1 x 0 + 1 x 0 = 0 f(0) = 0

Page 36: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

I1 = 1 und I2 = 1I1 I2 O

0 0 0

1 1 0

0 1 1

1 0 1

1 1

0

H1 H2

1 1

1 1

-1 -1

I1 = 1I2 = 1

H1 = 1 x 1 + (-1) x 1 = 0 f(0) = 0H2 = 1 x 1 + (-1) x 1 = 0 f(0) = 0

O = 1 x 0 + 1 x 0 = 0 f(0) = 0

Page 37: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

I1 = 0 und I2 = 1I1 I2 O

0 0 0

1 1 0

0 1 1

1 0 1

0 1

1

H1 H2

1 1

1 1

-1 -1

I1 = 0I2 = 1

H1 = 1 x 0 + (-1) x 1 = -1 f(-1) = 0H2 = 1 x 1 + (-1) x 0 = 1 f(1) = 1

O = 1 x 0 + 1 x 1 = 1 f(1) = 1

Page 38: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

I1 = 1 und I2 = 0I1 I2 O

0 0 0

1 1 0

0 1 1

1 0 1

1 0

1

H1 H2

1 1

1 1

-1 -1

I1 = 1I2 = 0

H1 = 1 x 1 + (-1) x 0 = 1 f(1) = 1H2 = 1 x 0 + (-1) x 1 = -1 f(-1) = 0

O = 1 x 1 + 1 x 0 = 1 f(1) = 1

Page 39: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Mit den „Hidden Units“ lassen sich also „Probleme“ lösen…

Aber wie bringt man ein Netzwerk dazu, diese Lösung zu finden, sie zu lernen und schluss-endlich zu trainieren?

Ein Ansatz: Backpropagation(„Rückfortpflanzung“, Rückwärtsverteilung)

Page 40: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Backpropagation

Backpropagation: Ein 1974 von Paul Werbos in seiner Dissertation an der Harvard-Universität entwickeltes Verfahren, das aber erst 1986 durch die Arbeiten von Rumelhart, Hinton und Williams seine Bedeutung erlangte.

Der Trick: Ein Lernalgorithmus minimiert den Fehler zwischen dem berechneten und dem gewünschten Output – und zwar vom Output-Ergebnis aus rückwärts gehend.

(„Supervised Learning“ – überwachtes Lernen)

…Verbindungen können auch in beide Richtungen vorhanden sein…

Ein Feedforward Multilayer Perceptron (MLP)

Page 41: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Backpropagation

Vorgehensweise des Backpropagation-Verfahrens:

1. Forwardpropagation (auch Forward Pass) Berechne ausgehend von gegebenen Input-Werten die Output-Werte…

2. Backpropagation (auch Backward Pass) Ermittle den Fehler ausgehend von den erwarteten Werten…

(Das ist die Differenz von dem errechneten Wert zu dem gewünschten Wert) Ändere die Gewichtungen zwischen den Neuronen…

(Zelle für Zelle rückwärts gehend, vom Output zu den Hidden Units etc.)

3. Wiederhole die Phasen, bis der Fehler minimiert ist

Page 42: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Backpropagation

Das Backpropagation-Verfahren beruht auf einem Gradienabstiegsverfahren.

Das Verfahren startet mit einer zufällig gewählten Gewichtung x. Es wird der Gradient bestimmt und um eine vorgegebene Länge,

die Lernrate, „herabgestiegen“. Die dann erhaltene Gewichtsveränderung liefert den

Gewichtsvektor y, in dem wiederum der Gradient bestimmt wird. Wiederholung, bis ein Fehler-Minimum erreicht ist.

Page 43: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Formelchaos…

1. Berechne ausgehend von gegebenen Input-Werten xi die Output-Werte yi

2. Errechne das Fehlersignal ausgehend von den erwarteten Werten:

Falls Neuron j in der Output-Schicht liegt mit der Formel

(wobei e der erwartete Output und y der berechnete Output ist)

und falls Neuron j ein Hidden-Neuron ist mit der Formel

3. Berechne die Gewichtungsänderungen mit der Formel

(wobei yi der berechnete Output von Neuron i, k die Lernrate und das Fehlersignal ist)

4. Wiederholen, bis Fehler minimiert…!

Page 44: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Formelchaos…

Wenn dann als Aktivierungsfunktion die Sigmoide-Funktion gewählt wird, kommt folgende Gleichung heraus:

Dann lassen sich Output-Neuronen j mit der Formel…

…und Hidden-Neuronen mit der Formel

…berechnen.

Page 45: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Was die Formeln rechnen…

Zu jedem Eingangswert wird ein Ausgabewert des Netzes errechnet.

Mit Hilfe der Fehlerfunktion wird der Fehler des Netzes bestimmt (also die Differenz von tatsächlichem Output zum Soll-Output)

Liegt der Fehler oberhalb eines bestimmten Wertes, erfolgt eine Modifikation des Netzes durch den Backward-Pass.

Liegt der Fehler unterhalb eines vorgegebenen Wertes, wird die Routine (oder Training) beendet(und gegebenenfalls eine Testphase eingeleitet, um die Generalisierungsfähigkeit zu überprüfen)

Im Backward-Pass werden Schritt für Schritt die Verbindungen und deren Gewichtungen zwischen den Neuronen im Backprop-Netz abgeändert.

Diese Änderung erfolgt mit Hilfe einer Lernregel, für die der Fehler des Netzes die Grundlage bildet.

Der Backward-Pass erfolgt in entgegengesetzter Richtung zum Forward-Pass.

Daher spricht man auch von einem Backpropagation-Error, dem rückwärtsverteilten Fehler.

Page 46: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Der Backpropagation-Prozess

Page 47: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Backpropagation als Form des Lernens

Durch die schrittweise Rückverfolgung des Fehlers könnte das Backpropagation-Verfahren eine Art des „Lernens“ darstellen…

Beispiel 2: Input: Hand fest auf den heißen Herd pressen Output: Übelst verbrannte Hand!

Fehler: Verletzung und Schmerzen… Lernregel: „Du sollst dich durch die Welt bewegen, ohne dich ständig zu verletzen“

Backpropagation: Hand vielleicht nicht so fest auf heißen Herd pressen?

Input: Hand nicht so fest auf heißen Herd pressen Output: Hand noch immer verkohlt! Fehler: Verletzung und Schmerzen… Lernregel: „Du sollst dich durch die Welt bewegen, ohne dich ständig zu verletzen…!“

Backpropagation: Hand vielleicht … (x-Mal abstufbar) … gar nicht auf den Herd legen?

Input: Hand nicht auf Herd pressen Output: Keine Schmerzen, kein Arzt!

Page 48: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Backpropagation als Form des Lernens

Durch die schrittweise Rückverfolgung des Fehlers könnte das Backpropagation-Verfahren eine Art des „Lernens“ darstellen…

Beispiel 1: Input: In der Stadt 150 km/h gefahren Output: Von der Polizei geblitzt worden!

Fehler: Zu schnell gefahren… Lernregel: „Du sollst in der Stadt nur 50 km/h fahren“

Backpropagation: Vielleicht langsamer fahren? Gewichtung im Fuß umverteilen!

Input: In der Stadt 120 km/h gefahren Output: Schon wieder geblitzt worden! Fehler: Zu schnell gefahren… Lernregel: „Du sollst in der Stadt nur 50 km/h fahren“

Backpropagation: Vielleicht langsamer fahren? Gewichtung im Fuß umverteilen! … Input: In der Stadt 50 km/h fahren Output: Kein Knöllchen!

Page 49: Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

Ende