Why connectionism? Backpropagation Netzwerke

Slides:



Advertisements
Ähnliche Präsentationen
Selbstorganisation und Lernen
Advertisements

Seminarankündigung für das SS04
Reizleitung in Nervenzellen
Perceptrons and the perceptron learning rule
Adaptive Systeme Prof. Rüdiger Brause WS 2011.
Steigung m berechnen Man kann die Steigung auch berechnen,
Wismar Business School
Vom graphischen Differenzieren
Ein Neuronales Netz könnte lernen indem es …
4. Konzepte des Konnektionismus – Theorie Künstlich Neuronaler Netze
Einführung in NeuroFuzzy Technologien
Neuronen, Modelle, Anwendungen Florian Kaiser
Grundlagen der Neurobiologie
Marvin Minsky und das Perceptron
Neuronale Netze Von Kay-Patrick Wittbold.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm! Ein Übungsprogramm der IGS - Hamm/Sieg © IGS-Hamm/Sieg 2007 Dietmar Schumacher Die Wertetabelle.
Neuronale Netze Inhalt des Vortrags:
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Neurobiologische Grundlagen der visuellen Wahrnehmung
Was ist ein kognitives System?
Berechnen Sie den Output Vektor wenn der Input Vektor (1,1,-1,-1) ist.
Entscheidungsunterstützungssysteme IWI Frankfurt 2003
in den Sportwissenschaften
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Programmierung eingebetteter.
Was sind Histogramme? (1)
Biologisches Vorbild Grundlagen
aus Sicht der Neuropsychologie
Uebung 01 ANN mit MATLAB.
Uebung 04 Discriminatoren t(x,y,z) = (x=y)?x;z d(x,y,z) = (x=y)?z;x xyz t d
Uebung 03 Perceptron Training INPUTINPUT b OUTPUTOUTPUT w1w1 w2w2.
zur Vorlesung Neuronale Netzwerke
PowerPoint-Folien zur 8. Vorlesung „Bionik II / Biosensorik“
PowerPoint-Folien zur 6. Vorlesung „Bionik II / Biosensorik“
Neuronale Netze Romy Kuttner, Franco Haberland.
Wismar Business School
Kennlinie Lichtregelung in JavaNNS Version 1.1
2. Biologische Neuronen Schematischer Aufbau einer Nervenzelle
Neuronale Netzwerke am Beispiel eines MLP
Kontrollfragen zu Kapitel 1
Neuronale Netze (Mitchell Kap. 4)
Neuronale Netze 2 (Mitchell Kap. 4)
Die Dendriten: Sie nehmen von den Synapsen vorhergeschalteter Nerven- oder Sinneszellen Reize auf und leiten die Information durch elektrische Impulse.
Effiziente Algorithmen
Neuronale Netze Teil II.
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Adaptive Systeme Prof. Rüdiger Brause WS 2013.
Adaptive Systeme-2 Grundlagen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Neuronale Netze.
Neuronale Netze (1) Isabel Schwende
Praktische Optimierung

SOTA Andrej Gisbrecht
Schnittpunkt von zwei Geraden
Vom graphischen Differenzieren
Vom Neuron bis zur Boltzmann Maschine Miguel Domingo & Marco Block Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Using Reflexive Behaviors of the Medicinal Leech to Study Information Processing William B. Kristan Jr., Sawn R. Lockery und John E. Lewis.
Bewege den Mauszeiger über die Zahlen der Abbildung um Erläuterungen zu den Teilen des Neurons zu erhalten.
Univ.-Prof. Dr.-Ing. H. Nacken Vorlesung Wasserwirtschaftliche Modellierung Themen: Vorlesung 8 Neuronale Netze (ANN) Trainingsformen von Neuronalen Netzen.
Organisation Referate Materialien Dritter Termin Workshop 27.Oktober 2010 Projektseminar WS 09/10 Konnektionistische Sprachverarbeitung 1.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Prognose von Zeitreihen Hans Nübel Hans Nübel Prognose von Zeitreihen Aufbau 1.Motivation 2.Holt-Winters-Verfahren 3.Prognose.
Emanuel Mistretta Lukas Schönbächler
Simple Recurrent Networks
Deep Learning Simon Fankhauser, Donato Villani - AAI HS 17.
Neuronale Netze und Parallelrechner
 Präsentation transkript:

Why connectionism? Backpropagation Netzwerke 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.

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.

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.

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

Aufbau einer Nervenzelle

Aufbau einer Nervenzelle Zellkörper mit Zellkern

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

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

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

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

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

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

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

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

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

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

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

Gewichtung von Neuronen Neuron 1 Gewichtung Neuron 2

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

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

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

Gewichtung von Neuronen

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

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

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

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

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 0 + 0 x 0 = 0 1 1 0 0 1 1 0 1 1 0

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 1 + 0 x 1 = 0 1 1 0 0 1 1 0 1 1 0

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 0 + 0 x 1 ≠ 1 0 x 1 + 0 x 0 ≠ 1 1 1 0 0 1 1 0 1 1 0

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 1 + 1 x 0 = 1 1 1 1 0 0 1 1 0 1 1 0

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 0 + 1 x 0 = 0 1 x 0 + 1 x 1 = 1 1 x 1 + 1 x 0 = 1 Falsch: 1 x 1 + 1 x 1 ≠ 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0

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.

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

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

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

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

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

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)

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…

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

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.

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

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.

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.

Der Backpropagation-Prozess

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!

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!

Ende