Perceptrons and the perceptron learning rule

Slides:



Advertisements
Ähnliche Präsentationen
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Advertisements

Christian Scheideler SS 2009
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Polynomial Root Isolation
Christian Schindelhauer
Thema: Algorithmusdesignverfahren Vu Hoang Lam IMN04 HTWK-Leipzig Obersemminar Softwareentwicklung.
Das LCA – Problem in Suffixbäumen
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Wie lösen wir ILPs exakt?
Marvin Minsky und das Perceptron
Konkurrentes Lernen AS-1
Einführung Übersicht Einsatz der Zielwertsuche Einsatz des Solvers
Klicke Dich mit der linken Maustaste durch das Übungsprogramm! Ein Übungsprogramm der IGS - Hamm/Sieg © IGS-Hamm/Sieg 2007 Dietmar Schumacher Zeichnerische.
Algorithmentheorie 04 –Hashing
Dynamische Programmierung (2) Matrixkettenprodukt
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Entscheidungsunterstützungssysteme IWI Frankfurt 2003
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Programmierung eingebetteter.
Biologisches Vorbild Grundlagen
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.
Neuronale Netze Romy Kuttner, Franco Haberland.
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
Neuronale Netzwerke am Beispiel eines MLP
Neuronale Netze (Mitchell Kap. 4)
Neuronale Netze 2 (Mitchell Kap. 4)
Maschinelles Lernen und automatische Textklassifikation
Neuronale Netze Teil II.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Optimierungs- Algorithmen
Why connectionism? Backpropagation Netzwerke
Effiziente Algorithmen
Adaptive Systeme-2 Grundlagen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Polynome und schnelle Fourier-Transformation
Neuronale Netze Nachtrag Perzeptron
Neuronale Netze (1) Isabel Schwende
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Christian Mansky Design - Fallstudien Christian Mansky
ENDLICHE KÖRPER RSA – VERFAHREN.
Vom Neuron bis zur Boltzmann Maschine Miguel Domingo & Marco Block Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Projektgruppe KIMAS NN in MAS
Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2.
Der A*-Algorithmus.
 Präsentation transkript:

Perceptrons and the perceptron learning rule Artificial Neurons Perceptrons and the perceptron learning rule Sebastian Frühling – 29.04.2004

Themen: Definition KNN Vorbild aus der Biologie Simple Perceptrons Training eines Perzeptrons Schwellwerteinheiten Beispiel „ODER-Perzeptron“ Lineare Einheiten Simple Perceptrons sind eine Art der Neuronalen Netze -> deshalb werden wir uns die Definition mal kurz ansehen Wie sieht so ein Simple Perzeptron aus Woher kommt das Perzeptron

Definition KNN „[…] a System composed of many simple processing elements operating in parallel whose function is determined by network structure, connecting strengths, and the processing performed at computing elements or nodes “ DARPA Neural Network study, Fairfax, VA: AFCEA International Press 1988 Ein Neuronales Netz ist ein Graph mit Knoten und Kanten, an den ich einen Input anlege und dieser Input zu einem Output führt. Man unterscheidet: - Feed-ForewardNetworks (auch Perzeptrons) - jeder Knoten ist nur mit Knoten aus der nächsten Ebene verbunden, es gibt keine Verbindungen in die vorherige, oder übernächste Ebene es gibt keine Verbindungen innerhalb einer Ebene - ein-Ebenen und Mehrebenen (hier ein 4 Ebenen Netzwerk, 3 versteckte Ebenen) - Rekurente Netzwerke

Vorbild aus der Biologie Biologisches Neuron Künstliches Neuron Das menschliche Gehirn ist auch in weiten Teilen ein FeedForeward Netzwerk 10 – 100 Milliarden Neuronen Im Schnitt ist ein Neuron über die Dentriden mit Synapsen von 14.000 anderen Neruonen verbunden Bei 14.000 Ein und Ausgängen ergibt das mind. 100 Bil Verbindungen Max. kann ein Neuron ca. 200.000 Ein- und ebenso viele Ausgangsverbindungen besitzen KNN imitieren die Organisations- und Verarbeitungsprinzipien des menschlichen Gehirns. Menschliches Gehirn ca. 10 000x langsamer als Computer – man merkt davon aber nix, weil massiv parallel Verarbeitungsschritte mit wenigen Operationen

