Thema: Perzeptron Julia Grebneva: [email protected] Proseminar Neuronale Netze Frühjahr 2004 Titel: Perzeptron Autor: Julia Grebneva, [email protected] Einleitung In vielen Gebieten der Wirtschaft und Forschung, stellen sich oftmals Probleme, die das Analysieren von größeren Datenmengen fordern. Dabei gilt es sowohl noch unbekannte Strukturen zu finden, als auch diese zu klassifizieren. In vielen Fällen fehlt hier ein wissenschaftlicher Ansatz der erlaubt diese Probleme effizient zu lösen. Hier liegt ein Hauptanwendungsgebiet der Neuronalen Netze. Der Begriff „Neuronale Netze“ beinhaltet dabei eine Vielzahl von verschiedenen Architekturen: Perzeptron, Self-Organizing Map (auch Kohonen Netze), ART-Netze, Hopfield Netz und etc. Das einfachste Konzept neuronaler Netze ist das einstufige Perzeptron. Die Zeit der neuronalen Netze hat mit dem Entwurf des Neuronmodell von McCullochPitts begonnen. Die grundlegende Idee für das Neuronenmodell war die Arbeitsweise von menschlichem Neuronen nachzubilden, und somit die Fähigkeiten des Menschen bei der Informationsverarbeitung nachzubilden. Das Problem dieses Modells ist, das ihm samtliche Lernfähigkeit fehlt. Dies haben Rosenblatt und Wigthman im Rahmen der Perzeptron Theorie versucht zu meistern. Im Folgenden betrachten wir ausschliesslich das Perzeptron und seinen Lernalgorithmus. Kapitel I präsentiert das McCulloch-Pitts Neuron, seine Eigenschaften und darstellbaren Funktionen. In Kapitel II werden zuerst die Definition und die Eigenschaften des Perzeptrons besprochen. Es folgt eine Betrachtung der Linearen Separierbarkeit und des Trainingsalgorithmus des Perzeptrons. Zuletzt wird Perzeptron-Konvergenz-Theorem vorgestellt. 1 Thema: Perzeptron Julia Grebneva: [email protected] I. McCulloch-Pitts Neuron Die Leistung des Gehirns entspricht einer Prozessorleistung von 1010 parallel arbeitenden Prozessoren mit einer Taktfrequenz von ca. 1 kHz. In den Bereichen Objekte - und Sprach Erkennung; Lernen, Assoziieren und Generalisieren gibt es kein anderes System, das annähernd vergleichbar effizient ist . Der einfachste Baustein des Gehirns ist das Neuron. Um 1943 wurde von W.McCulloch und W.Pitts das erste Neuronmodell erfunden und erstellt. Als Vorbild haben sie die vereinfachten menschlichen Nervenzellen genommen. Die Idee war, die Arbeitsweise des Gehirns auf Maschinen zu übertragen. Aber was macht ein Neuron aus? Nerven Zellen (Neuronen) bestehen aus Dendriten (Eingänge), Soma (Zellkörper) und Axone (Ausgänge). Abbildung 1. Menschliche Neuron Menschliche Neuron funktioniert in folgender Weise: Durch Eingänge, Dendriten genannt, kommen Signale in den Zellkörper. Jeder Neuron kann beliebig viel Eingänge haben (in durchschnitt rund 1000), hat aber nur ein einziges Ausgang. Im Zellkörper werden alle angekommenen Signale aufsummiert. Das Ergebnissignal wird vom Zellkörper, zu der entsprechenden Nervenzelle, durch Axon weitergeleitet. Synapsen dienen als Verbindung zwischen Axon einer Zelle und Dendrit nachfolgende Neuron. Diese Verbindung wird aktiv nur bei ausreichender Aktionpotenzialgröße. Das Ergebnissignal nach einer Synapse kann zu mehrere Neuronen übergeben werden. Die überwiegende Mehrheit von Synapsen hat chemische Natur, aber es gibt auch elektrische Synapsen. Chemischen Synapsen haben Vorteil zu elektrische, dass sie Signal verstärken können. Das Neuron von McCulloch-Pitts ist ein binäres Schaltelement (siehe Abb.2), welches entweder eingeschaltet oder ausgeschaltet ist. Es hat einen festen Schwellwert und alle Gewichte sind auf eins gesetzt. Um eine bestimmtere Eingabe mehrmals in Funktion zu haben, muss man in diesen Neuron entsprechend oft diesen Eingang konstruieren. Bei Überschreitung des Schwellwertes wird das Neuron aktiv. 2 Thema: Perzeptron Julia Grebneva: [email protected] Abbildung 2. McCulloch-Pitts Neuron (links), Neuron für AND-Funktion (rechts) Das Neuron ist in der Lage beliebige arithmetische und einfachere logische Funktionen zu berechnen. Beispiel: die logische AND-Funktion gibt „1“ aus, wenn beide Eingänge mit „1“ belegt werden und „o“ sonst. Um diese Funktion mit Neuron zu realisieren braucht man zwei Eingänge, die den binäres Wert annehmen, und Schwellenwert 2. XOR-Funktion ist nicht mit einem Neuron darstellbar, dass aber später erklärt wird. II. Perzeptron In den Jahren 1957-1958 haben F.Rosenblatt und C.Wigthman den ersten Perzeptron vorgestellt. Genau gesehen war das, die ganze Familie von Modellen, die alle Perzeptron genannt wurden. Das Perzeptron das wir heutzutage kennen, bezieht sich genau auf diesen Modell von Rosenblatt-Wigthman. Das einstufige Perzeptron besteht aus zwei Schichten. Die erste Schicht ist die Eingabeschicht (Netzhaut), welche aus McCulloch-Pitts Neuronen besteht. Von der ersten Schicht gibt es gewichtete Verbindungen zum nächsten Neuron (Ausgabeneuron). Das ist der prinzipielle Unterschied zu einfacheren Neuron. Man hat die Möglichkeit die Eingaben, die n-mal vorkommen anhand der Gewichtung darstellen. Durch Änderung der Gewichte und Schwellenwerte kann das Perzeptron lernen. Die eingehenden Signale gehen erste durch die erste Schicht, wo sie vorgefiltert werden. Im Ausgabeneuron werden vorsortierte gewichtete Signale aufsummiert. Wenn die Summe den Schwellenwert überschreitet, feuert das Perzeptron. Abhängig von der Anzahl gewichteten Schichten werden Perzeptrone ein-, zwei-, dreistufig etc. genannt. Perzeptron Eigenschaften: Eingaben, Gewichte Schwellenwert Ausgabe Aktivierungs Funktion reelle Werte, reelle Zahl, „1“, falls Schwellenwert überschritten wird und „0“ ( bzw. „-1“ für bipolar) sonst, Treppenfunktion auf Eingaben. 3 Perzeptron Abbildung 3. Struktur des Perzeptrons Thema: Julia Grebneva: [email protected] Für aufsummierte „n“ Eingaben gilt: Net = input i weight i; für i [1, n] Net aufsummierte Eingabe, input Ausgabe der Vorgängerzelle, weight Gewicht bzw. Stärke der Verbindung. Treppenfunktion Für Ausgabe gilt: Output= „1“, falls Net Schwellenwert, „0“ sonst (bzw. –1). II a. Lineare Separierbarkeit Eine Eigenschaft von einem Perzeptron ist lineare Separierbarkeit. Das einstufige Perzeptron hat nur eine Schicht von Gewichten. Die Funktion des Perzeptron kann man wie folgt darstellen. Für w1,w2 – Gewichte, x2, x1 – Eingänge und t – Schwellenwert gilt. w1x1+w2x2 = t, x1=t/w1 – x2w2/w1, für a=t/w1 und b=w2/w1 gilt, x1 = a – b x2; Und das ist eine lineare Gleichung. Passende Belegung zu finden ist die Aufgabe für Perzeptron Lernalgorithmus. Die Voraussetzung: die untersuchten Mengen, sollten mit einer Gerade trennbar sein. Die Funktionen, die man mit Perzeptron darstellen kann, sind einfachere boolische Funktionen und arithmetische Funktionen. (z.B. siehe Abb.4) Abbildung 4. Grafische Darstellung AND- und OR-Funktion 4 Perzeptron Julia Grebneva: [email protected] Die lineare Separierbarkeit Bedingung ist in XOR-Funktion nicht erfüllt. Es ist unmöglich XORLösungsmenge mit einer Gerade zu trennen (siehe Abb. 5). Thema: Abbildung 5. XOR-Funktion (links) und Lösung des XOR-Problem’s (rechts) M.Minsky und S.Papert haben in 1969 mathematische bewiesen, dass XOR-Funktion nicht mit einstufigen Perzeptron präsentierbar ist. Mit der zweite Stufe von Gewichten wird es möglich XOR-Funktion zu realisieren, da mit nächster Stufe von Gewichten man noch eine Gerade bekommt. Allgemein gilt: Ein einstufiges Perzeptron kann nur die Probleme behandeln, die durch eine Hyperfläche trennbar sind. Diese Lineare Eigenschaft des Perzeptrons verringert die Bereiche der praktischen Anwendung, da laut der theoretischen Untersuchung von R.O.Widner (1960), die Anzahl der linearen separierbaren Funktionen, unter allen möglichen binären Funktionen, mit wachsenden Anzahl die Variablen sehr schnell abnimmt . Die Anwendung des einstufigen Perzeptron kann man somit auf ‘Gerade‘ trennbare Mengen begrenzen. Ein zweistufiges Perzeptron ist in der Lage konvexe Polygone zu berechnen. Noch komplexere Formen können nur noch mit multilayer Perzeptronen dargestellt werden. II b. Trainieren von Perzeptron Die rechen aufwendige Phase des Perzeptron ist die Lernzeit. Aber die muß nur einmal durchgeführt werden, und danach erfolgt die praktische Anwendung des Perzeptron. Zum Training neuronaler Netze werden folgende Ansätze angewendet: 1)„Supervised Learning“ Das neuronale Netz bekommt Eingaben, bearbeitet diese und liefert ein Ergebnis. Der supervisor korrigiert und gibt zudem auch noch die Musterlösung. Anhand der Musterlösung ändert das neuronale Netz selbständig die entsprechenden Gewichte. Die Voraussetzung für diese Technik ist die Existenz von Eingabe und Musterausgabe Paare. Die Hebbsche Regel, Delta Regel und Backpropagation sind klassische Beispiele für Supervised Lerning. 2)“Unsupervised Learning“ Wie der Name schon sagt, handelt es sich bei dieser Methode um unüberwachtes Lernen. Das neuronale Netz hat Eingaben die es ohne Einfluss von außen selbständig klassifiziert. Lernalgorithmus Die Basis für die Delta-Regel ist die Lernverfahren von Minsky und Papert, deswegen macht es Sinn als erste diese Regel kennen zu lernen. 5 Perzeptron Julia Grebneva: [email protected] Die Aufgabe: es wird ein Gewichtsvektor w gesucht, der zwei endliche Punktmengen P und N in einem n-dimensionalen Raum trennen kann, wobei P im offenen positiven und N im offenen negativen Halbraum liegen soll. Thema: Perzeptron-Lernalgorithmus : Start Testen Addieren Subtrahieren Der Gewichtsvektor w0 wird zufällig generiert. Setze t:=0. Ein Punkt x in PN wird zufällig gewählt. Falls xP und wtx>0 gehe zu Testen Falls xP und wtx≤0 gehe zu Addieren Falls xN und wtx<0 gehe zu Testen Falls xN und wtx≥0 gehe zu Subtrahieren Setze wt+1 = wt + x Setzte t:=t+1. Gehe zu Testen. Setze wt+1 = wt – x. Setze t:= t+1. Gehe zu Testen. Wie man aus dem Algorithmus ablesen kann, wird der Gewichtsvektor jedes Mal geändert, wenn testende Punkte zur falschen Menge zugeordnet wurden. Das Programm soll anhalten, wenn alle Punkte richtig eingeteilt (klassifiziert) wurden. Im worst case ist die Komplexität von diesem Programm exponentiell , und damit nicht für größere Eingaben geeignet. Delta-Regel Die Eingabevektoren werden normiert. Wenn eine Eingabe falsch klassifiziert wird, statt nur den Wert Eingabenvektor zu addieren (bzw. subtrahieren), addieret man das Produkt die Fehler mit eine kleine positive Zahl mal Eingabevektor zu neuen Gewichtsvektor. Von oberen Beispiel: falls xP und wtx≤0, dann die Fehler ist = - wtx. Neuen Gewichtsvektor: wt+1=wt +(+)x, für >0 (bzw. wt+1=wt +(-)x für xN und wtx≥0). Durch dieses Delta Wert wird Eingabe x zu Richtige Menge zugeteilt, weil wt+1x=(wt+(+)x)x, =wtx+(+)∥x∥2, (wobei ∥x∥2 =1) =-++, Somit ist wt+1x=>0 Den Wert >0 garantiert, dass der neue Gewichtsvektor in positiven Bereich liegt. Die Verbesserung bei der Delta Regel ist die Weise, wie der Gewichtsvektor geändert wird. 6 Thema: Perzeptron Julia Grebneva: [email protected] II c. Perzeptron – Konvergenz - Theorem Man kann der Perzeptron mit Hilfe zweier Begriffe charakterisieren: REPRÄSENTIERBARKEIT UND LERNFÄHIGKEIT. Die Möglichkeit eine vorgegebene Funktion anhand eines neuronales Netzes zu realisieren nennt man Repräsentierbarkeit. Sie ist von der Topologie des Netzes, die Aktivierungs- und die Ausgabefunktion abhängig. Lernfähigkeit ist die Fähigkeit einem neuronalen Netz eine repräsentierbare Funktion lernen zu lassen (d.h. passende Gewichte und Schwellenwerte zu finden). Diese ist direkt vom Lernalgorithmus abhängig. Auf diesen zwei Thermen basiert das Perzeptron-Konvergenz-Theorem, dies besagt folgendes: „Der Lernalgorithmus des Perzeptron konvergiert in endlicher Zeit, d.h. das Perzeptron kann in endlicher Zeit alles lernen, was es repräsentieren kann.[Rosenblatt]“ Dieses Satz garantiert, dass in früher präsentierten Lernalgoritnmen der Vektor w höchstens eine endliche Anzahl von Korrekturen erfährt, wenn die Mengen P und N linear trennbar sind. Das bedeutet wenn eine Funktion die notwendige Bedingung erfüllt um mit einem Perzeptron Repräsentierbar zu sein, dann existiert auch mindestens ein passender konvergenter Lernalgorithmus für das Perzeptron. III. Weitere Entwicklung Nach die Arbeit „Perceptrons“(1969) veröffentlicht wurde, ist im Gebiet neuronale Netze viele Forschungsprojekte geschlossen worden. Die Autoren M.Minsky und S.Papert haben eine mathematische Analyse des Perzeptrons durchgeführt und bewiesen, dass viele essentielle Probleme existieren, die nicht mit einem Perzeptron lösbar sind. Auf dieser Basis haben sie behauptet, dass das Perzeptron ein „research dead-end“ ist. Dem zu Folge wurden die Fördermittel (Gelder) für die nächsten 15 Jahre eingestellt und somit die Forschung größten Teil beendet. Zusammenfassung Das einstufige Perzeptron besteht aus McCulloch-Pitts Neuronen, als Eingabeschicht und Ausgabeneuron. Es existiert eine gewichtete Verbindungsschicht zwischen beiden, die ist verantwortlich für Lernfähigkeiten des Perzeptron. Das einstufige Perzeptron ist in der Lage einfachere logische (nicht XOR) und beliebige arithmetische Funktionen zu lösen. Für XOR und anderen Funktionen braucht man mächtigere Perzeptronen mit zwei und mehr Verarbeitungsschichten. Die Eigenschaften vom Perzeptron sind Repräsentierbarkeit und Lernfähigkeit. Die erste ist von Topologie, Aktivirungs- und Ausgabefunktion abhängig. Die Lernfähigkeit hängt vom Lernverfahren ab. Die notwendige Bedingung für eine Repräsentierbarkeit ist die lineare Trennbarkeit. Nur die Menge, die linear separierbar ist, kann mit einem Perzeptron realisiert werden. Die wichtigsten Lernmethoden sind Überwachtes Lernen: Hebbsche Regel, Delta Regel; und Unüberwachtes Lernen. Perzeptron-Konvergenz-Theorem besagt, dass jede darstellbare Funktion, mit einem Perzeptron, in endliche Zeit gelernt werden kann. 7 Thema: Perzeptron Julia Grebneva: [email protected] Literatur [1] R. Callan. The essence of Neural Networks. Prentice Hall, 1999. Kap 2.2 Fundamental ideas, pp. 21- 26 (ab25) [2] J.Faulkner. Einführung in Neuronale Netze, Proseminar TI im SS 2001an der Universität Tübingen, Im Fach Informatik (http://www-ti.informatik.unituebingen.de/~schroedm/proseminar/PDFs/KNN_uebersicht.pdf; Download: März 11.2004) [3] N.Fraser. Neural Network Follies, Sep. 1998 (http://neil.fraser.name/writing/tank; Download: März 15.2004) [4] Interaktive „Einführung in Neuronale Netze“, (http://wwwmath.uni-muenster.de/SoftComputing/lehre/material/wwwnnscript; Download: März 10.2004) [5] B.Marti. Künstliche Neuronale Netze, Informatikseminar an der Hochschule Rapperswil, 24.01.2000 (http://informatik.hsr.ch/Content/Gruppen/Stud/Faecherkatalog/Infosem/Vortraege/WS0001/Resultat e%5CKNN_Skript.pdf; Download: März 10.2004) [6] R.Rojas. Theorie der neuronalen Netze. Springer, 1993. Kap. 4.3 Perzeptron - Lernen, pp.83-90 [7] U. Schöning. Boolesche Funktionen, Logik, Grammatiken und Automaten (Theoretische Informatik II) -Vorlesungsskript- , 2003. Teil 1.7 Perzeptrone, pp.19-27 [8] A.Zell. Simulation Neuronaler Netze. Addison-Wesley 1996. Kap. 7 Perzeptron, pp. 97-103 8