Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke.

Ähnliche Präsentationen


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

1 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 Zellkörper mit Zellkern

8 Dendriten (Input) Aufbau einer Nervenzelle

9 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

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

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

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

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

19 Gewichtung von Neuronen Neuron 1 Gewichtung Neuron 2

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

21 Aktivierungsfunktionen Neuron 1 Summierung (Σ) aller Inputwerte zu net Anwendung einer Aktivierungsfunktion Output Summierung aller Inputwerte: net = Σ w i x i Aktivierungsfunktion: Verschiede logistische Rechenfunktionen mit dem Wert net. Einfachste Funktion: f(net) = net wiwi xixi

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 Neuron 2 Neuron 1 Neuron 3

24 Gewichtung von Neuronen 0,5 Neuron 2 1 Neuron 1 Neuron 3 bekommt als Input den Wert 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: = 3

25 Fehlerbehebung… Neuron 1 Gewichtung Neuron 2 2 x 0.5 4

26 Fehlerbehebung… Neuron 1 Gewichtung Neuron x 0.5 4

27 Das XOR-Problem Input 1Input 2Output

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

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

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

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

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

33 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. I1I2O

34 Die Lösung: Hidden Units I1I2 O H1H I1I2O Aktivierungsfunktion mit Benutzung einer Schwellwertfunktion mit der Eigenschaft f(x) = 1 wenn x > 0 | sonst 0

35 I1 = 0 und I2 = 0 I1I2O H1H I1 = 0 I2 = 0 H1 = 1 x 0 + (-1) x 0 = 0 f(0) = 0 H2 = 1 x 0 + (-1) x 0 = 0 f(0) = 0 O = 1 x x 0 = 0 f(0) = 0

36 I1 = 1 und I2 = 1 I1I2O H1H I1 = 1 I2 = 1 H1 = 1 x 1 + (-1) x 1 = 0 f(0) = 0 H2 = 1 x 1 + (-1) x 1 = 0 f(0) = 0 O = 1 x x 0 = 0 f(0) = 0

37 I1 = 0 und I2 = 1 I1I2O H1H I1 = 0 I2 = 1 H1 = 1 x 0 + (-1) x 1 = -1 f(-1) = 0 H2 = 1 x 1 + (-1) x 0 = 1 f(1) = 1 O = 1 x x 1 = 1 f(1) = 1

38 I1 = 1 und I2 = 0 I1I2O H1H I1 = 1 I2 = 0 H1 = 1 x 1 + (-1) x 0 = 1 f(1) = 1 H2 = 1 x 0 + (-1) x 1 = -1 f(-1) = 0 O = 1 x x 0 = 1 f(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 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)

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 x i die Output-Werte y i 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 y i 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! 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!

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

49 Ende


Herunterladen ppt "Neuronale Netzwerke Why connectionism? Backpropagation Netzwerke."

Ähnliche Präsentationen


Google-Anzeigen