Simple Perceptron ε1 Ziel: ε2 Output = gewünschte Ausgabe ε3 ε4 O = Output Knoten g() = Aktivierungsfunktion wy = Gewicht Input y εk = k-ter Input Keine versteckten Ebenen Ist unter den KNN als einschichtiges „layered FeedForeward Network“ klassifiziert Lineare Einheiten: g(h) = h Nichtlineare Einheiten: z.B. g(h) = sgn(h)

Training eines Perceptrons Hier lernen mit Lehrer im Gegensatz zu lernen ohne Lehrer wird dem Perceptron gesagt welche Lösung man gerne hätte. Beim Lernen ohne Lehrer muß das Perceptron selbstständig klassifizeirungen der Inputs vornehmen… Lineare Separierbarkeit erwähnen!!! Perceptron ist ein spezielles KNN… Lernaparatur… Das Perceptron ist nur für linear Seperierbare Probleme Anwendbar, darunter fallen einfache dinge, wie Logisches OR, AND, aber auf sehr komplexe Dinge wie das erkennen von Gegenständen (hier Buchstaben) – und das Sogar Translationsinvariant. Andere relativ einfache Probleme wie z.B. das logische XOR sind NICHT durch ein einfaches Perceptron lösbar.

Schwellwerteinheiten Simple Perceptrons Schwellwerteinheiten - Threshhold – Units -

Schwellwerteinheiten (Threshhold – Units) Mit: und: SchwellwertFunktion: übersteigt der Schwellwert einen bestimmten wert (Threshhold) dann +1 sonst -1; Beachte: Man kann sgn(h-Theta) auch als sgn(h) auffassen wobei man für h um eine Dimension erhöht, und das Gewicht dieser Dimension gleich |Theta| setzt und das Input-Signal auf -1. Wichtig für später!!! (Ich kann mr mit sgn(h-Theta) eine Dimension sparen ;-) Ausgabe des Pereptrons: -1 bzw. 1 Sum(ai.bi) = a.b a.b = Projektion a auf b G(h) = sign(h) = +1 für h > Thresh -1 sonst

Schwellwerteinheiten (Threshhold Units) (2) Die Projektion des Gewichtsvektors auf den Input-Vektor soll das gleiche Vorzeichen haben, wie die gewünschte Ausgabe Die grenze zwischen +1 und -1 ist also genau die Ebene (Gerade oder Hyperebene wo wε = 0) Die Ebene geht durch den Ursprung, falls kein Schwellwert gegeben Die grenze zwischen +1 und -1 ist also genau die Ebene (Gerade oder Hyperebene wo wξμ = 0) Die Ebene geht durch den Ursprung, falls kein Schwellwert gegeben Die gerade heißt auch „LINEAR SEPERIERBAR“ -> Alle perceptrons können nur linear Seperierbare Probleme lösen

Schwellwerteinheiten (Threshhold Units) - OR-Funktion Ist die OR-Funktion durch ein einfaches Perzeptron darstellbar? Lineare Separierbarkeit 1 x1 x2 x1 || x2 -1 1 0,5 Schönes 2-3 Dimensionales Beispiel… Gut zu Zeichnen Rechnung analytisch… : 0,5

Schwellwerteinheiten (Threshhold-Units) - Lösung 2 Möglichkeiten: Lösung ausrechnen und fertig Lösung „lernen“ lassen Lernen = suk. Anpassung der Gewichte

Schwellwerteinheiten (Threshhold Units) - Beispiel ε1 w1 g(h) = sgn(h) ε1 || ε2 ε2 w2 Schwellwert: Θ = 0,5 Initial Gewichte: w1 = 0,5 w2 = 0,7 Wir müssen uns auf einen Schwellwert festlegen: 0.5

Ein einfacher Lernalgorithmus START: Choose any Value for w TEST: Choose an e in F- || F+ If (e in F+) && (w.e – S > 0) goTo TEST If (e in F+) && (w.e - S<= 0) goTo ADD If (e in F-) && (w.e - S < 0) goTo TEST If (e in F-) && (w.e - S>=0) goTo SUB ADD: w := w + e goTo TEST SUB: w := w – e 1 w 1 Unter der Bedingung, dass es eine Lösung gibt (linear Separierbare Probleme) findet das Perzeptron sie (effizient) in einer endlichen Anzahl von Schritten

