Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Why connectionism? Backpropagation Netzwerke

Ähnliche Präsentationen


Präsentation zum Thema: "Why connectionism? Backpropagation Netzwerke"—  Präsentation transkript:

1 Why connectionism? Backpropagation Netzwerke
Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke

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

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

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

5 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

6 Aufbau einer Nervenzelle

7 Aufbau einer Nervenzelle
Zellkörper mit Zellkern

8 Aufbau einer Nervenzelle
Zellkörper mit Zellkern Dendriten (Input)

9 Aufbau einer Nervenzelle
Zellkörper mit Zellkern Dendriten (Input) Axon (Output)

10 Aufbau einer Nervenzelle
Zellkörper mit Zellkern Dendriten (Input) Axon (Output) Synapsen (Kontaktstellen zwischen Neuronen)

11 Aufbau einer Nervenzelle
Zellkörper mit Zellkern Dendriten (Input) Axon (Output) Synapsen (Kontaktstellen zwischen Neuronen)

12 Arten von Nervenzellen
Sensorische Nervenzellen leiten Impulse an das Zentralnervensystem weiter Interneurone zwischengeschaltete Nervenzellen, die Impulse verarbeiten Motoneurone veranlassen willkürliche und unwillkürliche Körperbewegungen

13 „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.

14 Das künstliche Neuron Dendriten Zelle Axon Verbindung zur
nächsten Zelle Dendriten Zelle Axon

15 Das künstliche Neuron Dendriten Dendriten Zelle Axon Verbindung zur
nächsten Zelle Dendriten Zelle Axon

16 Das künstliche Neuron Dendriten Zelle Dendriten Zelle Axon
Verbindung zur nächsten Zelle Dendriten Zelle Axon

17 Das künstliche Neuron Dendriten Zelle Axon Dendriten Zelle Axon
Verbindung zur nächsten Zelle Dendriten Zelle Axon

18 Das künstliche Neuron Dendriten Zelle Axon Dendriten Zelle Axon
Verbindung zur nächsten Zelle Output Verbindung zur nächsten Zelle Dendriten Zelle Axon

19 Gewichtung von Neuronen
Neuron Gewichtung Neuron 2

20 Gewichtung von Neuronen
Neuron Gewichtung Neuron 2 (2 x 0.5)

21 Aktivierungsfunktionen
Neuron 1 xi wi 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

22 Aktivierungsfunktionen
Lineare Funkion Ändert nichts am Rechenvorgang Schwellwertfunktion „Wenn net kleiner 0, setzte 0“ „Wenn net größer/gleich 0, setzte 1“ Sigmoide Funktion Für Backpropagation-Netze nötig Liefert im Vergleich zur Schwell-wertfunktion ein kontinuierliches Ausgangssignal und ist besser differenzierbar… (dafür aber kompliziert!)

23 Gewichtung von Neuronen

24 Gewichtung von Neuronen
0,5 2 Neuron 3  bekommt als Input den Wert 3 1 2 Aktivierung mit f(net)=net Neuron 1: 2 x 0,5 = 1  f(1) = 1 Neuron 2: 2 x 1 = 2  f(2) = 2 Neuron 3: = Neuron 2

25 Fehlerbehebung… Neuron Gewichtung Neuron 2 2 x ≠ 4

26 Fehlerbehebung… Neuron Gewichtung Neuron 2 8 8 x

27 Das XOR-Problem Input 1 Input 2 Output 1 1 1

28 Das XOR-Problem 0 x 0 + 0 x 0 = 0 1 1 0 0 1 1 0 1 1 0 Input 1 Input 2
Output 1 0 x x 0 = 0 1 1

29 Das XOR-Problem 0 x 1 + 0 x 1 = 0 1 1 0 0 1 1 0 1 1 0 Input 1 Input 2
Output 1 0 x x 1 = 0 1 1

30 Das XOR-Problem 0 x 0 + 0 x 1 ≠ 1 0 x 1 + 0 x 0 ≠ 1 1 1 0 0 1 1 0 1
Input 1 Input 2 Output 1 0 x x 1 ≠ 1 0 x x 0 ≠ 1 1 1

31 Das XOR-Problem 1 x 1 + 1 x 0 = 1 1 1 1 0 0 1 1 0 1 1 0 Input 1
Output 1 1 x x 0 = 1 1 1 1

32 Das XOR-Problem 1 x 0 + 1 x 0 = 0 1 x 0 + 1 x 1 = 1 1 x 1 + 1 x 0 = 1
Input 1 Input 2 Output 1 1 x x 0 = 0 1 x x 1 = 1 1 x x 0 = 1 Falsch: 1 x x 1 ≠ 1 1 1 1 1 1 1

33 Die Lösung: „Hidden Units“
O 1 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.

34 Die Lösung: „Hidden Units“
O 1 O 1 1 Aktivierungsfunktion mit Benutzung einer Schwellwertfunktion mit der Eigenschaft f(x) = 1 wenn x > 0 | sonst 0 H1 H2 1 1 -1 -1 I1 I2

35 I1 = 0 und I2 = 0 I1 I2 O 1 1 1 H1 H2 I1 = 0 I2 = 0 H1 = 1 x (-1) x 0 = 0  f(0) = 0 H2 = 1 x (-1) x 0 = 0  f(0) = 0 O = 1 x x 0 = 0  f(0) = 0 1 1 -1 -1

36 I1 = 1 und I2 = 1 I1 I2 O 1 1 1 H1 H2 I1 = 1 I2 = 1 H1 = 1 x (-1) x 1 = 0  f(0) = 0 H2 = 1 x (-1) x 1 = 0  f(0) = 0 O = 1 x x 0 = 0  f(0) = 0 1 1 -1 -1 1 1

37 I1 = 0 und I2 = 1 I1 I2 O 1 1 1 1 H1 H2 I1 = 0 I2 = 1 H1 = 1 x (-1) x 1 =  f(-1) = 0 H2 = 1 x (-1) x 0 =  f(1) = 1 O = 1 x x 1 = 1  f(1) = 1 1 1 -1 -1 1

38 I1 = 1 und I2 = 0 I1 I2 O 1 1 1 1 H1 H2 I1 = 1 I2 = 0 H1 = 1 x (-1) x 0 =  f(1) = 1 H2 = 1 x (-1) x 1 =  f(-1) = 0 O = 1 x x 0 = 1  f(1) = 1 1 1 -1 -1 1

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

40 Backpropagation Ein Feedforward Multilayer Perceptron (MLP) 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…

41 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

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

43 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…!

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

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

46 Der Backpropagation-Prozess

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

48 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! Input: In der Stadt 50 km/h fahren  Output: Kein Knöllchen!

49 Ende


Herunterladen ppt "Why connectionism? Backpropagation Netzwerke"

Ähnliche Präsentationen


Google-Anzeigen