280 likes | 419 Views
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. Definition KNN.
E N D
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
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
Vorbild aus der Biologie Biologisches Neuron Künstliches Neuron
Ziel: Output = gewünschte Ausgabe Simple Perceptron ε1 w1 ε2 w2 w3 ε3 w4 ε4 O = Output Knoten g() = Aktivierungsfunktion wy = Gewicht Input y εk = k-ter Input
Simple Perceptrons Schwellwerteinheiten - Threshhold – Units -
Schwellwerteinheiten (Threshhold – Units) • Mit: • und:
w 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
1 1 Schwellwerteinheiten(Threshhold Units) - OR-Funktion • Ist die OR-Funktion durch ein einfaches Perzeptron darstellbar? • Lineare Separierbarkeit 0,5 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
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 goTo TEST 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 Schwellwert 0.5 !!! 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 goTo TEST
w w Schwellwerteinheiten(Threshhold-Units) - Beispiel w e e 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 goTo TEST
w w w w Schwellwerteinheiten (Threshhold-Units) - Beispiel e Schwellwert 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 goTo TEST w
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 δ
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
Simple Perceptrons Lineare Einheiten - linear Units -
Linear Units • g ist eine lineare, kontinuierliche und differenzierbare Funktion • Ansonsten bleibt alles gleich ;-)
Linear Units - Explizite Lösung • Errechnen der exakten Werte; keine sukzessive Verbesserung Nur bei linear unabhängigen !!!
Linear Units - Lernen mit absteigenden Gradienten • Definiere eine Kostenfunktion • Im Minimum der Kostenfunktion ist die Ausgabe = gewünschte Ausgabe suche nach Min
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 …