Proseminar Neuronale Netze Frühjahr 2004

Werbung
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 PN wird zufällig gewählt.
Falls xP und wtx>0 gehe zu Testen
Falls xP und wtx≤0 gehe zu Addieren
Falls xN und wtx<0 gehe zu Testen
Falls xN und wtx≥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 xP und wtx≤0, dann die Fehler  ist
 = - wtx.
Neuen Gewichtsvektor: wt+1=wt +(+)x, für >0 (bzw. wt+1=wt +(-)x für xN und wtx≥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
Herunterladen