Schwellwerteinheiten (Threshhold-Units) - Beispiel START: Choose any Value for w TEST: Choose an e in F- || F+ If (e in F+) && (w.e – S > 0) goTo TEST If (e in F+) && (w.e - S <= 0) goTo ADD If (e in F-) && (w.e – S < 0) goTo TEST If (e in F-) && (w.e – S >=0) goTo SUB ADD: w := w + e goTo TEST SUB: w := w – e x1 x2 w1 w2 Σ G(Σ) Δ 0,5 0,7 -1 1 1,5 0,7 -1 1 2,2

Schwellwerteinheiten (Threshhold-Units) - Beispiel TEST: Choose an e in F- || F+ If (e in F+) && (w.e – S > 0) goTo TEST If (e in F+) && (w.e - S <= 0) goTo ADD If (e in F-) && (w.e – S < 0) goTo TEST If (e in F-) && (w.e – S >=0) goTo SUB ADD: w := w + e goTo TEST SUB: w := w – e Die Verschiebung, die normalerweise da wäre, wenn wir das ganze nicht auf 2 Dimensionen vereinfacht vereinfacht hätten…

Schwellwerteinheiten (Threshhold-Units) - Beispiel TEST: Choose an e in F- || F+ If (e in F+) && (w.e – S > 0) goTo TEST If (e in F+) && (w.e - S <= 0) goTo ADD If (e in F-) && (w.e – S < 0) goTo TEST If (e in F-) && (w.e – S >=0) goTo SUB ADD: w := w + e goTo TEST SUB: w := w – e w Das Gewicht wird bei jeder Gewichtsänderung näher an das jeweilige Pattern gebracht

Beweis über Konvergenz Zu zeigen: Falls eine Lösung existiert, so findet sie der Lernalgorithmus in endlicher Zeit Ziel: finde obere Schranke für n (n Anzahl updates) Vorbedingungen: W* ist der Optimal-Gewichtsvektor der Länge 1 W ist unser zufällig gewählter Gewichtsvektor Alle Pattern-Vektoren sind normiert Es gilt: w* 1 Wir nehmen an, es gibt einen optimalVektor w*. Und wir versuchen zu zeigen, dass man den Winkel zwischen wopt und w beliebig klein machen kann. (-> eine Lösung finden…). δ

Beweis über Konvergenz Betrachte Zähler und Nenner getrennt: Zähler: Nach n-maliger Anwendung:

Beweis über Konvergenz (2) Nenner: Nach n-maliger Anwendung:

Beweis über Konvergenz (3) Mit Damit ist gezeigt, daß eine obere Schranke für die Updates des Gewichtsvektors mit endlicher Anzahl von Schritten gefunden wird.

Diskriminante D Es gibt eine Möglichkeit die Lösbarkeit von Problemen zu prognostizieren: D < 0  nicht mit einfachen Perzeptron lösbar D > 0  lösbar max(D)  optimales Perzeptron AND Problem: D= 1/sqrt(17) XOR Problem: D= -1/sqrt(3) Einfach gesagt schränkt das den Bereich ein, wo der Lösungsvektor liegen darf (Kegel auf… ents. Cos)

Simple Perceptrons Lineare Einheiten - linear Units -

Linear Units g ist eine lineare, kontinuierliche und differenzierbare Funktion Ansonsten bleibt alles gleich ;-) Der Vorteil dieser Netze ist, dass eine Kostenfunktion E[w] bestimmt werden kann, die die SystemPerformanz bestimmt. Der Fehler kann somit über Optimierungsfunktionen (wie absteigender Gradient) minimiert werden.

Linear Units - Explizite Lösung Errechnen der exakten Werte; keine sukzessive Verbesserung Nur bei linear unabhängigen !!! Q ist Matrix nxn mit dem Produkt über alle Inputs… Nur anwendbar falls e1 und e2 linear unabhängig ;-(

Linear Units - Lernen mit absteigenden Gradienten Definiere eine Kostenfunktion Im Minimum der Kostenfunktion ist die Ausgabe = gewünschte Ausgabe  suche nach Min E ist normalerweise Positiv und wird null, wenn eine befriedignede Lsg gefunden ist

Linear Units – Lernen mit absteigenden Gradienten (2) Ein kleiner Schritt in Richtung des Minimums: Wenn man das für jede Eingabe extra macht:

Zusammenfassung Simple Perceptrons können viele, sehr komplexe Probleme effizient lösen. D.h. aber NICHT, dass sie deshalb auch alle einfachen Probleme lösen können. Wenn es eine Lösung gibt (das Problem ist linear Separierbar), dann findet der Lernalgorithmus des Perceptrons sie mit endlicher Anzahl von Schritten.

Simple Perceptrons Danke …