SlideShare ist ein Scribd-Unternehmen logo
1 von 91
Downloaden Sie, um offline zu lesen
Leiter des Instituts: Prof. Dr.-Ing. D. Schmid
Lernen in pulscodierten Neuronalen
Netzen
Diplomarbeit
von
Wolfgang Weiss
(wweiss40@hotmail.com)
August 2003
Ausgeführt unter der Leitung von
Dr. Fridtjof Feldbusch
Institut für Rechnerentwurf
und Fehlertoleranz
Universität Karlsruhe
Prof. Dr. Detlef Schmid
Institut für Rechnerentwurf
und Fehlertoleranz
Universität Karlsruhe
Vorwort
Der Titel dieser Diplomarbeit enthält das Wort Lernen. Für den Sprachgebrauch
wird dieses Wort im Duden [Dro89] deniert als: im Laufe der Zeit [durch Erfahrungen]
zu einer bestimmten inneren Haltung zu gelangen. Dies lautet etwas abgeschwächt:
im Laufe der Zeit [durch Erfahrungen] zu einem bestimmten Verhalten zu gelangen.
Dieses Wort wird darüberhinaus mit dem aktiven Streben eines Individuums nach
Wissen assoziiert, denn wiederum nach dem Duden bedeutet Lernen auch: sich
Wissen anzueignen.
Die Neuroinformatik ist daran interessiert die essentiellen Vorgänge, die beim
Lernen in natürlicher Organismen stattnden, in einem mathematischen Modell zu
erfassen. Das Ergebnis soll schlieÿlich am Rechner simuliert und so für die Technik
nutzbar gemacht werden. Einigkeit besteht unter Wissenschaftlern darüber, dass
bei den natürlichen Organismen so genannte Neuronen die Grundbausteine aller
Lernvorgänge sind. Das Wissen, das über diese biologischen Neuronen und deren
Vernetzung während des letzten Jahrhunderts zusammengetragen wurde, ist groÿ.
Dennoch ist die Suche nach dem mathematischen Modell und dessen Simulation
am Rechner nicht sehr fortgeschritten. Entweder sind die verwendeten Modelle so
genau, dass die Simulation eines aus vielen Neuronen bestehenden Netzwerks einen
zu groÿen Rechenaufwand hat. In diesem Fall kommen die simulierten Netzwer-
ke am Rechner allenfalls an die Leistung von biologischen Netzwerken in kleinsten
Lebewesen heran, wie etwa einer Meeresschnecke. Oder die Modelle sind zu ein-
fach, wodurch entscheidende Merkmale des Lernvorgangs verloren gehen und das
Netzwerk nur lernt Eingaben eines Datenraums auf Sollausgabewerte abzubilden.
Deshalb hat der Begri Lernen im Zusammenhang mit dieser Diplomarbeit und
dem Forschungsbereich Neuroinformatik keine solch weit reichende Bedeutung wie
der im Sprachgebrauch des täglichen Lebens verwendete Begri.
Trotz aller Honungen in die Neuroinformatik lässt der groÿe Durchbruch seit
einem halben Jahrhundert auf sich warten. Zwar wird das einfachste Modell von
Neuronen und deren Verknüpfung zu Netzwerken, den sogenannten sigmoiden Neu-
ronalen Netzen, erfolgreich für Datenanalyse und Zeitreihenprognose eingesetzt. Da-
hingegen hat sich dieses Modell für die Simulation der Vorgänge in biologischen Neu-
ronalen Netzen als zu abstrakt erwiesen. Deshalb liegt das Hauptaugenmerk dieser
Diplomarbeit auf den pulscodierten Neuronalen Netzen, die ein genaueres Modell der
Natur darstellen als die sigmoiden. Die Honung ist, dass dieses Modell ermöglicht
die Zeit als Gröÿe des Eingaberaums mit zu erfassen und dennoch einfach genug ist,
um damit groÿe Netzwerke simulieren zu können.
i
ii
Danksagung
Für eine exzellente Betreuung bei der Erstellung dieser Arbeit möchte ich mich bei
Herrn Dr. Feldbusch bedanken. Für das geduldige Korrekturlesen der Arbeit möchte
ich mich bei Daniela Mix bedanken. Weiter gilt mein Dank Wolfgang Globke, der
mir bei der Strukturierung des Matlab-Codes und darüberhinaus mit Korrekturlesen
half. Mein besonderer Dank gilt meinen Eltern, die mich während der gesamten
Studienzeit geduldig unterstützt haben.
Erklärung
Ich erkläre hiermit, diese Arbeit selbstständig verfasst und keine anderen als die
angegebenen Quellen und Hilfsmittel verwendet zu haben.
Karlsruhe, den 23. August 2003
Wolfgang Weiss
Inhaltsverzeichnis
Vorwort i
1 Einleitung 1
1.1 Motivation der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Einfache Modelle Neuronaler Netze 5
2.1 Einfache Beschreibung natürlicher Neuronen . . . . . . . . . . . . . . 6
2.2 Wahl des Neuronenmodells . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Modell ohne Pulscodierung . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Perzeptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Multilayer-Perceptron . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Modell mit Pulscodierung . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1 Spike-Response-Model . . . . . . . . . . . . . . . . . . . . . . 11
2.4.2 Perzeptron und Spike-Response-Model . . . . . . . . . . . . . 15
2.5 Implementiertes Modell . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1 Vereinfachungen am Spike-Response-Model . . . . . . . . . . 15
2.5.2 Diskussion der Vereinfachungen . . . . . . . . . . . . . . . . . 18
2.6 Codierung in Neuronalen Netzen . . . . . . . . . . . . . . . . . . . . 20
2.6.1 Ratencodierung . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6.2 Impuls-Zeit-Codierung . . . . . . . . . . . . . . . . . . . . . . 20
2.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Lernen 23
3.1 Hebbsches Lernen in pulscodierten Netzen . . . . . . . . . . . . . . . 23
3.1.1 Hebbsches Postulat für biologische Neuronen . . . . . . . . . 24
3.1.2 Impuls-Zeit-Basiertes Lernen . . . . . . . . . . . . . . . . . . 24
3.1.3 Implementierung im Simulator . . . . . . . . . . . . . . . . . 27
3.2 Diskussion Hebbsches Lernen . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Backpropagation-Algorithmus in sigmoiden Netzen . . . . . . . . . . 29
3.4 Back-Propagation in Pulscodierten Netzen . . . . . . . . . . . . . . . 31
3.5 Diskussion des Back-Propagation Algorithmus . . . . . . . . . . . . . 35
3.6 Einteilung der Lernalgorithmen . . . . . . . . . . . . . . . . . . . . . 36
3.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
iii
iv INHALTSVERZEICHNIS
4 Ein neuer Backprop-Lernalgorithmus 37
4.1 Lernmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Listen ShouldFire und ShouldNotFire . . . . . . . . . . . . . . . . . . 38
4.3 Anpassung der Verzögerungselemente . . . . . . . . . . . . . . . . . . 42
4.4 Anpassung der Gewichte . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 Zurückpropagieren der Feuerzeitpunkte . . . . . . . . . . . . . . . . . 45
4.6 Ablauf des Trainings . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.7 Diskussion PulsProp . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Testfälle 53
5.1 Learn to be fast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Der IRIS-Datensatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2.1 Versuchsaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2.2 Ergebnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3 Test backcoupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6 Optimierung der Parameter 71
6.1 Hill-Climbing-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 Bewertungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.3 Mutation der Parameter . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7 Resultat und Ausblick 75
A Bedienung des Simulators 77
A.1 Erzeugung der Testmuster . . . . . . . . . . . . . . . . . . . . . . . . 77
A.2 Erzeugung der Netzstruktur . . . . . . . . . . . . . . . . . . . . . . . 77
A.3 Start der Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
A.4 Parameter der Simulation . . . . . . . . . . . . . . . . . . . . . . . . 79
B Aufbau des Simulators 81
B.1 Wichtige Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . 81
B.2 Einbindung der Trainingsalgorithmen . . . . . . . . . . . . . . . . . . 81
Abbildungsverzeichnis
1.1 Der auditorische Pfad des Menschen . . . . . . . . . . . . . . . . . . 2
2.1 A. Zeichnung eines einzelnen Neurons B. Signalübertragung zwischen
Neuronen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Überlagerung der Impulse im Soma . . . . . . . . . . . . . . . . . . . 8
2.3 Mathematische Neuronenmodelle mit abnehmender Komplexität . . 9
2.4 Oft verwendete Spike-Response-Functions . . . . . . . . . . . . . . . 12
2.5 Potentialentwicklung bei 9 nacheinander eintreenden Impulsen . . . 13
2.6 Verlauf des Nachpotentials . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 Verschiedene Spike-Response-Functions . . . . . . . . . . . . . . . . . 16
2.8 Gewählte Spike-Response-Function . . . . . . . . . . . . . . . . . . . 17
2.9 Potentialentwicklung im implementierten Modell . . . . . . . . . . . 18
3.1 Hebbsches Lernen in biologischen Neuronen . . . . . . . . . . . . . . 25
3.2 Einuss der Parameter auf die Gewichtsänderung . . . . . . . . . . . 26
3.3 Implementiertes Lernfenster . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Aufbau eines vorwärtsgerichteten, dreischichtigen Netzes . . . . . . . 32
3.5 Zusammenhang des Membranpotentials mit dem Feuerzeitpunkt . . 34
4.1 Erster Schritt: Verzögerungselemente anpassen . . . . . . . . . . . . 39
4.2 Zweiter Schritt: Gewichte anpassen . . . . . . . . . . . . . . . . . . . 40
4.3 Dritter Schritt: Feuerzeitpunkte der Vorgängerneuronen festsetzen . . 40
4.4 Nach einem Trainingsdurchlauf . . . . . . . . . . . . . . . . . . . . . 41
5.1 Versuch learn to be fast von Gerstner . . . . . . . . . . . . . . . . . . 54
5.2 Aufbau des neuronalen Netzes für Test be fast . . . . . . . . . . . . . 54
5.3 Das Netz vor dem Training in Test be fast . . . . . . . . . . . . . . . 55
5.4 Das Netz nach 11 Lernschritten in Test be fast . . . . . . . . . . . . . 56
5.5 Das Netz nach 13 Lernschritten in Test be fast . . . . . . . . . . . . . 58
5.6 Entwicklung der Synapsen während des Trainings in Test be fast . . . 59
5.7 Die Aktivierungszeitpunkte der Neuronen in Test IRIS patterns . . . 61
5.8 Potentialverlauf zweier Neuronen in Test IRIS patterns . . . . . . . . 62
5.9 Potentialverlauf des Ausgabeneurons in Test IRIS patterns . . . . . . 63
5.10 Aufbau des Netzes für Test backcoupling . . . . . . . . . . . . . . . . 65
5.11 Vorgegebene Sequenz für Training in Test backcoupling . . . . . . . . 66
5.12 Erzeugte Sequenz nach Training in Test backcoupling . . . . . . . . . 66
v
vi ABBILDUNGSVERZEICHNIS
5.13 Die Sequenz ist stabil in Test backcoupling . . . . . . . . . . . . . . . 67
5.14 Zweites Lernmuster für Test backcoupling . . . . . . . . . . . . . . . 68
5.15 Die Sequenzantwort auf das zweite Muster in Test backcoupling . . . 69
5.16 Die Sequenzantwort auf das erste Muster in Test backcoupling . . . . 69
Kapitel 1
Einleitung
Bevor im nachfolgenden Kapitel Grundlagen zum Verständnis der Arbeit eingeführt
werden, folgt im ersten Abschnitt dieses Kapitels noch eine kurze Beschreibung des
übergeordneten Projekts, das durch diese Arbeit weitergeführt wird. Nach diesen
Erläuterungen kann schlieÿlich im zweiten Abschnitt die Denition der Aufgaben-
stellung erfolgen.
1.1 Motivation der Arbeit
Die vorliegende Arbeit ist Teil eines Projektes, das von Herrn Dr. Feldbusch durch-
geführt wird. Dabei geht es im Wesentlichen darum, den auditorischen Pfad des
Menschen verstehen zu lernen. In Abbildung 1.1 ist dessen Aufbau schematisch dar-
gestellt. Die Cochlea empfängt aus der Umgebung Schallwellen über die Luft und
extrahiert über verschiedene komplizierte Mechanismen aus diesen Information. Die
gewonnene Information wird in Form von elektrischen Impulsen über verschiedene
Kerne des auditorischen Pfads geleitet. Diese Kerne sind Anhäufungen von Neuro-
nen, spezialisierten Körperzellen, denen die Aufgabe der Signalverarbeitung zufällt.
Jeder Kern wiederum verarbeitet die Information weiter und schickt sie zum Nach-
folgekern, bis schlieÿlich Signale am auditorischen Cortex eingehen, der Endpunkt
des auditorischen Pfads ist. Ziel des Projekts ist, durch das gewonnene Wissen über
die Funktionsweise des auditorischen Pfads eine neue Generation von Hörgeräten zu
ermöglichen, die besser auf die Bedürfnisse hörgeschädigter Menschen zugeschnitten
ist.
Im Vorfeld dieser Arbeit hat Thomas Fleischmann das Projekt eingeleitet, in-
dem er das Matlab-Programm AFM geschrieben hat. Dieses Programm bindet den
Simulator AMS in Matlab ein, der die Funktion der Cochlea nachahmt. Der wirklich
schwierige Teil steht allerdings noch bevor, nämlich die Funktionsweise der Kerne
des auditorischen Pfads im Simulator nachzubilden. Grundbaustein dieser Kerne
sind, wie bereits erwähnt, die Neuronen. Ein einzelnes natürliches Neuron allein ist
bereits sehr komplex. Bei der Untersuchung, der Weiterleitung und Verarbeitung
der Signale durch Neuronen werden deshalb alle biologischen Details dieser Zellen
wie etwa Zellkern, Ribosomen, etc. weggelassen. Man betrachtet ausschlieÿlich die
1
2 KAPITEL 1. EINLEITUNG
Abbildung 1.1: Der auditorische Pfad des Menschen
Zellmembran, welche elektrische Signale innerhalb einer Zelle weiterleitet und die
Synapsen, welche elektrische Signale zwischen den Zellen übertragen.
Aus der beschriebenen Komplexität der Neuronen ergibt sich das erste Problem
bei der Untersuchung des auditorischen Pfads. Denn zunächst muss untersucht wer-
den, welche Bestandteile solcher Neuronen für die Funktion verantwortlich sind, die
von einem groÿen Netz tausender solcher Neuronen ausgeübt wird. Eine entschei-
dende Rolle wird dabei der Adaption der Synapsen zugewiesen. Diese ermöglicht
zeitliche Koordinierung von ein- und ausgehenden Signalen und ist letztlich auch
für höhere Lernvorgänge im Gehirn verantwortlich.
In dieser Arbeit muss also ein Modell der Neuronen gefunden werden, das eine
schnelle Simulation am Computer ermöglicht und doch keine entscheidenden Details
der Neuronen unterschlägt. Weiter müssen Lernalgorithmen untersucht werden, die
die Adaption der Synapsen vornehmen. Dabei kann man biologisch begründete Al-
gorithmen von Algorithmen, die aus der Analyse der Neuronenmodelle entstanden
sind, unterscheiden. Schlieÿlich müssen durch theoretische Überlegungen und über
Tests am Computer die Vor- und Nachteile der verschiedenen Ansätze herausgear-
beitet werden.
1.2 Aufgabenstellung
Es soll ein schneller Simulator für pulscodierte Neuronale Netze unter Matlab imple-
mentiert werden. Der Simulator ist so zu gestalten, dass unter dem Gehörsimulator
AFM erzeugte Impulsmuster als Eingabe verarbeitet werden können. Auÿerdem soll-
te die Denition der Netzstruktur möglichst variabel sein, um nachfolgende Ände-
1.2. AUFGABENSTELLUNG 3
rungen zu vereinfachen. Das hierfür empfohlene Neuronenmodell stellt eine Verein-
fachung des in der Literatur als Spike-Response-Model bekannten Neuronenmodells
dar. Deshalb ist weiter zu untersuchen, ob die Anwendung dieses vereinfachten Mo-
dells sinnvoll ist.
Hauptaugenmerk muss aber auf der Untersuchung von Lernalgorithmen für puls-
codierte Neuronale Netze liegen. Zum einen muss der Hebbsche Lernalgorithmus im
Simulator eingefügt werden, um damit Fallbeispiele aus der Literatur nachzubilden
und damit unter anderem das verwendete einfache Neuronenmodell zu testen.
Weiter ist zu untersuchen, ob es Algorithmen gibt, die Klassikation mit puls-
codierten Neuronalen Netzen erlauben. Wenn ja, dann soll einer davon für eine
Simulation ausgewählt, ansonsten ein neuer entwickelt werden. Dabei wird darauf
Wert gelegt, neue Ideen zu entwickeln und mögliche neue Ansätze zu nden und
nicht etwa nur bereits Vorhandenes zu verwenden.
4 KAPITEL 1. EINLEITUNG
Kapitel 2
Einfache Modelle Neuronaler
Netze
Neuronale Netze in Organismen sind die zentralen Steuereinheiten um Bewegungen
zu koordinieren, die Umwelt wahrzunehmen und in der höchsten Entwicklungsstufe,
um einem Organismus ein Bewusstsein zu verleihen. Bausteine dieser Neuronalen
Netze sind die sogenannten Neuronen, spezialisierte Körperzellen die in Organismen
ausschlieÿlich zur Verarbeitung von Signalen dienen.
Will man das Schaltverhalten von vielen Neuronen untersuchen und deren Funk-
tion am Computer simulieren, so stöÿt man schnell an Grenzen der Rechenkapazität.
Deshalb muss ein Modell verwendet werden, welches stark vom natürlichen Neuron
in Lebewesen abstrahiert, Details des molekularen Aufbaus dieser Zellen müssen ver-
nachlässigt werden. Die entscheidende Frage ist hierbei, welche Details weggelassen
werden können und welche erhalten werden müssen, damit die Leistungsfähigkeit des
Modells möglichst an die des Originals herankommt. Was aber ist der richtige Ansatz
um zu einer Antwort auf diese Frage zu kommen? Ist es besser, ausgehend von exak-
ten Modellen immer weiter zu abstrahieren bis man das gewünschte Resultat erhält
oder beginnt man, sehr einfache Modelle zu untersuchen und diesen schrittweise
Details hinzuzufügen? Die Antwort hierauf kann wohl nicht allgemeingültig gege-
ben werden, vielmehr hängt die Beantwortung dieser Frage vom Betrachter selbst
ab. Je nach Fragestellung der Untersuchung und Ziele einer Simulation sind andere
Aspekte von Bedeutung und entsprechend unterschiedlich sind die implementierten
Neuronenmodelle.
Die Informatik ist bei der Beobachtung natürlicher Vorgänge stets daran inter-
essiert, Methoden abzuleiten, die konkret für die Informationsverarbeitung verwen-
det werden können. Deshalb beschäftigt sich diese traditionell mit dem einfachsten
Modell Neuronaler Netze, dem sogenannten Multilayer-Perzeptron MLP, das im Ab-
schnitt 2.3.1 eingeführt wird. Dieses Modell ist mathematisch gut untersucht und
ndet praktische Anwendung beispielsweise in der Datenanalyse. Eine Übersicht
über den Stand dieser Wissenschaft ist im Buch von Christopher Bishop Neural
Networks for Pattern Recognition [Bis95] zu nden.
Trotz mancher Erfolge bei der Anwendung der MLPs ist dieses Modell zu einfach,
da es die Zeit als Gröÿe nicht berücksichtigt. Will man mit MLPs die Signalverar-
5
6 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
Abbildung 2.1: A. Zeichnung eines einzelnen Neurons B. Signalübertragung zwi-
schen Neuronen
beitung simulieren, die von den Nervenzellen des auditorischen Pfads ausgeführt
wird, kommt man mit diesem Modell nicht weiter. Zwar hat A. Waibel einen Weg
gefunden mit Multilayer-Perzeptrons zeitliche Unterschiede in den Eingabedaten
zu berücksichtigen [WHH+89], doch entspricht sein Modell nicht dem natürlichen
Vorbild. Das einfachste Modell, das Zeit codiert und besser der Natur entspricht
ist das Spike-Response-Model, das in Abschnitt 2.4.1 eingeführt wird. Dies ist das
Neuronen-Modell das im Laufe dieser Diplomarbeit mit einer kleinen Abänderung
in Matlab implementiert worden ist.
2.1 Einfache Beschreibung natürlicher Neuronen
Ausgangspunkt jeder Modellierung ist zunächst die Beobachtung und Beschreibung
des Originals. Da ein natürliches Neuron mit allen molekularen Eigenschaften sehr
komplex ist, wird bereits das Original sehr vereinfacht beschrieben. Ein solches
vereinfachtes Neuron, das als Ausgangspunkt für die mathematische Modellierung
dient, ist in Abbildung 2.1 A skizziert. In dieser Beschreibung wird ausschlieÿlich die
Zellmembran eines Neurons berücksichtigt, die sich unterteilen lässt in Dendriten,
das Soma und Axon. Wie alle Körperzellen hält auch ein Neuron ein elektrisches Po-
tential zwischen Auÿen- und Innenseite der Zellmembran aufrecht. Über Dendriten
und Axon kann sich entlang der Zellmembran eine Änderung dieses Membranpo-
tentials fortsetzen, wodurch ein Signal weitergeleitet wird. In Abbildung 2.1 B ist
auÿerdem eine Synapse sji eingezeichnet, die von einer präsynaptischen Zelle j akti-
viert wird und so das Signal zu einer postsynaptischen Zelle i weiterleiten kann. Dabei
wird in der postsynaptischen Zelle eine Änderung des Membranpotentials bewirkt.
Solche Potentialänderungen können je nach molekularen Eigenschaften der Synapse
stärker oder schwächer ausfallen und sie können exzitatorisch oder inhibitorisch sein.
In den Dendriten setzen sich die Potentialschwankungen bis zum Soma fort, wo sich
2.2. WAHL DES NEURONENMODELLS 7
die von unterschiedlichen Synapsen ausgehenden Potentialschwankungen überlagern
können.
In Abbildung 2.2 A - C ist ein Versuch skizziert, bei dem ein natürliches Neuron
Impulse von zwei Vorgängerneuronen erhält. Die Antwort auf diese Impulse besteht
aus der Änderung des Membranpotentials, welches über Elektroden gemessen und
im Diagramm rechts abgebildet wird. Bei jedem ankommenden Impuls ändert sich
das Potential (2.2 A). Kommen mehrere Impulse etwa zeitgleich an, so kommt es
zu einer Überlagerung der Auslenkungen (2.2 B). Unter Umständen übersteigt das
Potential sogar einen Schwellwert ϑ, woraufhin das Membranpotenial aktiv von der
Zelle noch stärker ausgelenkt wird und kurz darauf schlagartig auf einen Wert unter
dem Ruhepotential abfällt (2.2 C). Das aktive Auslenken des Membranpotentials ist
das Aktionspotential, das sich über die Dendriten fortsetzt. Der Zeitpunkt bei dem
das Membranpotential den Schwellwert überschreitet, wird mit dem Aktivierungs-
bzw. Feuerzeitpunkt des Neurons gleichgesetzt. In diesem Versuchsaufbau wurden
nur exzitatorische Synapsen gefunden. Der von ihnen bewirkte Ladungsuss durch
die Membran lenkt das Membranpotential zum Schwellwert hin aus. Dahingegen
lenkt der von einer inhibitorischen Synapse bewirkte Stromuss das Potential in der
entgegengesetzten Richtung aus, wodurch eine Erregung des Neurons erschwert wird.
Im Soma erzeugte Impulse werden schlieÿlich über das Zellaxon als Aktionspotential
über weite Strecken übertragen und können dann erneut Synapsen entlang des Axons
aktivieren.
2.2 Wahl des Neuronenmodells
Es sind mehrere Modelle bekannt, Neuronen am Computer zu simulieren. In Ab-
bildung 2.3 sind vier Modelle aufgeführt, wobei Komplexität und Rechenaufwand
von oben nach unten abnehmen. Am detailliertesten wird ein Neuron vom Hodgkin-
Huxley Modell beschrieben, das nach dessen Entwicklern benannt ist. Dieses Modell
beschreibt die Erzeugung von Aktionspotentialen auf der Ebene der Ionenkänale und
des Ladungsusses an der Zellmembran. Die Zellmembran wird in mehrere Abschnit-
te eingeteilt, wobei jeder Abschnitt durch Kapazitäten und Widerstände beschrieben
wird, die wiederum die verschiedenen Ionenkanäle modellieren. Zur Berechnung der
Zelldynamik werden schlieÿlich für jeden Abschnitt Dierentialgleichungen verwen-
det, die den Ladungsuss und die Spannungsänderung an der Membran beschreiben.
Dieses Modell ist geeignet um das Verhalten eines einzelnen Neurons zu simulieren
und erreicht dabei eine hohe Genauigkeit. Aufgrund des hohen Rechenaufwandes ist
diese Methode allerdings nicht für ein Netz mehrerer Neuronen geeignet.
Bei dem Integrate-and-Fire Modell wird ein komplettes Neuron durch eine Kon-
densator und einen Widerstand modelliert. Zur mathematischen Beschreibung der
Potentialänderung sind immer noch Dierentialgleichungen nötig, doch bedeutet
dieses Modell eine erhebliche Vereinfachung verglichen zu dem von Hodgkin und
Huxley.
Eine weitergehende Vereinfachung stellt das Spike-Response Modell dar. Hier
wird die Änderung des Membranpotentials nicht durch Dierentialgleichungen be-
schrieben. Vielmehr wird das Membranpotential zum Zeitpunkt t als Summe von
8 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
(a) Einzelner Impuls
(b) Zwei Impulse überlagern sich
(c) Drei Impulse aktivieren Neuron
Abbildung 2.2: Überlagerung der Impulse im Soma
2.3. MODELL OHNE PULSCODIERUNG 9
Hodgkin-Huxley
Integrate-and-Fire
Spike-Response
Perzeptron
Vereinfachung
Rechenaufwand
Abbildung 2.3: Mathematische Neuronenmodelle mit abnehmender Komplexität
Funktionen, sogenannten Antwortkernen, berechnet, die die Reaktion des Neurons
auf eingehende Impulse am Neuron beschreiben. Eine ausführliche Beschreibung der
bisher genannten Modelle ist in [GK02] zu nden.
Das einfachste und klassische Neuronenmodell, das in der Informatik untersucht
wurde, ist das Perzeptron. Bei diesem wird Zeit als Gröÿe zur Beschreibung der
Dynamik von Neuronalen Netzen völlig auÿer Acht gelassen. Von einem Neuron
ausgesandte Impulse kommen ohne Zeitverzögerung am nächsten Neuron an.
Der in der Diplomarbeit implementierte Simulator soll die Dynamik möglichst
groÿer, aus hunderten von Neuronen bestehender Netzwerke berechnen. Deshalb
muss ein möglichst einfaches Neuronenmodell gewählt werden, um die Simulations-
zeit klein zu halten. Aus diesem Grund scheiden Modelle aus, die Dierentialglei-
chungen zur Berechnung des Zustands verwenden. Da die Zeit als Gröÿe bei der
Weiterleitung von Impulsen berücksichtigt werden soll, kann auch das Perzeptron
nicht ausgewählt werden. Dennoch wird es im Folgenden Abschnitt kurz eingeführt,
da der von Bohte [BPK00] entwickelte Backpropagation-Algorithmus analog zu dem
für mehrschichtige Perzeptronen-Netze entwickelt worden ist. Am Ende kommt für
die Implementierung in den Simulator nur das Spike-Response Modell in Frage, das
für die Implementierung nocheinmal vereinfacht wurde.
2.3 Modell ohne Pulscodierung
Die ersten Modelle zur mathematischen Modellierung von Neuronalen Netzen wur-
den 1943 von McCulloch und Pitts beschrieben. Auf diesen Arbeiten aufbauend
wurde der Begri Perzeptron schlieÿlich von F. Rosenblatt geprägt, der einen Stan-
dard zur mathematischen Modellierung von Neuronen darstellt. Dieses Modell dient
als Ausgangspunkt für viele andere Entwicklungen in den Neurowissenschaften und
wird deshalb kurz erläutert.
2.3.1 Perzeptron
In diesem einfachsten Modell wird ein Neuron j durch ein Perzeptron simuliert.
Dieses realisiert eine Abbildung eines mehrdimensionalen Eingabevektors x auf einen
eindimensionalen Ausgabewert yj:
yj = g(
i
wijxi − ϑj) (2.1)
10 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
In der ursprünglichen Denition von Rosenblatt war yj ∈ {0, 1}, x ∈ {0, 1}n. Eine
1 wird als aktives Neuron interpretiert, das einen Impuls aussendet, eine 0 wird
als inaktives Neuron interpretiert. Die Gewichte wij simulieren die Ezienz mit
der assoziierte Synapsen Impulse an das Nachfolgerneuron übertragen. Die Aktivie-
rungsfunktion
g(x) =
−1 : x  0
+1 : x ≥ 0
, (2.2)
simuliert die Reaktion des Neurons auf dessen inneren Zustand. Bleibt dieser unter
dem Schwellwert ϑj, so bleibt es inaktiv und die Ausgabe yj ist gleich 0. Wird der
Schwellwert hingegen bei der aktuellen Eingabe überschritten, so wird es aktiviert
und die Ausgabe yj ist gleich 1.
Um das Modell mathematisch analysierbar zu machen, speziell um die Ableitung
der Funktion berechnen zu können, sind nach und nach Änderungen am Modell von
Rosenblatt vorgenommen worden. Die Ein- und Ausgaben x bzw. y sind jetzt aus R
bzw. Rn. Der Schwellwert ϑj kann eliminiert werden, indem ein zusätzliches Gewicht
w0j = −ϑ und zugehöriger Eingangsgröÿe x0 = 1 eingeführt werden. Zusätzlich wird
eine sigmoide Funktion, wie zum Beispiel
S(x) =
1
1 + ex
(2.3)
als Aktivierungsfunktion verwendet. Damit errechnet sich die Ausgabe eines Neurons
j durch
sj = S


i∈predj
wijxi

 , (2.4)
wobei predj die Menge aller Vorgängerneuronen von j bezeichnet. In dem abge-
änderten Modell können die reellen Ein- und Ausgaben als Feuerrate eines assozi-
ierten Neurons interpretiert werden. Deshalb wird dieses Modell auch Ratenmodell
genannt.
2.3.2 Multilayer-Perceptron
Ein sigmoides Neuronales Netz oder Multilayer-Perceptron (MLP) wird aus einzelnen
Perzeptronen mit sigmoider Aktivierungsfunktion in mehreren Schichten aufgebaut,
indem Ausgaben von Neuronen einer Schicht an die Neuronen der nächsten Schicht
als Eingaben übergeben werden. Ein solches sigmoides Neuronales Netz besteht aus
einer Menge von Neuronen N mit Eingabeneuronen I ⊆ N und Ausgabeneuronen
O ⊆ N, sowie aus einer Menge von Zwischenneuronen die in mehreren Schichten
zwischen der Eingabe- und der Ausgabeschicht angeordnet sind. Zwei Neuronen i
und j können durch eine Verbindung cij miteinander verknüpft werden, über die
Neuron j den Ausgabewert von Neuron i als Eingangsgröÿe erhält. In diesem Fall
ist i das Vorgängerneuron von j und j das Nachfolgerneuron von i. Die Menge aller
Vorgängerneuronen von j wird als predj bezeichnet, die Menge aller Nachfolgerneu-
ronen von i als succi. Eine Verbindung simuliert ein Axon bzw. einen Dendritenbaum
eines natürlichen Neurons, allerdings in einer Abstraktion ohne Einbeziehung einer
Übertragungsdauer zwischen den Neuronen. Dementsprechend gibt die Verbindung
2.4. MODELL MIT PULSCODIERUNG 11
cij die Ausgabe von Neuron i über genau eine Synapsen an das Nachfolgerneuron j.
Die zu cij gehörige Synapse sij ist durch ein Gewicht wij deniert, das die Ezienz
einer natürlichen Synapse simuliert und im Modell eine Variable ist. Bei Modellen
ohne Pulscodierung werden die Synapsen stets mit dem Gewicht wij identiziert.
Die denierten Gröÿen cij und sij erhalten ihre Bedeutung bei der Beschreibung
von pulscodierten Netzen.
Die Ausgabe eines Neurons der Ausgabeschicht o ∈ O bei einer Eingabe an das
Netz x errechnet sich durch
so = S


j∈predi
wji ... S


l∈predk
wlk S
m∈I
wmlxm



 , (2.5)
wobei die Punkte für weitere Neuronen einer Zwischenschicht stehen. Dies ist eine
stetig dierenzierbare Funktion mit vielen Freiheitsgraden, für deren weitere Analyse
mehr mathematische Kenntnisse nötig sind, als Kenntnisse über das biologische
Neuron.
MLPs wurden im Laufe des letzten Jahrhunderts mathematisch analysiert und
mehrere Aussagen über ihre Funktionalität bewiesen. So lassen sich z.B. mit ei-
nem einfachen Perzeptron mit inhibitorischen Eingängen die Boolschen Funktionen
AND, OR, NOT, sowie ANDn und ORn berechnen. Mit einem Netz solcher Neuro-
nen das keine Rückkopplungen enthält und das aus einer Eingabe-, einer versteckten
und einer Ausgabeschicht besteht, lassen sich alle Boolschen Funktionen berechnen.
Mit einem Netz solcher Neuronen ohne Rückkopplungen und ohne inhibitorische
Eingänge lassen sich alle monotonen Boolschen Funktionen berechnen [Men00].
Da dieses einfachste Modell eines Neurons nichts weiter als eine mathematische
Funktion ist, könnte man diese durch eine andere stetig dierenzierbare Funktion
ersetzen, um damit etwa Datenanalyse zu betreiben. Mit Erforschung der Funktio-
nalität natürlicher Neurone hat diese Wissenschaft also nicht viel gemein. Das im
nächsten Abschnitt eingeführte Modell kommt der Natur schon weit näher.
2.4 Modell mit Pulscodierung
Das hier vorgestellte Neuronenmodell teilt gewisse Eigenschaften mit herkömmli-
cher Perzeptronen. So werden auch bei ersteren eingehende Signale aufsummiert
und bei überschreiten eines Schwellwertes wird ein Signal an das Nachfolgerneuron
ausgesandt. Allerdings wird jetzt die Zeitdauer mit berücksichtigt, die ein Impuls be-
nötigt, um von einem präsynaptischen Neuron zur Synapse zu gelangen. Diese kleine
Änderung hat erheblichen Einuss auf das Schaltverhalten des Neurons und umso
mehr auf das des gesamten Netzes. Im Gegensatz zu MLPs kann das Schaltverhalten
des Netzes nicht durch eine einfache mathematische Funktion beschrieben werden.
Eine Simulation am Computer ist erheblich aufwändiger und Lernalgorithmen sind
schwerer einzusetzen.
2.4.1 Spike-Response-Model
Die im Abschnitt 2.1 beschriebenen Beobachtungen an natürlichen Neuronen werden
im Spike-Response-Model mathematisch zusammengefasst, das von Gerstner einge-
12 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Potential development in SRM
neuronpotential
time in sec
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Potential development in SRM
neuronpotential
time in sec
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Potential development in SRM
neuronpotential
time in sec
Abbildung 2.4: Oft verwendete Spike-Response-Functions
führt worden ist [GK02]. Es beschreibt den Zusammenhang zwischen eingehenden
Impulsen in ein Neuron j und seinem inneren Zustand uj, der das Membranpotential
eines natürlichen Neurons darstellt:
uj(t) = η(t − t
ˆf
j ) +
i∈predj f k
wk
ij (t − (tf
i + dk
ij)). (2.6)
Dabei simuliert das Verzögerungselement dk
ij einer Synapse die Zeit, die ein Impuls
benötigt, um die Distanz auf einem Axon von Neuron i nach Neuron j benötigt.
Die Spike-Response-Function (x) [GK02] deniert, wie eine Synapse den ein-
gehenden Impuls an das Innere des Neurons weiterleitet. Bohte [BPK00] und Xin
[XE01] haben das Spike-Response-Model verwendet, um einen Backpropagation-
Algorithmus einzuführen. Bei ihrer Herleitung haben sie
(x) =
x
T
e1− x
T (2.7)
als Spike-Response-Function mit einer Konstante T verwendet. Die Form dieser
Funktion ist in Abbildung 2.4 zu sehen und die Entwicklung des Membranpotenti-
als bei mehreren, nacheinander eintreenden Impulsen am Neuron bei Verwendung
dieser Spike-Response-Function ist in Abbildung 2.5 dargestellt.
Die wk
ij stehen für die Ezienz einer Synapse die den Impuls von i nach j über-
trägt. Sie denieren für jede Synapse den Betrag und die Richtung der Auswirkung
des Impulses auf das Potential des Nachfolgerneurons. Dadurch kann ein Impuls
eine schwache oder starke Antwort im Nachfolgerneuron bewirken und diese Ant-
2.4. MODELL MIT PULSCODIERUNG 13
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Potential development in SRM
neuronpotential
time in sec
Abbildung 2.5: Potentialentwicklung bei 9 nacheinander eintreenden Impulsen
wort kann das Potential des Nachfolgerneurons in positiver oder negativer Richtung
verändern. Dementsprechend heiÿt eine Synapse exzitatorisch oder inhibitorisch.
Überschreitet das Membranpotential uj(t) einen Schwellwert ϑj, dann wird das
Neuron aktiviert und es feuert einen Impuls zum Zeitpunkt tf
j für den gilt:
tf
j = t ⇔ ( uj(t) = ϑ) ∧
∂uj(t)
∂t
 0 . (2.8)
Das ist also der Zeitpunkt, zu dem das Membranpotential zum ersten Mal den
Schwellwert überschreitet.
Unmittelbar nach dem Feuern ist die Erregbarkeit eines Neurons herabgesetzt,
da das Nachpotential
aj(t) = η(t − t
ˆf
j ) (2.9)
das Membranpotential vorübergehend drastisch absenkt. Bei dieser Denition ist
t
ˆf
j der Zeitpunkt der letzten Aktivierung von j. Der Verlauf des Aktionspotentials
in einem Neuron ist in Abbildung 2.6 dargestellt. Die gestrichelte Linie stellt den
Verlauf des Membranpotentials eines natürlichen Neurons dar, die durchgezogene
Linie ist der im pulscodierten Modell. Diese Form des Nachpotentials erhält man
für ∆t → 0 durch die Denition
η(t − tf
j ) =



1/∆t : 0  t − tf
j  ∆t
−η0 exp −
t−tf
j
τ : ∆t  t − tf
j
(2.10)
14 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
Abbildung 2.6: Verlauf des Nachpotentials
und den festen Parametern η0, τ und ∆t  0.
Im Folgenden bezeichnet der Moment, in dem ein Neuron ein Aktionspotential
aussendet, als Feuerzeitpunkt dieses Neurons bezeichnet, und als solche wird dieser
in Experimenten notiert, falls der Schwellwert von unten überschritten wird. Formal
wird ein Impulsabfolge
Si(t) =
f
δ(t − tf
i ) (2.11)
eines Neurons mit Hilfe der Diracschen Deltafunktion
δ(t) =
∞ : t = 0
0 : sonst
und
∞
−∞
δ(t) dt = 1 (2.12)
beschrieben.
Um die Netze aus pulscodierten Neuronen einheitlich beschreiben zu können,
werden die Bezeichnungen, die in Abschnitt 2.3 eingeführt worden sind, ergänzt.
Der Unterschied zu diesen liegt in der Bezeichnung der Verbindungen und Synap-
sen. Da eine Verbindung mehrere Synapsen enthalten kann, wird eine Verbindung
cij mit einer Menge von zugehörigen Synapsen Sij = {sk
ij}, k ∈ {1, 2, 3, ...} assozi-
iert. Dabei ist jede Synapse sk
ij = (wk
ij, dk
ij) deniert durch ein Gewicht wk
ij und ein
Verzögerungselement dk
ij. Das Gewicht entspricht der Ezienz mit der eine natürli-
che Synapse einen Impuls weiterleitet, das Verzögerungselement stellt die Zeit dar,
die ein Aktionspotential benötigt, um das Axon bzw. den Dendrit zu durchlaufen.
2.5. IMPLEMENTIERTES MODELL 15
2.4.2 Perzeptron und Spike-Response-Model
Wird für die Modellierung eines Neurons das Spike-Response-Model anstatt des Per-
zeptrons verwendet, ermöglicht dies die Denition erheblich komplexerer Netzwerke
bei gleicher Neuronenzahl. So ist die Menge der durch Netze aus Perzeptronen bere-
chenbaren Funktionen in der Menge der durch Netze aus pulscodierten Neuronalen
Netzen berechenbaren Funktionen enthalten. Beweis: ein Perzeptron lässt sich durch
ein pulscodiertes Neuron simulieren, das genau eine Synapse mit Verzögerung null zu
den Vorgängerneuronen besitzt. Darüberhinaus kann man das Perzeptronenmodell
auch als Ratenmodell interpretieren. Diese Interpretation legt oen, wieviel einfa-
cher das Perzeptronenmodell gegenüber dem Spike-Response-Model ist, denn das
letztere lässt alle Codierungsformen zu, die in Abschnitt 2.6 eingeführt werden.
Es ist oensichtlich, dass bei dieser Komplexität der Lernalgorithmus eines sol-
chen Netzwerkes noch mehr Probleme aufweist als der für ein herkömmliches Netz.
Dabei sind Probleme mit der hohen Eingabedimension, der groÿen Zahl der einzu-
stellenden Gewichte und besonders der Einstellung der verschiedenen Verzögerungs-
elemente zu erwarten.
2.5 Implementiertes Modell
Viele Simulationen von pulscodierten Neuronen wurden entwickelt, weshalb es nahe
liegt, eine bereits bestehende Version zu verwenden. Erstaunlich ist aber, wie un-
terschiedlich die Merkmale der einzelnen Simulationen ausfallen. NEURON [HC97]
oder GENISIS [BB98] basieren auf dem Hodgkin-Huxley Modell und sind gut für de-
taillierte biophysikalische Simulationen einzelner Neuronen. Allerdings erschwert es
deren Komplexität, ezient groÿe Netzwerke zu simulieren. Andere Simulatoren wie
Spike [Wat93] von Lloyd Watts oder SpikeNet von Delorme [DGVT99] basieren auf
dem Integrate-and-Fire Modell, wodurch auch diese Simulatoren für einen Einsatz in
dieser Arbeit nicht in Frage kommen. Allerdings ist der Simulator Spike von Lloyd
Watts besonders deshalb interessant, da er für die Simulation von Neuronen des
auditorischen Pfads entwickelt wurde. SpikeNet hingegen ermöglicht eine eziente
Simulation von Millionen von Neuronen, da sein Programm für die Modellierung der
Neuronen des visuellen Cortex optimiert wurde. Deshalb konnte dabei die Annah-
me verwendet werden, dass groÿe Gruppen von Neuronen gleich sind und dieselben
Eingaben erhalten. Diese Annahme kann für Neuronen des auditorischen Pfads aber
nicht gemacht werden, höchstens für kleine Teile des gesamten Netzwerks.
Kein betrachteter Simulator weist die für diese Arbeit erwünschten Merkmale auf
und es wurde kein Simulator gefunden, der auf dem Spike-Response-Model basiert.
Deshalb blieb nichts anderes als einen eigenen Simulator zu schreiben.
2.5.1 Vereinfachungen am Spike-Response-Model
Bei der Implementierung des Modells gibt es an mehreren Stellen einen gewissen
Spielraum, so wie bei der Spike-Response-Function. In Abbildung 2.7 sind beispiel-
haft verschiedene Spike-Response-Functions dargestellt, wie eine Rechtecksfunktion,
eine Dreiecksfunktion, eine wellenförmige Funktion und eine von einem maximalen
16 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
-0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
0
0.5
1.0
Potential development in SRM
neuronpotential
time in sec
Abbildung 2.7: Verschiedene Spike-Response-Functions
Wert aus exponentiell abfallende. Um eine eziente ereignisgesteuerte Simulation
am Computer zu ermöglichen, wurde von Wolfgang Globke die zuletzt genannte
Möglichkeit gewählt, die mathematisch durch die Funktion
(t) = e−(t)/bd
(2.13)
mit der Konstante bd realisiert wird. In der Abbildung 2.8 ist unschwer erkennbar,
dass diese Funktion ausgehend von einem maximalen Wert, der bei Eintreen des
Impulses gesetzt wird, streng monoton abnimmt. Dadurch ist direkt bei Eintreen
eines Impulses sicher, ob das Neuron feuert oder nicht. Solange kein neuer Impuls
an diesem Neuron eintrit steigt das Membranpotential nicht über den Schwellwert
und das Neuron muss bis zum Eintreen eines neuen Impulses nicht mehr betrachtet
werden.
Im Hinblick auf eine möglichst schnelle Simulation bleibt ein Problem im ein-
geführten vereinfachten Modell bestehen. Bei jedem Eintreen eines Impulses am
Neuron muss der aktuelle Wert der Spike-Response-Functions aller eingehender Syn-
apsen neu berechnet werden, was einen enormen Aufwand darstellt, falls ein Neu-
ron von mehreren Vorgängerneuronen Impulse empfängt und diese womöglich noch
durch mehrere Synapsen übertragen werden. Deshalb wurde die Berechnung des
Membranpotentials durch eine Abschätzung ersetzt. Dabei wird der innere Zustand
eines Neurons j abhängig von der Aktivierung der Vorgängerneuronen i ∈ predj
neu berechnet. Bei Aktivierung von i zum Zeitpunkt tf
i wird uj zu allen Zeitpunk-
ten tf
i + dk
ij, sk
ij ∈ Sij neu bestimmt durch
uj(tf
i + dk
ij) = uj(tl
j) · (tf
i + dk
ij − tl
j) + wk
ij, (2.14)
2.5. IMPLEMENTIERTES MODELL 17
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Potential development in SRM
neuronpotential
time in sec
Abbildung 2.8: Gewählte Spike-Response-Function
wobei tl
j der Zeitpunkt der letzten Aktualisierung und uj(tl
j) der dabei zuletzt er-
rechnete Wert des Membranpotentials von Neuron j ist. In Abbildung 2.9 ist dar-
gestellt, wie sich mit den eingeführten Vereinfachungen das Membranpotential in
einem Neuron entwickelt, an dem hintereinander mehrere Impulse eintreen.
Das Nachpotential wird im Simulator nicht zum Membranpotential addiert, son-
dern vom Schwellwert abgezogen und wird bei jeder Aktualisierung des Membran-
potentials neu berechnet. Nach diesen Aktualisierungsschritten zu den Zeitpunkten
tf
i + dk
ij wird schlieÿlich überprüft, ob eine Aktivierung des Neurons j stattndet:
tf
j = tf
i + dk
ij ⇔ uj(tf
i + dk
ij) ≥ ϑ − η(tf
i + dk
ij − t
ˆf
j ). (2.15)
Dabei ist t
ˆf
j der Zeitpunkt der letzten Aktivierung von j und η ≤ 0 eine monoton
steigende Funktion. Ist obige Bedingung nicht erfüllt, wird ein neuer Aktualisie-
rungsschritt ausgeführt. Wurde aber ein neuer Feuerzeitpunkt tf
j bestimmt, so wird
das Nachpotential zu diesem Zeitpunkt auf null gesetzt:
uj(tf
j ) = 0. (2.16)
Bei jedem darauf folgenden Aktualisierungsschritt wird durch das Nachpotential die
Erregbarkeit eines Neurons herabgesetzt, welches in der Implementierung eine lineare
Funktion ist:
η(s) = (Ah/Ab) · s − Ah, (2.17)
wobei die Konstante Ah die Höhe und Ab die Breite des Nachpotentials deniert.
18 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Potential development in SRM
neuronpotential
time in sec
Abbildung 2.9: Potentialentwicklung im implementierten Modell
Der Ablauf der implementierten Simulation eines Netzes mit der Neuronenmenge
N und den Eingabeneuronen I ⊂ N ist in Algorithmus 1 zusammengefasst. Dabei
ist ein Ereignis deniert als der Zeitpunkt tk
hi = tf
h + dk
hi, an dem ein Impuls über
die Synapse sk
hi am Neuron i eintrit. Diese Zeitpunkte werden dann aufsteigend
sortiert in eine Ereignisliste eingetragen. In den Zeilen 2 bis 9 in Algorithmus 1
werden die Eingangsneuronen aktiviert und daraus die ersten Ereignisse bestimmt
und in die Liste eingetragen. In den Zeilen 10 bis 23 wird als betrachtetes Ereignis
der erste Eintrag der sortierten Liste gewählt und dabei aus der Liste gelöscht. Es
folgt die Aktualisierung des Membranpotentials (Zeile 13) und des Nachpotentials
(Zeile 14) und die Überprüfung der Bedingung in Gleichung 2.15 (Zeile 15). Ist
diese Bedingung erfüllt erfolgt die Bestimmung neuer Ereignisse (17 - 21) und deren
Eintrag in die sortierte Liste.
2.5.2 Diskussion der Vereinfachungen
Die Art der Aktualisierung des Membranpotentials in Gleichung 2.14, stellt die ei-
gentliche Abweichung des verwendeten Modells zum Spike Response Model dar, wel-
ches in den meisten anderen Arbeiten wie z.B. [GK02], [BPK00] oder [XE01] verwen-
det wird. Bei diesen muss zur Aktualisierung des Membranpotentials des Neurons j
die Spike Response Function jeder Eingangssynapse sk
ij berechnet werden. Der Re-
chenaufwand hierfür ist immens, da hier keine ereignisorientierte Simulation möglich
ist. Der Vorteil, der in dieser Arbeit eingeführten Abweichung vom ursprünglichen
Modell, ist der geringere Rechenaufwand bei der Aktualisierung des Membranpoten-
2.5. IMPLEMENTIERTES MODELL 19
Algorithmus 1 Verarbeitung der Impulseingabe eines Musters µ
Eingabe: µI ... Eingabemuster
1: L ← ∅ ... Ereignisliste
2: for all tf
g ∈ µI do
3: for all h ∈ succg do
4: for all sk
gh ∈ Sgh do
5: tk
gh = tf
g + dk
gh ... Zeitpunkt der Synapsenaktivierung
6: L ← (tk
gh) ∪ L ... Zeitpunkt in Liste
7: end for
8: end for
9: end for
10: while L = ∅ do
11: tk
hi ← min L ... wähle nächstes Ereignis
12: L ← L  tk
hi ... lösche Ereignis aus Liste
13: ui(tk
hi) ← ul
i · exp(−(tk
hi − tl
j)/bd) + wk
hi ... Potential von i zum Zeitpunkt tk
hi
14: ai(tk
hi) ← ((Ah/Ab) · (tk
hi − tf
i ) − Ah) ... Nachpotential von i
15: if ui(tk
hi) ≥ ϑ − ai(tk
hi) then
16: tf
i ← tk
hi ... i feuert
17: for all j ∈ succi do
18: for all k do
19: L ← L ∪ (t
ˆf
i + dk
ij) ... neues Ereignis für Nachfolgerneuron
20: end for
21: end for
22: end if
23: end while
tials und die Möglichkeit, eine ereignisgesteuerte Simulation des Neuronalen Netz-
werks durchzuführen.
Ein Nachteil des implementierten Modells ist allerdings, dass die Feuerzeitpunk-
te eines Neurons nicht mehr beliebig eingestellt werden können, wie im Falle des
ursprünglichen Spike-Response-Models. In Abbildung 2.5 ist die Entwicklung des
Membranpotentials eines Neurons zu sehen, an dem nacheinander mehrere Impulse
eingehen. Durch Feinjustierung der Gewichte kann das Neuron zu jedem Zeitpunkt
innerhalb eines Intervalls feuern. Im implementierten Modell hingegen sind die mög-
lichen Feuerzeitpunkte beschränkt auf diejenigen, zu denen die Spikes eintreen, da
sich das Potential nicht kontinuierlich ändert, sondern in Sprüngen wie in Abbildung
2.9 zu sehen ist. Falls in natürlichen Neuronalen Netzen die exakte Abstimmung der
Feuerzeitpunkte wichtig ist, dann kann man diese natürliche Eigenschaft nicht mit
diesem Modell nachahmen. Allerdings liegt die Vermutung nahe, dass diese sehr
genaue Abstimmung allenfalls in wenigen Bereichen des Gehirns eine Rolle spielt.
Herauszunden, wie leistungsfähig pulscodierte Neuronale Netze mit dieser Verein-
fachung sein können, ist auch Teil dieser Arbeit. Die dafür durchgeführten Tests sind
in Kapitel 5 beschrieben.
20 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
2.6 Codierung in Neuronalen Netzen
Bei der Informationsverarbeitung und -weiterleitung durch Neuronen spielt der Zeit-
punkt der Aktivierung bzw. des Feuerns eines Neurons die entscheidende Rolle. In
einer Menge von Neuronen, die jeweils wiederholt feuern, ist eine oene Frage für
den Beobachter, wie die Impulssequenzen interpretiert werden müssen, um die ent-
haltene Information zu decodieren. In späteren Kapiteln wird auf die Codierung
in Neuronalen Netzen Bezug genommen, weshalb in diesem Abschnitt verschiedene
verwendete Codes entsprechend [GK02] eingeführt werden.
2.6.1 Ratencodierung
Die einfachste Methode um die Impulssequenzen von Neuronen zu interpretieren ist
die Anzahl von Impulsen in einem Zeitabschnitt zu zählen und daraus eine Rate
abzuleiten. Dabei gibt es unterschiedliche Möglichkeiten diese Rate zu berechnen,
wovon die wichtigsten kurz aufgeführt werden.
Impulsrate eines einzelnen Neurons
Die Rate wird hier aus der Zahl ni der Aktivierungen eines Neurons i innerhalb
eines Zeitintervalls T errechnet durch
v =
ni
T
. (2.18)
Tatsächlich wird diese einfache Codierung in verschiedenen Teilen des Nervensy-
stems eines Menschen genutzt. Zum Beispiel reagiert der Streckrezeptor der Muskel-
spindel durch eine höhere Feuerrate bei Streckung der Muskeln und diese wiederum
kontrahiert stärker entsprechend der Feuerrate.
Impulsrate mehrerer Neuronen
In einigen Bereichen des Gehirns, wie z.B. im visuellen Cortex, haben eine groÿe
Menge von Neuronen, eine Population, nahezu dieselben Eigenschaften und wei-
sen dieselben Verschaltungen zu Vorgängerneuronen auf. Für solche Populationen
scheint eine Impulsrate über alle Neuronen dieser Gruppe für angemessen. Dement-
sprechend wird die Rate vM einer Population M bestehend aus N Neuronen berech-
net durch
vM =
nM
T N
, (2.19)
wobei T wieder das Zeitintervall ist, in der die Zahl der Aktivierungen nf
M aller
Neuronen aus M bestimmt wurde.
2.6.2 Impuls-Zeit-Codierung
Bei dieser Form der Interpretation von Neuronenaktivitäten ist der genaue Zeitpunkt
eines Impulses bzw. die genaue zeitliche Abfolge von Aktivitäten entscheidend. Wie-
der gibt es mehrere Möglichkeiten eine Impulscodierung zu denieren, wovon die
wichtigsten kurz eingeführt werden.
2.7. ZUSAMMENFASSUNG 21
Time-to-rst-Spike
Dieser Ansatz stammt aus der Überlegung, dass das erste Auftreten eines neuen
Eingabesignals, dem sogenannten on-set, entscheidend für die Verarbeitung im Ge-
hirn ist. Um schnelle Reaktionszeiten zu erhalten kann es sich ein Organismus nicht
leisten, eine Feuerrate zu bestimmen, um anschlieÿend diese Information weiterzulei-
ten. Dementsprechend wird bei dieser Codierung nur der erste Feuerzeitpunkt eines
Neurons berücksichtigt und die kurz darauf folgenden vernachlässigt.
Phasencodierung
Einige Naturvorgänge haben einen periodischen Ablauf wie zum Beispiel Schallwel-
len. Im Gehirn können solche Perioden codiert werden, indem Neuronen entspre-
chend der Phase feuern. Sind die Perioden zu kurz und ein einzelnes Neuron kann
nicht zu jedem Zyklus erneut feuern, so kann eine Population von Neuronen die-
ses Signal codieren, indem unterschiedliche Neuronen abwechselnd entsprechend der
Phase feuern.
Raum-zeitliches Muster
Die oben eingeführten Codes stellen meist eine Vereinfachung der realen Codes in
Neuronalen Netzen dar, denn jede vorstellbare Sequenz von Aktivitäten könnte
ein bedeutungsvolles Ereignis codieren. Zum Beispiel könnten drei Neuronen un-
terschiedliche Ereignisse codieren, je nach deren Aktivierungsabfolge. Ein Ereignis
könnte dann dadurch deniert sein, dass alle drei gleichzeitig feuern, ein zweites
Ereignis dadurch, dass zwei gleichzeitig und eines eine wohldenierte Zeitspanne
vorher feuert. Diese komplexen Codes können je nach Verknüpfung der Neuronen
zu Nachfolgerneuronen erzeugt werden. Das Beispiel könnte in einem Netz dadurch
realisiert werden, dass unterschiedliche Nachfolgerneuronen von allen drei genannten
Neuronen Impulse empfangen. Sind die Synapsen und Dendriten so verknüpft, dass
ein Impuls von allen drei Neuronen die gleiche Zeit zu einem Nachfolgerneuron be-
nötigt, dann könnte man bereits den ersten Beispielfall erhalten, vorausgesetzt, die
Synapsenezienzen sind jeweils stark genug um das Nachfolgerneuron zu erregen.
2.7 Zusammenfassung
Im ersten Teil der Arbeit sind verschiedene Neuronenmodelle verglichen worden,
woraufhin das Spike-Response-Model für eine Implementierung im Simulator aus-
gewählt wurde. Da sich die Informatik traditionell mit den Perzeptronen beschäf-
tigt und dafür mächtige Lernalgorithmen entwickelt hat, ist dieses Neuronenmodell
kurz eingeführt worden. Dadurch soll auch das Verständnis des Back-Propagation-
Algorithmus für pulscodierte Netze erleichtert werden, auf den im nächsten Kapitel
noch ausführlich eingegangen wird. Schlieÿlich sind am Spike-Response-Model Ver-
einfachungen vorgenommen worden, die eine schnellere Simulation am Computer
ermöglichen. Die Einführung der Codierung in pulscodierten Netzen soll dem Leser
schlieÿlich noch eine Vorstellung der damit verbundenen Problematik näher bringen.
22 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE
Zweck dieses Kapitels ist, dem Leser Grundlagen für das Verständnis der Arbeit
zu vermitteln. Einen Überblick über die vorhandenen Neuronenmodelle zu geben
war nicht beabsichtigt, da hierfür der nötige Platz fehlt. Darüberhinaus sind die
wichtigsten Modelle bereits im Buch von Gerstner [GK02] zusammengefasst und
ausführlich diskutiert.
Kapitel 3
Lernen
Adaption in natürlichen Neuronalen Netzen ist für das Funktionieren der Informati-
onsverarbeitung zumindest in gröÿeren Organismen unverzichtbar. Denn diese kön-
nen sich je nach Individuum unterschiedlich entwickeln und zum Beispiel in Arm-
oder Beinlänge variieren. Selbst ein und derselbe genetische Code, der einer Entwick-
lung eines Organismus zugrunde liegt, könnte durch unterschiedliche Umwelteinüs-
se zu verschiedenen Proportionen des ausgewachsenen Organismus führen. Also muss
das Nervensystem sich auf solche Variationen einstellen können. Dies wird durch die
Adaption der Synapsengewichte erreicht, wodurch das Eintreen von Signalen an
einem Neuron zeitlich koordiniert wird. Was für die Natur gilt, zeigt sich auch in
der Simulation: mit dem in dieser Diplomarbeit neu entwickelten Simulator konn-
ten erst aussagekräftige Tests durchgeführt werden, nachdem ein Lernalgorithmus
implementiert war, der Synapsen angepasst hat, um Signale zu koordinieren.
In der ersten beiden Abschnitten dieses Kapitels wird ein allgemeines mathema-
tisches Modell beschrieben, das die beobachteten Vorgänge am natürlichen Neuron
zusammenfasst. Dabei wird auch darauf eingegangen, in welcher Form dieser Al-
gorithmus im Simulator verwirklicht wurde. In den Abschnitten 3.3, 3.4 und 3.5
werden Algorithmen für sigmoide und pulscodierte Netze eingeführt und diskutiert,
die Mustererkennung mit simulierten Neuronalen Netzen ermöglichen. Diese Ver-
fahren resultieren nicht aus Beobachtungen von Vorgängen in biologischen Netzen,
sondern aus der Analyse der mathematischen Modelle. Schlieÿlich werden alle in die-
sem Kapitel besprochenen Lernalgorithmen in Abschnitt 3.6 nach einem allgemeinen
Schema in verschiedene Kategorien eingeteilt.
3.1 Hebbsches Lernen in pulscodierten Netzen
Wie bereits im ersten Kapitel erwähnt worden ist, soll der in dieser Arbeit imple-
mentierte Simulator dazu verwendet werden, die Neuronalen Netze des auditorischen
Pfads wenigsten in einigen Grundzügen nachzubilden, um deren Funktionsweise bes-
ser zu verstehen. Deshalb ist naheliegend einen Lernalgorithmus zu implementieren,
der den Lernvorgang in natürlichen Neuronalen Netzen möglichst genau nachahmt.
In Abschnitt 3.1.1 wird kurz eingeführt, welche Adaptionsvorgänge in natürlichen
Neuronen beobachtet werden können. In Abschnitt 3.1.2 wird eine mathematische
23
24 KAPITEL 3. LERNEN
Lernfunktion für künstliche pulscodierte Neuronalen Netze vorgestellt, die aus die-
sen Beobachtungen der natürlichen Vorgänge abgeleitet wurde. Schlieÿlich wird in
Abschnitt 3.1.3 erläutert, wie dieser Algorithmus im Simulator umgesetzt ist.
3.1.1 Hebbsches Postulat für biologische Neuronen
Nahezu alle Lernverfahren für pulscodierte künstliche Neuronale Netze beruhen auf
einem Postulat, welches bereits 1949 von dem kanadischen Neurophysiologen Do-
nald Hebb aufgestellt wurde. Darin formulierte er seine Vermutung, wie Lernen in
biologischen Neuronen abläuft:
When an axon of cell A is near enough to excite cell B or repeatedly or persi-
stently takes part in ring it, some growth process or metabolic change takes place in
one or both cells such that A's eciency, as one of the cells ring B, is increased.
[GK02]
Später ist dieses Postulat in Versuchen an biologischen Zellen bestätigt worden.
In dem entsprechenden Versuch sind zwei Neuronen, ein präsynaptisches Neuron j
und ein postsynaptisches Neuron i, durch angelegte Spannungen zu unterschiedli-
chen Zeitpunkten zur Aktivierung erregt worden.
In Abbildung 3.1 ist festgehalten, wie die Adaption der Synapse in Abhängigkeit
der Feuerzeitpunkte der Neuronen verlief. Demnach ist die Ezienz der Synapse
erhöht worden, falls j kurz vor i gefeuert, also j zur Aktivierung von i beigetragen
hat. Dahingegen ist die Ezienz verringert worden, falls j nach i gefeuert hat.
Die Kurve in Abbildung 3.1 ist eine Mittelung über mehrere Versuche und stellt
das sogenannte Lernfenster dar. Die im Folgeabschnitt erläuterte Denition einer
Lernregel ist dem Buch [GK02] entnommen. Sie berücksichtigt auch ein Lernfenster
entsprechend den Beobachtungen des Versuchs, enthält darüberhinaus aber noch
weitere Parameter, die die Adaption einer Synapse beeinussen.
3.1.2 Impuls-Zeit-Basiertes Lernen
Wie der Name des Lernverfahrens bereits andeutet, hängt die Adaption der Gewichte
ab vom Zeitpunkt der prä- und postsynaptischen Impulse die an einer Synapse
ankommen. Es wird eine allgemeine Lernregel verwendet, die von Wulfram Gerstner
in seinem Buch [GK02] formuliert worden ist. Um diese einführen zu können, wird
eine Impulsfolge die von einem Neuron i an einer Synapse eingeht deniert durch
Si(t) =
f
δ(t − tf
i ), (3.1)
wobei δ für die Diracsche Deltafunktion steht. Für eine Synapse, die Impulsfolgen
vom präsynaptischen Neuron i erhält und postsynaptische Impulse vom Neuron j,
lautet die Aktualisierungsregel für das Synapsengewicht
d
dt
wk
ij(t) = a0 + Si(t) apre
1 +
∞
0
apre,post
2 (s) Sj(t − s)ds
+ Sj(t) apost
1 +
∞
0
apost,pre
2 (s) Si(t − s)ds . (3.2)
3.1. HEBBSCHES LERNEN IN PULSCODIERTEN NETZEN 25
Abbildung 3.1: Hebbsches Lernen in biologischen Neuronen
Diese Regel deniert für jeden Zeitpunkt t eine Änderung des Gewichts wk
ij, die
durch mehrere Summanden berechnet wird. Der erste Summand ist der Parameter
a0, der für gewöhnlich kleiner null ist, so dass das Gewicht ohne eintreenden Impuls
zum Zeitpunkt t verkleinert wird. Die anderen Summanden sind abhängig von der
Impulsfolge Si des Vorgängerneurons i und der Impulsfolge Sj des Nachfolgerneurons
j. Ist das Vorgängerneuron i zum Zeitpunkt t aktiv, so wird im zweiten Summanden
der konstante Parameter apre
1 und das Integral
∞
0 apre,post
2 (s) Sj(t − s)ds addiert.
Für gewöhnlich ist apre
1 gröÿer als null gesetzt, wodurch bei jeder präsynaptischen
Aktivität ein positiver Wert addiert wird. Der Wert des Integrals hängt von der
Impulsfolge Sj ab. Der dritte Summand wirkt ähnlich wie der zweite. Ist Neuron j
zum Zeitpunkt t aktiv, wird der meist negativ gesetzte Parameter apost
1 addiert. Das
Integral hängt nun von der Impulsfolge Si ab. Die Abbildungen apre,post
2 und apost,pre
2
bewirken eine Adaption des Gewichts, falls beide Neuronen i und j innerhalb eines
kurzen Zeitintervalls feuern. Sie denieren eine Gewichtsänderung abhängig von der
Reihenfolge und dem zeitlichen Abstand in der i und j aktiv waren. Damit bewirken
die beiden Integrale zusammen eine Änderung des Gewichts, die das Lernfenster in
Abbildung 3.1 annähert.
Je nach Wahl der Parameter a0, apre
1 , apost
1 , sowie der Abbildungen apre,post
2 und
apost,pre
2 resultieren unterschiedliche Varianten des Grundalgorithmus. In Abbildung
3.2 sind die Parameter beispielhaft gesetzt und die entsprechende Auswirkung auf-
gezeigt. In 3.2(a) ist der Einuss des Parameters a0 auf die Entwicklung des Synap-
sengewichts dargestellt. Er bewirkt eine konstante Abnahme des Gewichts über die
Zeit, falls a0  0 gesetzt wird. Die Parameter apre
1 und apost
1 bewirken eine Adaption
26 KAPITEL 3. LERNEN
(a) Parameter a0
(b) Parameter apre
1 und apost
1
(c) Parameter apre,post
2 und apost,pre
2
Abbildung 3.2: Einuss der Parameter auf die Gewichtsänderung
3.1. HEBBSCHES LERNEN IN PULSCODIERTEN NETZEN 27
Abbildung 3.3: Implementiertes Lernfenster
in Abhängigkeit der Anzahl eingehenden Impulse vom prä- bzw. vom postsynap-
tischen Neuron. Ihre Auswirkung auf das Synapsengewicht ist in Abbildung 3.2(b)
beispielhaft für je eine postsynaptische und je eine präsynaptische Neuronenaktivität
gemeinsam mit der Auswirkung des Parameters a0 dargestellt.
Die wohl entscheidende Gröÿe des Algorithmus ist aber das zeitliche Lernfenster
das sich durch Wahl der Abbildungen apre,post
2 und apost,pre
2 ergibt. Setzt man s =
tf
i − tf
j , so lässt es sich denieren als
W(s) =
apost,pre
2 (−s) , s  0
apre,post
2 ( s) , s  0
(3.3)
Die Auswirkung dieses Lernfensters auf die Entwicklung des Synapsengewichts ist
in Abbildung 3.2(c) beispielhaft dargestellt, wobei das präsynaptische kurz vor dem
postsynaptischen Neuron aktiv ist, weshalb das Lernfenster eine Erhöhung des Syn-
apsengewichts bewirkt. Setzt man apost,pre
2 (−s) = A+e s/τ1 und apre,post
2 ( s) =
A−e−s/τ2 , so erhält man das Lernfenster in Abbildung 3.3. In diesem Fall wird ein
Synapsengewicht verstärkt, falls der präsynaptische Impuls kurz vor dem postsynap-
tischen Impuls eintrit und verkleinert, falls die Impulse in umgekehrter Reihenfolge
eintreen.
3.1.3 Implementierung im Simulator
Um den Hebbschen Algorithmus so allgemein wie möglich zu halten, wurden alle
Details des oben beschriebenen Impuls-Zeit-Basierten Algorithmus implementiert.
Die Parameter a0, apre
1 , apost
1 können für Tests beliebig eingestellt werden. Prinzipi-
ell ist eine Implementierung wünschenswert, bei der die Kerne apost,pre
2 und apre,post
2
frei wählbar sind. Allerdings wäre die Denition einer solchen Abbildung mit der
Einführung mehrerer Parameter verbunden, was eine Bedienung des Simulators ver-
komplizieren würde. Aus diesem Grund wurden apost,pre
2 und apre,post
2 implementiert,
so dass sie das Zeitfenster
W(s) =
A+e s/τ1 , falls s  0
A−e−s/τ2 , falls s  0
(3.4)
28 KAPITEL 3. LERNEN
realisieren. Die dabei zusätzlich auftretenden Parameter A+, A−, τ1 und τ2 sind
im Simulator wiederum frei einstellbar. Es gilt also apost,pre
2 (−s) := A+e s/τ1 und
apre,post
2 (s) := A−e−s/τ2 . Die Form dieses Zeitfensters entspricht dem Beispiel in
Abbildung 3.3, das eine gute Näherung an die Beobachtungen von natürlichen Lern-
vorgängen darstellt.
Der beschriebene Lernalgorithmus lässt Gewichte unbeschränkt anwachsen bzw.
abfallen, was im Gegensatz zu natürlichen Synapsen steht, die eine maximale Ezi-
enz nicht überschreiten können. Deshalb ist es sinnvoll erschienen, den von Gerstner
beschriebenen Lernalgorithmus zu erweitern, indem die Gewichte auf einen maxi-
malen Wert wmax, sowie auf einen minimalen Wert wmin beschränkt werden. Jede
Zahl 1  x+  0, die zu einem Synapsengewicht wk
ij addiert werden soll, wird dazu
jeweils mit (wmax − wk
ij) multipliziert, entsprechend werden Zahlen −1  x−  0
die zu wk
ij addiert werden sollen mit (wk
ij −wmin) multipliziert. Die Beschränkungen
für x+ und x− gelten, falls die Lernparameter nicht zu groÿ ( 1) gewählt werden.
Synapsen werden auÿerdem gelöscht und durch eine neue ersetzt, falls ihr Gewicht
kleiner wird als eine bestimmte untere Schranke wdelete. Denn falls eine Synapse kei-
ne Information trägt, ist es sinnvoller, sie mit einem anderen Verzögerungselement
dk
ij neu zu initialisieren.
3.2 Diskussion Hebbsches Lernen
Wie bereits erwähnt, resultiert der Hebbsche Lernalgorithmus, wie er im vorherge-
henden Abschnitt eingeführt wurde, aus Beobachtungen natürlicher Vorgänge. Oen
bleibt allerdings die Frage, ob dieser Algorithmus auch wirklich alle wichtigen Vor-
gänge nachahmt, die im menschlichen Gehirn ablaufen. Beispielsweise ist denkbar,
dass Botenstoe, die von Zellen im Gehirn ausgesandt werden, die natürlichen Lern-
vorgänge beeinussen. Möglicherweise gibt es einen oder mehrere solcher Vorgänge
oder Mechanismen in biologischen Neuronalen Netzen, die das Zusammenspiel kom-
plexer Lernvorgänge steuern. Falls es ihn gibt, wird ein solcher Mechanismus im
eingeführten Lernalgorithmus nicht berücksichtigt.
Falls es solche Mechanismen allerdings nicht gibt und das oben vorgestellte Hebb-
sche Lernverfahren alle Details der Lernvorgänge im Gehirn beinhaltet, so müsste
damit ein künstliches Neuronales Netz entwickelt werden können, das alle Lernvor-
gänge des Gehirns simulieren kann. Danach wiederum müsste man ein Netz ent-
wickeln können, das Klassikation durchführen und selbstständig Klassen einteilen
kann, nur mit Hilfe des Hebbschen Lernens. Zum Beispiel ordnet ein Mensch man-
che Geräusche einem Tier zu, andere einer Maschine. Dabei sind Tier und Mensch
zwei verschiedene Klassen, die durch Lernen vom Menschen unterschieden werden.
Genauso wird gelernt, welche Geräusche welcher Klasse zugeordnet werden. Ob die-
se Lernvorgänge mit dem Hebbschen Ansatz auf pulscodierten Neuronalen Netzen
realisiert werden können, ist jedoch ungewiss. Womöglich müssen erst noch andere
Mechanismen im Gehirn entdeckt und im mathematische Modell mit berücksichtigt
werden, um diese höheren Lernvorgänge nachzuahmen. Es ist ebenfalls eine oene
Frage, welches Neuronenmodell für ein solches Vorhaben verwendet werden muss.
Möglicherweise werden vom Spike-Response-Model wichtige Details auÿer Acht ge-
3.3. BACKPROPAGATION-ALGORITHMUS IN SIGMOIDEN NETZEN 29
lassen, was ein Funktionieren des Lernvorgangs verhindern würde. Auch das imple-
mentierte Neuronenmodell stellt dazu lediglich einen Lösungsvorschlag dar, den es
zu überprüfen gilt.
Zwar hat Bleek einen einfachen Algorithmus vorgestellt, mit dem ein pulscodier-
tes Netz selbstständig Klasseneinteilungen lernt [Ble00]. Es handelt sich dabei um
eine leichte Abänderung des Hebbschen Lernens. Doch hat er lediglich ein simples
Netz darauf trainiert zwei Eingabe voneinander zu unterscheiden. Insgesamt er-
scheint seine Methode nicht geeignet, um mehrere Klassen voneinander zu trennen.
Ein anderer Ansatz von S. Bohte zeigt bessere Ergebnisse. Sein Algorithmus Spike-
Prop wurde auf mehreren Datensätzen getestet und konnte schwierige Klassikati-
onsprobleme lösen. Allerdings handelt es sich bei seinem Ansatz nicht um Hebbsches
Lernen und entspricht nicht den natürlichen Lernvorgängen.
Im auditorischen Cortex, dem Endpunkt des auditorischen Pfads, werden die
eingehenden Signale klassiziert. Da diese Arbeit die Untersuchung des auditori-
schen Pfads vorbereiten soll, wäre es ein groÿer Schritt, eine Methode zu nden,
die es erlaubt, die simulierten Neuronalen Netze für Klassikation einzusetzen. Falls
man später Teile des auditorischen Pfads simulieren will, kann man die ausgehen-
den Signale mit Hilfe der gefundenen Methode klassizieren. Da der Algorithmus
SpikeProp von S. Bohte vielversprechender ist als der von Bleek, wurde dessen An-
satz verfolgt. Deshalb werden im Folgenden die Backpropagation-Algorithmen vor-
gestellt, zu denen auch der Ansatz von S. Bohte zählt. Die Frage, ob ein Netz aus
pulscodierten Netzen aufgebaut werden kann, das über den Hebbschen Lernalgo-
rithmus für Klassikationsprobleme einsetzbar ist, wird also in dieser Arbeit nicht
weiter behandelt.
3.3 Backpropagation-Algorithmus in sigmoiden Netzen
Der klassische Lernalgorithmus für Neuronale Netze, der in der Informatik angewen-
det wird, ist zweifellos der Backpropagation-Algorithmus für sigmoide Netze. Der
Algorithmus SpikeProp für pulscodierte Netze von S. Bohte ist eine Erweiterung
dieses Ansatzes. Um ein besseres Verständnis des SpikeProp Algorithmus zu ermög-
lichen, wird der Backpropagation-Algorithmus für sigmoide Netze kurz eingeführt.
Die Backpropagation-Algorithmen, kurz BP-Algorithmen, entspringen nicht aus
der Beobachtung und Modellierung natürlicher Vorgänge in tierischen Organismen,
sondern aus der mathematischen Analyse der Funktion, die von einem sigmoiden NN
ausgeführt wird. Die Methode des Gradientenabstiegs, die beim BP-Algorithmus
verwendet wird, ist eine weit verbreitete Methode zum Finden lokaler Minima in
Funktionen.
Der Backpropagation-Algorithmus für Multilayer Perceptrons und seine Varian-
ten sind in [Men00] und [Bis95] ausführlich beschrieben. An dieser Stelle ist nur
Platz für die Einführung des Grundalgorithmus der 1986 von Rumelhart, Hinton
und Williams veröentlicht wurde.
Herkömmliche Feed-Forward-Netze werden mit einer Menge M von Lernmustern
(xµ, yµ) trainiert, die jedem Eingabeneuron i eine Eingangsgröÿe xµ
i und jedem Aus-
gabeneuron i einen erwünschten Ausgangswert yµ
i zuordnen. Dabei gilt für Regres-
30 KAPITEL 3. LERNEN
sionsprobleme xµ ∈ Rn, yµ ∈ Rn und für Klassikationsprobleme xµ ∈ Rn, yµ ∈
{0, 1}n. Details sind in [Men00] oder [Bis95] zu nden.
Ziel des Algorithmus ist die Eingabewerte an das Netz möglichst fehlerfrei auf
die gewünschten Ausgabewerte abzubilden. Dazu wird zunächst die Fehlerfunktion
deniert als
E(M) :=
µ
Eµ
(Net) :=
µ i∈O
(si(Net, xµ
)) − yµ
i )2
(3.5)
wobei si(Net, xµ) die Ausgabe des Neurons i ∈ O ist, wenn die Eingabe xµ an
das Netz eingegeben wird. Anhand dieser Fehlerfunktion wird eine Anpassung eines
jeden Gewichts wij im Netz entgegen des Gradienten ∂E(M)/∂wij durchgeführt,
um so den Fehler zu minimieren:
wneu
ij = walt
ij − ξ ·
µ
∂Eµ(M)
∂wij
(3.6)
Die rekursive Berechnung der partiellen Ableitung geschieht durch Zurückpropa-
gieren, engl. Back-Propagation, des Fehlers durch das Netz von der Ausgabeschicht
bis hin zur Eingabeschicht. Für ein Neuron i /∈ O ist
si = S


j∈predi
wjisj

 , (3.7)
also gilt für die Ableitung
∂Eµ(Net)
∂wij
=
∂Eµ(Net)
∂si
∂si
∂wij
=
∂Eµ(Net)
∂si
si(1 − si)sj. (3.8)
Fall 1: i ist Ausgabeneuron, dann ist
∂Eµ(Net)
∂si
= 2(si − yµ
i ) (3.9)
Fall 2: i ist kein Ausgabeneuron, dann ist
∂Eµ(Net)
∂si
=
k∈succi
∂Eµ(Net)
∂sk
∂sk
∂si
=
k∈succi
∂Eµ(Net)
∂sk
sk(1 − sk)wik (3.10)
Die Ableitungen ∂Eµ(Net)
∂si
werden für alle Neuronen des Netzes berechnet, begin-
nend von der Ausgabeschicht her und werden zurück durch das Netz bis hin zur
Eingabeschicht propagiert.
In realen Anwendungen wird die beschriebene Berechnung des Gradienten durch
einige Feinheiten erweitert, die bessere Generalisierung und ein schnelleres Lernen
ermöglichen. Solche Anwendungen sind etwa die Mustererkennung oder die Daten-
analyse und begrenzt auch die Steuerung von Robotern. Die sigmoiden Netze die-
nen dabei stets zur Approximation von Funktionen. Mathematisch gesehen sind
sie nichts anderes als stetig ableitbare Funktionen mit vielen Freiheitsgraden und
3.4. BACK-PROPAGATION IN PULSCODIERTEN NETZEN 31
könnten dementsprechend auch durch andere Funktionen ersetzt werden. Betrachtet
man das Perzeptron hingegen als Modell von natürlichen Neuronen, so gibt es zwei
Möglichkeiten der Interpretation. In der ersten ist ein Perzeptron das Modell eines
Neurons und als solche ist diese auch von ihren Erndern McCulloch, Pitts und
Rosenblatt auch verstanden worden. Als zweite Möglichkeit kann man diese Per-
zeptronen auch als Ratenmodell interpretieren. Dementsprechend wird die Ausgabe
eines Perzeptrons als Anzahl von Aktivierungszeitpunkten eines assoziierten Neu-
rons in einem Zeitintervall gedeutet werden. Klar ist, dass eine Ratencodierung nicht
die exakten Feuerzeitpunkte des Neurons berücksichtigt und somit auch, dass mit
Netzen aus Perzeptronen keine Impulscodierung verwirklicht werden kann. Dafür
sind die pulscodierten Netze nötig. Der im Folgeabschnitt beschriebene Algorithmus
erlaubt dem Neuronalen Netz Information durch zeitlich abgestimmte Aktivierungs-
sequenzen zu codieren und entsprechend zu decodieren.
3.4 Back-Propagation in Pulscodierten Netzen
S. Bohte hat einen Backpropagation-Algorithmus für vorwärtsgerichtete, pulscodier-
te Neuronale Netze entwickelt und erfolgreich für die Klassikation mehrerer Daten-
sätze eingesetzt [BPK00]. In Abbildung 3.4 ist beispielhaft der Aufbau eines vor-
wärtsgerichteten, dreischichtigen pulscodierten Neuronalen Netzes dargestellt. Ein
Punkt steht dabei für jeweils ein Neuron, dessen Index an der y-Achse eingetragen
ist. An der x-Achse ist angegeben, zu welcher Schicht das Neuron gehört, was in
diesem Beispiel die Eingabe-, die versteckte oder die Ausgabeschicht sein kann. Die
Neuronen können jeweils zu allen Neuronen der Nachfolgeschicht Impulse senden.
Da in dem Beispiel zu jeder Verbindung drei Synapsen gehören, kommen pro aus-
gesandtem Impuls drei Impulse am Nachfolgerneuron an, jeweils zeitlich versetzt
entsprechend dem mit der Synapse assoziiertem Verzögerungselement.
Die für diesen Backpropagation-Algorithmus verwendeten Lernmuster unter-
scheiden sich von denen für herkömmliche Feed-Forward Netze verwendeten Mustern
wesentlich. Da der Zeitpunkt des Feuerns eines Neurons von wesentlicher Bedeutung
ist, muss dieser in den Mustern mit angegeben werden. Demnach ist ein Lernmuster
deniert als µ = (µI, µO), wobei durch
µI = { tf
i | i ∈ I, t ∈ R+
}
für jedes Eingabeneuron genau ein Feuerzeitpunkt deniert ist und durch
µO = { td
o | o ∈ O, t ∈ R+
}
für jedes Ausgabeneuron genau ein erwünschter (engl.: desired) Feuerzeitpunkt vor-
gegeben ist.
Die Fehlerfunktion eines pulscodierten NN für ein Lernmuster µ ist nach S. Bohte
deniert als
Eµ
=
1
2
j∈O
(tf
j (Net, µI) − td
j (µo))2
, (3.11)
32 KAPITEL 3. LERNEN
input hidden output
0
5
10
15
20
25
30
Neural net
neuronindex
layer name
Connection:
all-to-all
3 synapses
Abbildung 3.4: Aufbau eines vorwärtsgerichteten, dreischichtigen Netzes
wobei tf
j (Net, µI) der Feuerzeitpunkt des Ausgabeneurons j ist, falls das Eingabe-
muster µI die Eingabe an das Netz war und td
j (µo) der im Lernmuster denierte
erwünschte Feuerzeitpunkt. Der Gesamtfehler des Netzes über alle Muster ist folg-
lich
E =
µ
Eµ
=
1
2 µ j∈O
(tf
j (Net, µI) − td
j (µo))2
. (3.12)
Bei der von S. Bohte beschriebenen Version des BP-Algorithmus, wird die Ab-
leitung der Fehlerfunktion Eµ nach den Gewichten wk
ij berechnet, woraufhin eine
Anpassung der Gewichte mit
∆wk
ij ← −ξ ·
∂Eµ
∂wk
ij
(3.13)
ausgeführt wird.
Da die Funktion des Feuerzeitpunkts tj vom Membranpotential uj abhängig ist
kann die partielle Ableitung in 3.13 erweitert werden durch
∂Eµ
∂wk
ij
=
∂Eµ
∂tj
(tf
j )
∂tj
∂wk
ij
(tf
j ) =
∂Eµ
∂tj
(tf
j )
∂tj
∂uj
(tf
j )
∂uj
∂wk
ij
(tf
j ). (3.14)
Der Beitrag yk
ij(t) der Synapse am Membranpotential lässt sich direkt berechnen:
∂uj
∂wk
ij
(t) = (t − (tf
i + dk
ij)) =: yk
ij(t). (3.15)
3.4. BACK-PROPAGATION IN PULSCODIERTEN NETZEN 33
Der Beitrag (engl.: contribution) yk
ij(t) ist der Betrag, den die Synapse sk
ij zum
inneren Zustand des Neurons j zum Zeitpunkt t beiträgt.
Die Änderung des Feuerzeitpunkts in Abhängigkeit von der Änderung des Mem-
branpotentials ∂tj/∂uj allerdings muss in einer -Umgebung um den Feuerzeitpunkt
tf
j des Neurons j geschätzt werden durch:
∂tj
∂uj
(tf
j ) ≈
−1
∂uj
∂t (tf
j )
=
−1
i∈predj k wk
ij
∂yk
i
∂t (tf
j )
(3.16)
Abbildung 3.5 soll den Zusammenhang zwischen (∂tj/∂uj)(tf
j ) und (∂uj/∂t)(tf
j )
verdeutlichen. Die beiden Diagramme zeigen jeweils den Potentialverlauf desselben
Neurons, das beides mal zum selben Zeitpunkt einen eingehenden Impuls empfängt.
Die unterschiedliche Entwicklung des Potentials resultiert aus der Variation des Syn-
apsengewichts. Im Diagramm in 3.5(b) steigt das Membranpotential eher über den
Schwellwert als im Diagramm in 3.5(a), da im ersteren das Synapsengewicht stär-
ker ist und deshalb unter derselben Eingabe an das Neuron das Membranpotential
stärker ansteigt. Deshalb feuert das mit Abbildung 3.5(b) assoziierte Neuron früher
als das mit dem in Abbildung 3.5(a) assoziierte. Gleichung 3.15 berechnet die Ände-
rung des Potentials in Abhängigkeit der Gewichtsänderung, während Gleichung 3.16
abschätzt, wie stark sich bei Änderung des Membranpotentials der Feuerzeitpunkt
verschiebt.
Schlieÿlich muss noch die Ableitung (∂Eµ/∂tj)(tf
j ) berechnet werden, wofür zwei
Fälle zu unterscheiden sind:
Fall 1: j ist ein Ausgabeneuron, dann gilt
∂Eµ
∂tj
(tf
j ) = (tf
j − td
j ) (3.17)
Fall 2: j ist Neuron einer Zwischenschicht, dann gilt
∂Eµ
∂tj
(tf
j ) =
h∈succj
∂Eµ
∂th
(tf
h)
∂th
∂tj
(tf
h)
=
h∈succj
∂Eµ
∂th
(tf
h)
∂th
∂uh
(tf
h)
∂uh
∂tj
(tf
h)
=
h∈succj
δh
∂uh
∂tj
(tf
h) (3.18)
und
∂uh
∂tj
(tf
h) =
k
wk
jh
∂yk
jh
∂tj
(tk
h) (3.19)
Beginnend von der Ausgabeschicht wird für jedes Neuron i die Ableitung
∂i =
∂Eµ
∂tj
(tf
j )
∂tj
∂uj
(tf
j ) (3.20)
berechnet und an die Vorgängerneuronen zurückpropagiert.
34 KAPITEL 3. LERNEN
0.01 0.015 0.02 0.025 0.03 0.035 0.04
0.4
0.6
0.8
1
1.2
1.4
1.6
Spike-Response-Function
neuronpotential
time in sec
(a) Kleineres Synapsengewicht - späteres Feuern
0.01 0.015 0.02 0.025 0.03 0.035 0.04
0.4
0.6
0.8
1
1.2
1.4
1.6
Spike-Response-Function
neuronpotential
time in sec
(b) Gröÿeres Synapsengewicht - früheres Feuern
Abbildung 3.5: Zusammenhang des Membranpotentials mit dem Feuerzeitpunkt
3.5. DISKUSSION DES BACK-PROPAGATION ALGORITHMUS 35
3.5 Diskussion des Back-Propagation Algorithmus
Betrachtet man die Fehlerfunktion der sigmoiden NN in Gleichung 3.5 und die der
pulscodierten NN in Gleichung 3.12, so lässt sich daraus bereits das Ausmaÿ des
Unterschieds zwischen Codierung nach dem Betrag im ersten Fall und der Codie-
rung nach Zeit im zweiten Fall erahnen: Bei den sigmoiden Netzen wird die Die-
renz zwischen der tatsächlichen und der erwünschten Ausgabestärke bzw. Feuerrate
der Ausgabeneuronen betrachtet. Dahingegen wird bei den pulscodierten Netzen
die Dierenz zwischen dem tatsächlichen und dem erwünschten Feuerzeitpunkt be-
trachtet. Dementsprechend wird bei der Aktualisierung der Gewichte bei Anwenden
des BP-Algorithmus im ersten Fall die Ausgabestärke bzw. Feuerrate der einzelnen
Neuronen angepasst, während im zweiten Fall der Feuerzeitpunkt der Neuronen an-
gepasst wird. Bei der Klassikation einer Eingabe mit den sigmoiden Netzen wird die
Klasse gewählt, die mit dem Neuron mit der gröÿten Ausgabestärke bzw. höchsten
Feuerrate assoziiert ist, wohingegen bei Pulscodierung das Neuron gewählt wird,
welches zuerst feuert.
Vorteile
+ Methode mathematisch exakt und analysierbar
+ Gute Klassikation
Nachteile
- Neuron feuert pro Simulation genau einmal
- Spike-Response-Functions müssen unnatürlich breit sein
- Ausschlieÿlich für Impulscodierung verwendbar
Tabelle 3.1: Vor- und Nachteile von SpikeProp
Um schlieÿlich zu entscheiden, ob der SpikeProp-Algorithmus geeignet für eine
Implementation in dieser Arbeit ist, müssen schlieÿlich Vor- und Nachteile abge-
wogen werden, die in Tabelle 3.1 kurz zusammengefasst sind. Der Algorithmus ist
mathematisch exakt und deshalb auch gut analysierbar, auÿerdem hat S. Bohte auf
mehreren Datensätzen eine gute Klassikation der erlernten Daten erreicht. Proble-
matisch sind aber einige Voraussetzungen, die für ein Funktionieren des Algorithmus
notwendig sind. So müssen die Spike-Response-Functions sehr breit sein, um eine
Konvergenz des Algorithmus zu erreichen. Weiter kann der Algorithmus nur für Im-
pulscodierung verwendet werden. Zwar ndet diese Form der Codierung sicher in
bestimmten Teilen des Gehirns statt, doch spielen auch noch andere Codierungs-
formen eine Rolle, wie zum Beispiel die Anzahl der aktiven Neuronen in einer Po-
pulation. Eine weitere inakzeptable Einschränkung ist, dass ein Neuron nur einmal
pro Simulation feuern darf. Spätestens der letzte Punkt macht diesen Algorithmus
ungeeignet für ein Implementierung in dieser Arbeit. Schlieÿlich sollen Aktivitäten
von Neuronen des auditorischen Pfads klassiziert werden und diese können natür-
lich mehrmals hintereinander feuern. Aus diesem Grund muss eine neue Möglichkeit
gefunden werden und ein neuer Algorithmus entwickelt werden.
36 KAPITEL 3. LERNEN
3.6 Einteilung der Lernalgorithmen
Bei der Anwendung künstlicher Neuronaler Netze unterscheidet man prinzipiell drei
Arten von Lernen, die entsprechend der Denitionen in [Bis95] eingeführt werden.
Bei überwachtem Lernen ist stets für ein Eingabemuster an das Netz eine er-
wünschte Ausgabe deniert. Ziel des Lernalgorithmus ist, das Netz dermaÿen an-
zupassen, dass für ein Eingabemuster die erwünschte Ausgabe erzeugt wird. Im
Gegensatz dazu steht das unüberwachte Lernen, das keine solche Zieldaten verwen-
det. Anstelle des Lernens einer Eingabe-Ausgabe Abbildung ist hier das Modellieren
der Wahrscheinlichkeitsverteilung der Eingabedaten, das Finden von Clustern oder
sonstigen Strukturen das Ziel. Die dritte Form des Lernens ist schlieÿlich das Re-
inforcement Learning, das bei der Steuerungsprozessen verwendet wird. Dabei wird
das Neuronale Netz als Entscheidungseinheit in einem Zustandsraum verwendet. Zu
bestimmten Zeitpunkten wird aus dem Zustandsraum eine Eingabe an das Netz ge-
neriert. Die daraus berechnete Netzausgabe bestimmt eine von mehreren möglichen
Aktionen, die ausgeführt wird. Aus dem Zustand, der aus der gewählten Aktion
resultiert, wird die Netzausgabe schlieÿlich als gut oder schlecht bewertet.
Die in diesem Kapitel eingeführten Backpropagation-Algorithmen können für das
überwachte Lernen und für das Reinforcement Lernen verwendet werden. Letzteres
wird im Laufe dieser Arbeit allerdings nicht besprochen. Problematischer wird die
Zuordnung des Hebbschen Lernens. Im Allgemeinen ist Hebbsches Lernen unüber-
wacht und für das Training werden keine Muster verwendet. Prinzipiell kann man
aber einem rückgekoppelten Netzwerk durch externe Erregung eine Feuersequenz
vorgeben, die dann durch Hebbsches Lernen gelernt wird. Ein Versuch dazu wird
in Kapitel 5 erläutert. In diesem Spezialfall handelt es sich auch um überwachtes
Lernen, da ein vorgegebenes Muster gelernt werden soll.
Die Zuordnung des im nächsten Kapitel eingeführten Lernalgorithmus ist wieder-
um einfach, es handelt sich um überwachtes Lernen mit vorgegebenen Lernmustern.
3.7 Zusammenfassung
Der Hebbsche Lernalgorithmus wurde entsprechend der allgemeinen Formel, die im
Buch von Gerstner [GK02] beschrieben ist, implementiert. Die Details, die dabei
hinzugefügt wurden, stehen nicht im Widerspruch zu dieser allgemeinen Formel.
Die Untersuchung des Backpropagation-Algorithmus von Bohte hingegen hat
Nachteile dieses Ansatzes aufgezeigt, die gegen eine Implementierung dieses Algo-
rithmus im Simulator sprechen. Deshalb el die Entscheidung, einen neuen Algorith-
mus, der Mustererkennung mit pulscodierten Netzen ermöglicht, zu entwickeln. Um
die Einführung dieses neu entwickelten Algorithmus geht es schlieÿlich im nächsten
Kapitel.
Kapitel 4
Ein neuer
Backprop-Lernalgorithmus
Für die Untersuchung des auditorischen Pfads ist es wünschenswert eine Möglichkeit
zu nden, Impulse, die in einem Zeitintervall in dem zugehörigen Neuronalen Netz
auftreten, decodieren und Klassen zuordnen zu können.
Im vorherigen Kapitel wurde bereits ein BP-Algorithmus für pulscodierte NN
beschrieben, der für Klassikationsprobleme einsetzbar ist. Wegen der in Abschnitt
3.5 beschriebenen Nachteile des Algorithmus ist er aber unbrauchbar für eine Imple-
mentierung in dieser Arbeit. Es gilt also einen Algorithmus zu nden, der Klassika-
tion ermöglicht und im Gegensatz zu SpikeProp mehrmaliges Feuern eines Neurons
zulässt und unabhängig von der Codierung funktioniert.
Im Folgenden wird der in dieser Arbeit entwickelte Algorithmus PulsProp ein-
geführt, der all diesen Anforderungen gerecht werden soll. Die Ideen, die in diesem
Algorithmus eingeossen sind, stammen teils aus Merkmalen des Hebbschen Lernal-
gorithmus und teils aus Merkmalen des Backpropagation-Algorithmus. Im Gegen-
satz zu letzterem wird keine Fehlerfunktion aus der Dierenz von Feuerzeitpunkt tf
j
und dem gewünschten Feuerzeitpunkt td
j eines Ausgabeneurons j berechnet. Viel-
mehr wird die Impulsabfolge
Si(t) =
f
δ(t − tf
i )
eines jeden Ausgabeneurons i ∈ O mit der vom Lernmuster vorgegebenen Impuls-
abfolge
Sd
i (t) =
d
δ(t − td
i )
in einer -Umgebung verglichen, um schlieÿlich Gewichte und Verzögerungselemente
so abzuändern, dass die gewünschte Ausgabesequenz angenähert wird.
4.1 Lernmuster
Wie für den Backpropagation-Algorithmus von Bohte wird auch hier eine vorwärts-
gerichtete Struktur vorausgesetzt, die in Abbildung 3.4 dargestellt ist. Ebenfalls
37
38 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS
wie im SpikeProp-Algorithmus gibt es auch hier Lernmuster µ = (µI, µO), die für
die Eingangsneuronen eine Sequenz von Aktivierungszeitpunkten µI und für die
Ausgangsneuronen eine Sequenz erwünschter Feuerzeitpunkte µO denieren. Da bei
Anwendung von PulsProp jedes Neuron mehrmals feuern kann, müssen diese Lern-
muster allerdings erweitert werden. Damit ergibt sich das Eingabemuster als
µI = { { tf
i } | i ∈ I, t ∈ R+
},
wobei für jedes Eingabeneuron null, ein oder mehrere Feuerzeitpunkte deniert sind
und das Ausgabemuster als
µO = { { td
o } | o ∈ O, t ∈ R+
},
wobei für jedes Ausgabeneuron null, ein oder mehrere Feuerzeitpunkte vorgegeben
sind.
4.2 Listen ShouldFire und ShouldNotFire
Um das Netz zu trainieren, wird ein Lernmuster angewendet. Das heiÿt, die Ein-
gangsneuronen werden zu den im Eingabemuster denierten Zeitpunkten aktiviert
und das pulscodierte Netz wird entsprechend den Ausführungen in Abschnitt 2.5
simuliert. Schlieÿlich erhält man eine Ausgabe des Netzes an den Ausgabeneuronen
in Form von Aktivierungszeitpunkten { tf
o | o ∈ O }. Vergleicht man diese Aktivie-
rungszeitpunkte mit den erwünschten Feuerzeitpunkten im Ausgabemuster, so kann
man Fehler bestimmen, die das Netz für die aktuelle Eingabe macht. Ein Fehler tritt
dann auf, wenn ein Neuron zu einem Zeitpunkt td
j , der im Ausgabemuster deniert
ist, nicht gefeuert hat. Solche Zeitpunkte werden nach der Formel
∀j ∈ O : ( t ∈ {td
j } ∧ ¬∃ tf
j : tf
j  t  tf
j + ) (4.1)
bestimmt und in eine Liste eingetragen. Diese Liste enthält damit alle Zeitpunkte
td
j , zu denen das Neuron hätte feuern sollen, es aber innerhalb einer -Umgebung
vor diesem Zeitpunkt nicht getan hat. Deshalb die Bezeichnung {tS
j }, wobei das
S für should re steht. Entsprechend wird eine Liste deniert, die alle Zeitpunkte
enthält zu denen das Neuron gefeuert hat, dies aber gar nicht vorgesehen war. Für
die Zeitpunkte t die in die Liste should not re {tN
j } kommen, gilt:
∀j ∈ O : ( t ∈ {tf
j } ∧ ¬∃ td
j : td
j −  t  td
j ) (4.2)
Anhand dieser Listen können nun die Synapsen angepasst werden, um Fehler
des Netzes zu vermeiden. Eine wichtige Idee des PulsProp Algorithmus ist es, solche
Listen für alle Neuronen zu bestimmen. Wie dies für die Ausgabeneuronen geschieht
ist dargestellt worden. Die Listen der übrigen Neuronen sollen schlieÿlich jeweils von
den Nachfolgerneuronen bestimmt werden. Ein Neuron fordert also seine Vorgänger
auf, zu bestimmten Zeitpunkten zu feuern und zu anderen nicht zu feuern, um
dadurch zu den bestimmten Zeitpunkten die benötigte Information zu erhalten.
Angenommen für ein Neuron sind diese Listen bestimmt. Dann ist noch unge-
klärt, welche Änderungen am Neuron und seinen Synapsen vorgenommen werden
4.2. LISTEN SHOULDFIRE UND SHOULDNOTFIRE 39
0.02 0.06 0.08 0.1
0
0.5
1
1.5
Potential development in SRM
neuronpotential
time in secti
d
ϑ
tj
f
Abbildung 4.1: Erster Schritt: Verzögerungselemente anpassen
müssen, damit die Fehler, die das Neuron macht, vermieden werden können. In Ab-
bildung 4.1 ist der Ausgangspunkt dieser Betrachtung für ein Neuron dargestellt.
Die x-Achse des Diagramms gibt den Zeitverlauf der Simulation in Sekunden an. Au-
ÿerdem sind zwei Zeitpunkte an dieser Achse hervorgehoben, zum ersten der Feuer-
zeitpunkt tf
j des Vorgängerneurons und zum zweiten der erwünschte Feuerzeitpunkt
td
i des betrachteten Neurons i. Da die zwei Neuronen über zwei Synapsen verbun-
den sind, kommen zu zwei Zeitpunkten Impulse am Neuron i an, falls das Neuron
j zum Zeitpunkt tf
j feuert. Die y-Achse zeigt das Potential an, der Schwellwert ϑ
ist auf eins festgelegt. Vor dem Training entwickelt sich das Membranpotential des
betrachteten Neurons wie dargestellt und es kommt nicht zu einer Aktivierung des
Neurons i zum gewünschten Zeitpunkt. Damit das Neuron zum richtigen Zeitpunkt
feuert, können verschiedene Möglichkeiten kombiniert werden:
Anpassung der Verzögerungselemente Falls ein Impuls zu einem falschen Zeit-
punkt am Neuron eingeht, kann dies durch Änderung des entsprechenden Ver-
zögerungselements dk
ji angepasst werden. Die Pfeile in der Abbildung 4.1 deu-
ten an, in welcher Richtung die Verzögerungselemente angepasst werden müs-
sen, damit eine Lösung angenähert wird. In Abbildung 4.2 ist das Ergebnis
der Anpassung dargestellt. Hier liegt der maximale Wert der ersten Spike-
Response-Function bereits näher am gewünschten Feuerzeitpunkt und eine
Verstärkung dieses Gewichts hätte einen gröÿeren Eekt als vor der Anpas-
sung des Verzögerungselements.
40 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS
0.02 0.06 0.08 0.1
0
0.5
1
1.5
Potential development in SRM
neuronpotential
time in secti
d
ϑ
tj
f
Abbildung 4.2: Zweiter Schritt: Gewichte anpassen
0.02 0.06 0.08 0.1
0
0.5
1
1.5
Potential development in SRM
neuronpotential
time in sec
t
i
d
ϑ
tj
f
Abbildung 4.3: Dritter Schritt: Feuerzeitpunkte der Vorgängerneuronen festsetzen
4.2. LISTEN SHOULDFIRE UND SHOULDNOTFIRE 41
0 0.02 0.06 0.08 0.1
0
0.5
1
1.5
Potential development in SRM
neuronpotential
time in secti
d
tj
f
ϑ
Abbildung 4.4: Nach einem Trainingsdurchlauf
Anpassung der Gewichte Schlieÿlich können die Gewichte selbst angepasst wer-
den, um die Auslenkung des Membranpotentials in die gewünschte Richtung zu
verschieben. Die Pfeile in Abbildung 4.2 zeigen an, wie die Gewichte geändert
werden müssen. Da das Neuron in diesem Beispiel nicht zum erwünschte Zeit-
punkt td
i bzw. tS
i feuert, muss dasjenige Synapsengewicht vergröÿert werden,
welches zur Aktivierung des Membranpotentials entsprechend yk
ji(tS
i ) beiträgt.
Das Ergebnis der Anpassung ist in Abbildung 4.3 dargestellt, wobei das Mem-
branpotential bereits fast den Schwellwert erreicht.
Anpassung der Vorgängerneuronen Indem die Vorgängerneuronen für das an-
liegende Muster zu den richtigen Zeitpunkten feuern, senden diese Impulse
zu i, deren Potentialauslenkungen dann um den erwünschten Zeitpunkt td
i
aufsummiert werden. Je nachdem, ob die Synapsengewichte positiv oder ne-
gativ sind, wird das Potential von i ausgelenkt. So kann ein Neuron aktiviert
oder gehemmt werden. Dazu ist in Abbildung 4.3 durch einen Pfeil angedeu-
tet, wie der Zeitpunkt des Feuerns des Vorgängerneurons verschoben werden
müsste, damit der Maximalwert der Spike-Response-Function des ersten Im-
pulses noch ein Stück näher an den erwünschten Feuerzeitpunkt herankommt.
Dementsprechend trägt das Neuron i den erwünschten Feuerzeitpunkt von j
in die Liste should re des Neurons j ein. Passt j daraufhin sein Feuerverhal-
ten entsprechend an, so erhält man die Potentialentwicklung in i wie sie in
Abbildung 4.4 dargestellt ist.
42 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS
Im PulsProp-Algorithmus werden alle drei genannten Möglichkeiten kombiniert.
Die Details der einzelnen Schritte sind in den folgenden Abschnitten ausgeführt.
4.3 Anpassung der Verzögerungselemente
Betrachtet wird ein Neuron j, für das bereits die beiden Listen should re und
should not re bestimmt worden sind. Die Anpassung der Verzögerungselemente dk
ij
der Synapsen wird nur durchgeführt, falls ein Zeitpunkt tS
j aus der Liste should re
betrachtet wird. Im anderen Fall genügt es, die unerwünschte Aktivität des Neurons
durch Abschwächung der Gewichte zu unterdrücken. Falls kein Vorgängerneuron
feuert, wird der Schritt der Anpassung der Verzögerungselemente und der Schritt
der Gewichtsanpassung ausgelassen. Der Algorithmus springt sofort zum Schritt des
Zurückpropagierens der erwünschten Feuerzeitpunkte. Schlieÿlich macht es keinen
Sinn die ausgelassenen Schritte durchzuführen, solange gar nicht klar ist, wann das
Vorgängerneuron denn feuern würde.
Wird nun ein solcher Zeitpunkt tS
j betrachtet, so muss eine Anpassung der Ver-
zögerungselemente durchgeführt werden, damit am Ende der Lernens für wenigstens
ein dk
ij und einen Feuerzeitpunkt tf
i des Vorgängerneurons für ein  0 gilt:
tS
j − dk
ij − ≤ tf
i  tS
j − dk
ij. (4.3)
Ein Impuls, der über diese Synapse eingeht kann dann, neben anderen, das betrach-
tete Neuron zum erwünschten Zeitpunkt aktivieren.
Die Schrittweite der Anpassung der verschiedenen Verzögerungselemente auf ei-
ner Verbindung wird entsprechend dem Neural Gas Algorithmus [MS91] abgeändert.
Dieser dient dem Clustern einer Menge von Datenpunkten über Referenzvektoren.
Dabei wird iterativ ein Datenpunkt gewählt und die jeweilige Dierenz der Refe-
renzvektoren zum Datenpunkt berechnet. Daraufhin wird jeder Referenzvektor in
Richtung des Datenpunktes verschoben, jeweils in Abhängigkeit eines Rankings der
Referenzvektoren. Der Referenzvektor der den kleinsten Abstand zum Datenpunkt
besitzt wird am stärksten abgeändert. In jedem der aufeinanderfolgenden Schrit-
te wird die Schrittweite der Änderung verkleinert. Der im Folgenden vorgestellte
Algorithmus entstand durch Änderung des Neural Gas Algorithmus.
Um die Verzögerungselemente im Neuronalen Netz einzustellen, muss der Neural
Gas Algorithmus angepasst werden. Ein Datenpunkt ist hier ein gedachtes Verzöge-
rungselement dk
ij, das einen Impuls tf
i vom Vorgängerneuron i genau so verzögert,
dass der Impuls kurz vor dem Zeitpunkt tS
j am Neuron j eintrit. In diesem Fall
hätte der eingehende Impuls den maximal möglichen Anteil an der Aktivierung des
Neurons j. Der Neural Gas Algorithmus wird nun verwendet, um ein Verzögerungs-
element dk
ij so einzustellen, dass es als Referenzvektor für eine Menge solcher gedach-
ten Verzögerungselemente dient. Ein Verzögerungselement soll also eine Mittelung
mehrerer solcher Datenpunkte sein, die in der Menge der Lernmuster auftreten.
Im ersten Schritt des Algorithmus wird ermittelt, welche Synapsen in welchem
zeitlichen Abstand zum erwünschten Feuerzeitpunkt aktiv sind und Impulse über-
tragen. Dies wird durch die Berechnung der Dierenzen
∆dk
ij = tS
j − (dk
ij + tf
i ) (4.4)
4.3. ANPASSUNG DER VERZÖGERUNGSELEMENTE 43
für alle Feuerzeitpunkte tf
i aller Vorgängerneuron und den entsprechenden Verzöge-
rungselementen dk
ij erreicht. Würde man ∆dk
ij zu dk
ij addieren, so würde man genau
das gedachte Verzögerungselement erhalten. Gilt ∆dk
ij  0, dann ist die Synapse
mit dem Beitrag yk
ij(tS
j ) an dem Zustand uj(tS
j ) beteiligt. Es werden zwei Listen ge-
bildet: L1 = {∆dk
ij| ∆dk
ij ≥ 0} ist die Liste der positiven ∆dk
ij und wird aufsteigend
sortiert, L2 = {∆dk
ij| ∆dk
ij  0} ist die Liste der negativen ∆dk
ij und wird absteigend
sortiert. Der Rang rk
ij einer Synapse sk
ij wird dann deniert als die Position von ∆dk
ij
in der Vereinigung der Listen L1 und L2, wobei L2 an die Liste L1 angehängt wird.
Schlieÿlich wird jedes Verzögerungselement dk
ij angepasst durch die Rechenope-
rationen:
1. falls ∆dk
ij ≥ 0, setze (∆dk
ij) ← ∆dk
ij − γ+, γ+  0, sonst (∆dk
ij) ← ∆dk
ij −
γ−, γ−  0
2. λ ← λi ∗ (λf /λi)(mk
ij/mmax)
, falls λ ≤ 0 setze λ ← const  0
3. ← i ∗ ( f / i)(mk
ij/mmax)
4. ν ← e(−(rk
ij−1)/λ)
5. ∆ ← ∗ ν ∗ yj(tS
j ) ∗ (∆dk
ij)
6. falls gilt ∆ + dk
ij  0 setze dk
ij ← ∆ + dk
ij, sonst dk
ij ← const  0
Die erste Rechenoperation ist ein Ergänzung des Neural Gas Algorithmus. Sie
wird ausgeführt um sicherzustellen, dass die Synapse kurz vor der gewünschten Neu-
ronenaktivierung zum Zeitpunkt tS
j und auf keinen Fall hinterher aktiv ist, weshalb
die Gröÿen γ+ und γ− neu eingeführt wurden. Die Rechenoperationen zwei bis
fünf entsprechen den eigentlichen Operationen des Neural Gas Algorithmus. Wie im
Originalalgorithmus ist λ ein Faktor, der die Schrittweite der Anpassung in Abhän-
gigkeit des Rankings absinken lässt. Die Schrittweite der Anpassung in Abhängigkeit
des Rankings der betrachteten Synapse ν selbst wird in Schritt vier berechnet. In
Schritt drei wird die Abnahme der Schrittweite über die Zeit berechnet. Der Zeit-
faktor t des Originals wurde ersetzt durch den Zähler mk
ij. Nach jedem Lernschritt
wird dieser Zähler erhöht, so dass die Schrittweite der Anpassung der Verzögerungs-
elemente mit der Zahl an Trainingsschritte abnimmt. Der sechste Schritt wiederum
stammt nicht aus dem Neural Gas Algorithmus. Er wurde eingeführt, um zu ver-
hindern, dass ein Verzögerungselement kleiner als null wird. Die Aktualisierung von
mk
ij ndet erst nach der Anpassung der Gewichte statt und wird im Abschnitt 4.4
beschrieben. Der Faktor yj(tS
j ) des Neurons wird dazu verwendet, die Anpassung
von Synapsen zu gewichten und wird vom Nachfolgerneuron bei der Denition von
Zeitpunkten in den Listen should re und should not re mit eingetragen. Die Be-
stimmung dieses Faktors wird im Abschnitt 4.5 erklärt.
44 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS
4.4 Anpassung der Gewichte
Nach der Anpassung der Verzögerungselemente folgt die Anpassung der Gewichte,
allerdings nur falls das Vorgängerneuron wenigstens einmal aktiv war. Ansonsten
folgt sofort der nächste Schritt des Zurückpropagierens der Feuerzeitpunkte.
Wieder werden die Zeitpunkte betrachtet, die in den Listen should re und should
not re enthalten sind. Falls es sich dabei um einen Zeitpunkt tS
j handelt an dem
das Neuron feuern sollte, werden die Gewichte vergröÿert, andernfalls werden die
Gewichte verkleinert. Der Zusammenhang ist oensichtlich: hat ein Neuron nicht
zu einem Zeitpunkt t gefeuert, dann wird das Feuern wahrscheinlicher, wenn alle
Synapsen, die zum Membranpotential zum Zeitpunkt t beitragen vergröÿert werden.
Umgekehrt verhält es sich, wenn ein Neuron irrtümlich zu einem Zeitpunkt t gefeuert
hat. In diesem Fall wird das Feuern unwahrscheinlicher, falls die entsprechenden
Gewichte verkleinert werden.
Nachdem festgestellt worden ist, in welcher Richtung das Gewicht wk
ij abgeändert
werden muss, gilt es noch zu bestimmen mit welcher Schrittweite dies geschehen
soll. Dabei sollen möglichst die Gewichte abgeändert werden, die noch keine bzw.
nur wenig Information tragen. Gewichte hingegen, die viel Information tragen, sollen
möglichst wenig abgeändert werden, um bereits Gelerntes nicht wieder zu löschen.
Dabei wird die Annahme verwendet, dass Gewichte, die häug abgeändert worden
sind, viel Information tragen und dass Gewichte, die wenig abgeändert worden sind,
dementsprechend wenig Information tragen.
Aus dieser Überlegung stammt die Idee, die Gewichte als eine Art gewichteten
Mittelwert zu berechnen. Würde man beispielsweise ein Gewicht zehn mal abändern,
so könnte man das resultierende Gewicht als Mittelwert aus allen zehn Zwischen-
schritte berechnen. Eine Gewichtung der einzelnen Schritte erlaubt es, bestimmte
Schritte mehr, andere hingegen weniger mit in den Endwert einieÿen zu lassen.
Dies wird erreicht durch Anpassung des Verfahrens zur stochastischen Approxima-
tion eines Erwartungswertes:
¯vn+1 = ¯vn +
1
n + 1
(vn+1 − ¯vn) (4.5)
Um die Gewichtsanpassung auszuführen wird ¯vn durch ¯wk
ij ersetzt, das Gewicht
wird also als eine Art Mittelwert berechnet. Deshalb wird der Wert vn in obiger
Gleichung auf 1·yk
ij(t) gesetzt, falls das Gewicht erhöht werden soll und auf −1·yk
ij(t),
falls es vermindert werden soll. Die Einzelnen Stichproben erhalten allerdings eine
unterschiedliche Gewichtung, indem die Schrittweite angepasst wird. Für Zeitpunkte
der Liste should re erhält man eine Gewichtsanpassung nach der Regel:
wk
ij ← wk
ij +
|yj(tS
j ) yk
ij(tS
j )|
mk
ij(tS
j ) + |yj(tS
j ) yk
ij(tS
j )|
(yk
ij(tS
j ) − wk
ij), (4.6)
und für Zeitpunkte die in der Liste should not re enthalten sind nach der Regel:
wk
ij ← wk
ij +
|yj(tS
j ) yk
ij(tN
j )|
mk
ij + |yj(tS
j ) yk
ij(tN
j )|
(−yk
ij(tN
j ) − wk
ij), (4.7)
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen
Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen

Weitere ähnliche Inhalte

Was ist angesagt?

Vts 6543 8913
Vts 6543 8913Vts 6543 8913
Vts 6543 8913bruntj
 
Handbuch de
Handbuch deHandbuch de
Handbuch degordem
 
BachelorThesisGerman
BachelorThesisGermanBachelorThesisGerman
BachelorThesisGermanSimon Appel
 
Numerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationNumerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationRoland Bruggmann
 
Diplomarbeit Sicherheitsbank
Diplomarbeit SicherheitsbankDiplomarbeit Sicherheitsbank
Diplomarbeit Sicherheitsbankmedentic
 
Visualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und DatenstrukturenVisualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und DatenstrukturenRoland Bruggmann
 

Was ist angesagt? (12)

Thesis
ThesisThesis
Thesis
 
Ghf Skript 2009
Ghf Skript 2009Ghf Skript 2009
Ghf Skript 2009
 
Diploma_Thomas_Heinemann
Diploma_Thomas_HeinemannDiploma_Thomas_Heinemann
Diploma_Thomas_Heinemann
 
Vts 6543 8913
Vts 6543 8913Vts 6543 8913
Vts 6543 8913
 
mabio
mabiomabio
mabio
 
Handbuch de
Handbuch deHandbuch de
Handbuch de
 
BachelorThesisGerman
BachelorThesisGermanBachelorThesisGerman
BachelorThesisGerman
 
Handbuch
HandbuchHandbuch
Handbuch
 
German Original
German OriginalGerman Original
German Original
 
Numerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und IntegrationNumerische Methoden: Approximation und Integration
Numerische Methoden: Approximation und Integration
 
Diplomarbeit Sicherheitsbank
Diplomarbeit SicherheitsbankDiplomarbeit Sicherheitsbank
Diplomarbeit Sicherheitsbank
 
Visualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und DatenstrukturenVisualisierung von Algorithmen und Datenstrukturen
Visualisierung von Algorithmen und Datenstrukturen
 

Ähnlich wie Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen

Bachelorarbeit paul gerber.pdf
Bachelorarbeit paul gerber.pdfBachelorarbeit paul gerber.pdf
Bachelorarbeit paul gerber.pdfwissem hammouda
 
Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...
Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...
Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...Daniel Grimmeisen
 
Vergleich des Scala Web-Frameworks Lift mit dem Java EE Programmiermodell
Vergleich des Scala Web-Frameworks Lift mit dem Java EE ProgrammiermodellVergleich des Scala Web-Frameworks Lift mit dem Java EE Programmiermodell
Vergleich des Scala Web-Frameworks Lift mit dem Java EE Programmiermodelladesso AG
 
Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...
Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...
Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...Hendrik Drachsler
 
C++ Standard Template Library
C++ Standard Template LibraryC++ Standard Template Library
C++ Standard Template Libraryguestfc11c0c
 
Informationsvisualisierung Im Semantic Web1
Informationsvisualisierung Im Semantic Web1Informationsvisualisierung Im Semantic Web1
Informationsvisualisierung Im Semantic Web1brisvegas1
 
Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617guest465f28
 
Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617guest465f28
 
Maven Definitive Guide De
Maven Definitive Guide DeMaven Definitive Guide De
Maven Definitive Guide Debouchri
 
Modulhandbuch 2008
Modulhandbuch 2008Modulhandbuch 2008
Modulhandbuch 2008guest995aa7
 

Ähnlich wie Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen (20)

Bachelorarbeit paul gerber.pdf
Bachelorarbeit paul gerber.pdfBachelorarbeit paul gerber.pdf
Bachelorarbeit paul gerber.pdf
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
Mocek Thesis
Mocek ThesisMocek Thesis
Mocek Thesis
 
Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...
Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...
Numerische Simulation der Flammenausbreitung in einem Versuchsaufbau für fort...
 
Vergleich des Scala Web-Frameworks Lift mit dem Java EE Programmiermodell
Vergleich des Scala Web-Frameworks Lift mit dem Java EE ProgrammiermodellVergleich des Scala Web-Frameworks Lift mit dem Java EE Programmiermodell
Vergleich des Scala Web-Frameworks Lift mit dem Java EE Programmiermodell
 
Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...
Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...
Rödling, S. (2019). Entwicklung einer Applikation zum assoziativen Medien Ler...
 
Hb Autopilot
Hb AutopilotHb Autopilot
Hb Autopilot
 
C++ Standard Template Library
C++ Standard Template LibraryC++ Standard Template Library
C++ Standard Template Library
 
Informationsvisualisierung Im Semantic Web1
Informationsvisualisierung Im Semantic Web1Informationsvisualisierung Im Semantic Web1
Informationsvisualisierung Im Semantic Web1
 
Komplexe Zahlen
Komplexe ZahlenKomplexe Zahlen
Komplexe Zahlen
 
Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617
 
Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617Multicore Parallele Programmierung Kng617
Multicore Parallele Programmierung Kng617
 
Maven Definitive Guide De
Maven Definitive Guide DeMaven Definitive Guide De
Maven Definitive Guide De
 
Modulhandbuch 2008
Modulhandbuch 2008Modulhandbuch 2008
Modulhandbuch 2008
 

Diplomarbeit: Lernen in pulscodierten Neuronalen Netzen

  • 1. Leiter des Instituts: Prof. Dr.-Ing. D. Schmid Lernen in pulscodierten Neuronalen Netzen Diplomarbeit von Wolfgang Weiss (wweiss40@hotmail.com) August 2003 Ausgeführt unter der Leitung von Dr. Fridtjof Feldbusch Institut für Rechnerentwurf und Fehlertoleranz Universität Karlsruhe Prof. Dr. Detlef Schmid Institut für Rechnerentwurf und Fehlertoleranz Universität Karlsruhe
  • 2. Vorwort Der Titel dieser Diplomarbeit enthält das Wort Lernen. Für den Sprachgebrauch wird dieses Wort im Duden [Dro89] deniert als: im Laufe der Zeit [durch Erfahrungen] zu einer bestimmten inneren Haltung zu gelangen. Dies lautet etwas abgeschwächt: im Laufe der Zeit [durch Erfahrungen] zu einem bestimmten Verhalten zu gelangen. Dieses Wort wird darüberhinaus mit dem aktiven Streben eines Individuums nach Wissen assoziiert, denn wiederum nach dem Duden bedeutet Lernen auch: sich Wissen anzueignen. Die Neuroinformatik ist daran interessiert die essentiellen Vorgänge, die beim Lernen in natürlicher Organismen stattnden, in einem mathematischen Modell zu erfassen. Das Ergebnis soll schlieÿlich am Rechner simuliert und so für die Technik nutzbar gemacht werden. Einigkeit besteht unter Wissenschaftlern darüber, dass bei den natürlichen Organismen so genannte Neuronen die Grundbausteine aller Lernvorgänge sind. Das Wissen, das über diese biologischen Neuronen und deren Vernetzung während des letzten Jahrhunderts zusammengetragen wurde, ist groÿ. Dennoch ist die Suche nach dem mathematischen Modell und dessen Simulation am Rechner nicht sehr fortgeschritten. Entweder sind die verwendeten Modelle so genau, dass die Simulation eines aus vielen Neuronen bestehenden Netzwerks einen zu groÿen Rechenaufwand hat. In diesem Fall kommen die simulierten Netzwer- ke am Rechner allenfalls an die Leistung von biologischen Netzwerken in kleinsten Lebewesen heran, wie etwa einer Meeresschnecke. Oder die Modelle sind zu ein- fach, wodurch entscheidende Merkmale des Lernvorgangs verloren gehen und das Netzwerk nur lernt Eingaben eines Datenraums auf Sollausgabewerte abzubilden. Deshalb hat der Begri Lernen im Zusammenhang mit dieser Diplomarbeit und dem Forschungsbereich Neuroinformatik keine solch weit reichende Bedeutung wie der im Sprachgebrauch des täglichen Lebens verwendete Begri. Trotz aller Honungen in die Neuroinformatik lässt der groÿe Durchbruch seit einem halben Jahrhundert auf sich warten. Zwar wird das einfachste Modell von Neuronen und deren Verknüpfung zu Netzwerken, den sogenannten sigmoiden Neu- ronalen Netzen, erfolgreich für Datenanalyse und Zeitreihenprognose eingesetzt. Da- hingegen hat sich dieses Modell für die Simulation der Vorgänge in biologischen Neu- ronalen Netzen als zu abstrakt erwiesen. Deshalb liegt das Hauptaugenmerk dieser Diplomarbeit auf den pulscodierten Neuronalen Netzen, die ein genaueres Modell der Natur darstellen als die sigmoiden. Die Honung ist, dass dieses Modell ermöglicht die Zeit als Gröÿe des Eingaberaums mit zu erfassen und dennoch einfach genug ist, um damit groÿe Netzwerke simulieren zu können. i
  • 3. ii Danksagung Für eine exzellente Betreuung bei der Erstellung dieser Arbeit möchte ich mich bei Herrn Dr. Feldbusch bedanken. Für das geduldige Korrekturlesen der Arbeit möchte ich mich bei Daniela Mix bedanken. Weiter gilt mein Dank Wolfgang Globke, der mir bei der Strukturierung des Matlab-Codes und darüberhinaus mit Korrekturlesen half. Mein besonderer Dank gilt meinen Eltern, die mich während der gesamten Studienzeit geduldig unterstützt haben. Erklärung Ich erkläre hiermit, diese Arbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet zu haben. Karlsruhe, den 23. August 2003 Wolfgang Weiss
  • 4. Inhaltsverzeichnis Vorwort i 1 Einleitung 1 1.1 Motivation der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Einfache Modelle Neuronaler Netze 5 2.1 Einfache Beschreibung natürlicher Neuronen . . . . . . . . . . . . . . 6 2.2 Wahl des Neuronenmodells . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Modell ohne Pulscodierung . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.1 Perzeptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.2 Multilayer-Perceptron . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Modell mit Pulscodierung . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 Spike-Response-Model . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2 Perzeptron und Spike-Response-Model . . . . . . . . . . . . . 15 2.5 Implementiertes Modell . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5.1 Vereinfachungen am Spike-Response-Model . . . . . . . . . . 15 2.5.2 Diskussion der Vereinfachungen . . . . . . . . . . . . . . . . . 18 2.6 Codierung in Neuronalen Netzen . . . . . . . . . . . . . . . . . . . . 20 2.6.1 Ratencodierung . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.6.2 Impuls-Zeit-Codierung . . . . . . . . . . . . . . . . . . . . . . 20 2.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3 Lernen 23 3.1 Hebbsches Lernen in pulscodierten Netzen . . . . . . . . . . . . . . . 23 3.1.1 Hebbsches Postulat für biologische Neuronen . . . . . . . . . 24 3.1.2 Impuls-Zeit-Basiertes Lernen . . . . . . . . . . . . . . . . . . 24 3.1.3 Implementierung im Simulator . . . . . . . . . . . . . . . . . 27 3.2 Diskussion Hebbsches Lernen . . . . . . . . . . . . . . . . . . . . . . 28 3.3 Backpropagation-Algorithmus in sigmoiden Netzen . . . . . . . . . . 29 3.4 Back-Propagation in Pulscodierten Netzen . . . . . . . . . . . . . . . 31 3.5 Diskussion des Back-Propagation Algorithmus . . . . . . . . . . . . . 35 3.6 Einteilung der Lernalgorithmen . . . . . . . . . . . . . . . . . . . . . 36 3.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 iii
  • 5. iv INHALTSVERZEICHNIS 4 Ein neuer Backprop-Lernalgorithmus 37 4.1 Lernmuster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2 Listen ShouldFire und ShouldNotFire . . . . . . . . . . . . . . . . . . 38 4.3 Anpassung der Verzögerungselemente . . . . . . . . . . . . . . . . . . 42 4.4 Anpassung der Gewichte . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.5 Zurückpropagieren der Feuerzeitpunkte . . . . . . . . . . . . . . . . . 45 4.6 Ablauf des Trainings . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.7 Diskussion PulsProp . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.8 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5 Testfälle 53 5.1 Learn to be fast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2 Der IRIS-Datensatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.1 Versuchsaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.2 Ergebnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.3 Test backcoupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6 Optimierung der Parameter 71 6.1 Hill-Climbing-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 Bewertungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.3 Mutation der Parameter . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7 Resultat und Ausblick 75 A Bedienung des Simulators 77 A.1 Erzeugung der Testmuster . . . . . . . . . . . . . . . . . . . . . . . . 77 A.2 Erzeugung der Netzstruktur . . . . . . . . . . . . . . . . . . . . . . . 77 A.3 Start der Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 A.4 Parameter der Simulation . . . . . . . . . . . . . . . . . . . . . . . . 79 B Aufbau des Simulators 81 B.1 Wichtige Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . 81 B.2 Einbindung der Trainingsalgorithmen . . . . . . . . . . . . . . . . . . 81
  • 6. Abbildungsverzeichnis 1.1 Der auditorische Pfad des Menschen . . . . . . . . . . . . . . . . . . 2 2.1 A. Zeichnung eines einzelnen Neurons B. Signalübertragung zwischen Neuronen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Überlagerung der Impulse im Soma . . . . . . . . . . . . . . . . . . . 8 2.3 Mathematische Neuronenmodelle mit abnehmender Komplexität . . 9 2.4 Oft verwendete Spike-Response-Functions . . . . . . . . . . . . . . . 12 2.5 Potentialentwicklung bei 9 nacheinander eintreenden Impulsen . . . 13 2.6 Verlauf des Nachpotentials . . . . . . . . . . . . . . . . . . . . . . . . 14 2.7 Verschiedene Spike-Response-Functions . . . . . . . . . . . . . . . . . 16 2.8 Gewählte Spike-Response-Function . . . . . . . . . . . . . . . . . . . 17 2.9 Potentialentwicklung im implementierten Modell . . . . . . . . . . . 18 3.1 Hebbsches Lernen in biologischen Neuronen . . . . . . . . . . . . . . 25 3.2 Einuss der Parameter auf die Gewichtsänderung . . . . . . . . . . . 26 3.3 Implementiertes Lernfenster . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 Aufbau eines vorwärtsgerichteten, dreischichtigen Netzes . . . . . . . 32 3.5 Zusammenhang des Membranpotentials mit dem Feuerzeitpunkt . . 34 4.1 Erster Schritt: Verzögerungselemente anpassen . . . . . . . . . . . . 39 4.2 Zweiter Schritt: Gewichte anpassen . . . . . . . . . . . . . . . . . . . 40 4.3 Dritter Schritt: Feuerzeitpunkte der Vorgängerneuronen festsetzen . . 40 4.4 Nach einem Trainingsdurchlauf . . . . . . . . . . . . . . . . . . . . . 41 5.1 Versuch learn to be fast von Gerstner . . . . . . . . . . . . . . . . . . 54 5.2 Aufbau des neuronalen Netzes für Test be fast . . . . . . . . . . . . . 54 5.3 Das Netz vor dem Training in Test be fast . . . . . . . . . . . . . . . 55 5.4 Das Netz nach 11 Lernschritten in Test be fast . . . . . . . . . . . . . 56 5.5 Das Netz nach 13 Lernschritten in Test be fast . . . . . . . . . . . . . 58 5.6 Entwicklung der Synapsen während des Trainings in Test be fast . . . 59 5.7 Die Aktivierungszeitpunkte der Neuronen in Test IRIS patterns . . . 61 5.8 Potentialverlauf zweier Neuronen in Test IRIS patterns . . . . . . . . 62 5.9 Potentialverlauf des Ausgabeneurons in Test IRIS patterns . . . . . . 63 5.10 Aufbau des Netzes für Test backcoupling . . . . . . . . . . . . . . . . 65 5.11 Vorgegebene Sequenz für Training in Test backcoupling . . . . . . . . 66 5.12 Erzeugte Sequenz nach Training in Test backcoupling . . . . . . . . . 66 v
  • 7. vi ABBILDUNGSVERZEICHNIS 5.13 Die Sequenz ist stabil in Test backcoupling . . . . . . . . . . . . . . . 67 5.14 Zweites Lernmuster für Test backcoupling . . . . . . . . . . . . . . . 68 5.15 Die Sequenzantwort auf das zweite Muster in Test backcoupling . . . 69 5.16 Die Sequenzantwort auf das erste Muster in Test backcoupling . . . . 69
  • 8. Kapitel 1 Einleitung Bevor im nachfolgenden Kapitel Grundlagen zum Verständnis der Arbeit eingeführt werden, folgt im ersten Abschnitt dieses Kapitels noch eine kurze Beschreibung des übergeordneten Projekts, das durch diese Arbeit weitergeführt wird. Nach diesen Erläuterungen kann schlieÿlich im zweiten Abschnitt die Denition der Aufgaben- stellung erfolgen. 1.1 Motivation der Arbeit Die vorliegende Arbeit ist Teil eines Projektes, das von Herrn Dr. Feldbusch durch- geführt wird. Dabei geht es im Wesentlichen darum, den auditorischen Pfad des Menschen verstehen zu lernen. In Abbildung 1.1 ist dessen Aufbau schematisch dar- gestellt. Die Cochlea empfängt aus der Umgebung Schallwellen über die Luft und extrahiert über verschiedene komplizierte Mechanismen aus diesen Information. Die gewonnene Information wird in Form von elektrischen Impulsen über verschiedene Kerne des auditorischen Pfads geleitet. Diese Kerne sind Anhäufungen von Neuro- nen, spezialisierten Körperzellen, denen die Aufgabe der Signalverarbeitung zufällt. Jeder Kern wiederum verarbeitet die Information weiter und schickt sie zum Nach- folgekern, bis schlieÿlich Signale am auditorischen Cortex eingehen, der Endpunkt des auditorischen Pfads ist. Ziel des Projekts ist, durch das gewonnene Wissen über die Funktionsweise des auditorischen Pfads eine neue Generation von Hörgeräten zu ermöglichen, die besser auf die Bedürfnisse hörgeschädigter Menschen zugeschnitten ist. Im Vorfeld dieser Arbeit hat Thomas Fleischmann das Projekt eingeleitet, in- dem er das Matlab-Programm AFM geschrieben hat. Dieses Programm bindet den Simulator AMS in Matlab ein, der die Funktion der Cochlea nachahmt. Der wirklich schwierige Teil steht allerdings noch bevor, nämlich die Funktionsweise der Kerne des auditorischen Pfads im Simulator nachzubilden. Grundbaustein dieser Kerne sind, wie bereits erwähnt, die Neuronen. Ein einzelnes natürliches Neuron allein ist bereits sehr komplex. Bei der Untersuchung, der Weiterleitung und Verarbeitung der Signale durch Neuronen werden deshalb alle biologischen Details dieser Zellen wie etwa Zellkern, Ribosomen, etc. weggelassen. Man betrachtet ausschlieÿlich die 1
  • 9. 2 KAPITEL 1. EINLEITUNG Abbildung 1.1: Der auditorische Pfad des Menschen Zellmembran, welche elektrische Signale innerhalb einer Zelle weiterleitet und die Synapsen, welche elektrische Signale zwischen den Zellen übertragen. Aus der beschriebenen Komplexität der Neuronen ergibt sich das erste Problem bei der Untersuchung des auditorischen Pfads. Denn zunächst muss untersucht wer- den, welche Bestandteile solcher Neuronen für die Funktion verantwortlich sind, die von einem groÿen Netz tausender solcher Neuronen ausgeübt wird. Eine entschei- dende Rolle wird dabei der Adaption der Synapsen zugewiesen. Diese ermöglicht zeitliche Koordinierung von ein- und ausgehenden Signalen und ist letztlich auch für höhere Lernvorgänge im Gehirn verantwortlich. In dieser Arbeit muss also ein Modell der Neuronen gefunden werden, das eine schnelle Simulation am Computer ermöglicht und doch keine entscheidenden Details der Neuronen unterschlägt. Weiter müssen Lernalgorithmen untersucht werden, die die Adaption der Synapsen vornehmen. Dabei kann man biologisch begründete Al- gorithmen von Algorithmen, die aus der Analyse der Neuronenmodelle entstanden sind, unterscheiden. Schlieÿlich müssen durch theoretische Überlegungen und über Tests am Computer die Vor- und Nachteile der verschiedenen Ansätze herausgear- beitet werden. 1.2 Aufgabenstellung Es soll ein schneller Simulator für pulscodierte Neuronale Netze unter Matlab imple- mentiert werden. Der Simulator ist so zu gestalten, dass unter dem Gehörsimulator AFM erzeugte Impulsmuster als Eingabe verarbeitet werden können. Auÿerdem soll- te die Denition der Netzstruktur möglichst variabel sein, um nachfolgende Ände-
  • 10. 1.2. AUFGABENSTELLUNG 3 rungen zu vereinfachen. Das hierfür empfohlene Neuronenmodell stellt eine Verein- fachung des in der Literatur als Spike-Response-Model bekannten Neuronenmodells dar. Deshalb ist weiter zu untersuchen, ob die Anwendung dieses vereinfachten Mo- dells sinnvoll ist. Hauptaugenmerk muss aber auf der Untersuchung von Lernalgorithmen für puls- codierte Neuronale Netze liegen. Zum einen muss der Hebbsche Lernalgorithmus im Simulator eingefügt werden, um damit Fallbeispiele aus der Literatur nachzubilden und damit unter anderem das verwendete einfache Neuronenmodell zu testen. Weiter ist zu untersuchen, ob es Algorithmen gibt, die Klassikation mit puls- codierten Neuronalen Netzen erlauben. Wenn ja, dann soll einer davon für eine Simulation ausgewählt, ansonsten ein neuer entwickelt werden. Dabei wird darauf Wert gelegt, neue Ideen zu entwickeln und mögliche neue Ansätze zu nden und nicht etwa nur bereits Vorhandenes zu verwenden.
  • 11. 4 KAPITEL 1. EINLEITUNG
  • 12. Kapitel 2 Einfache Modelle Neuronaler Netze Neuronale Netze in Organismen sind die zentralen Steuereinheiten um Bewegungen zu koordinieren, die Umwelt wahrzunehmen und in der höchsten Entwicklungsstufe, um einem Organismus ein Bewusstsein zu verleihen. Bausteine dieser Neuronalen Netze sind die sogenannten Neuronen, spezialisierte Körperzellen die in Organismen ausschlieÿlich zur Verarbeitung von Signalen dienen. Will man das Schaltverhalten von vielen Neuronen untersuchen und deren Funk- tion am Computer simulieren, so stöÿt man schnell an Grenzen der Rechenkapazität. Deshalb muss ein Modell verwendet werden, welches stark vom natürlichen Neuron in Lebewesen abstrahiert, Details des molekularen Aufbaus dieser Zellen müssen ver- nachlässigt werden. Die entscheidende Frage ist hierbei, welche Details weggelassen werden können und welche erhalten werden müssen, damit die Leistungsfähigkeit des Modells möglichst an die des Originals herankommt. Was aber ist der richtige Ansatz um zu einer Antwort auf diese Frage zu kommen? Ist es besser, ausgehend von exak- ten Modellen immer weiter zu abstrahieren bis man das gewünschte Resultat erhält oder beginnt man, sehr einfache Modelle zu untersuchen und diesen schrittweise Details hinzuzufügen? Die Antwort hierauf kann wohl nicht allgemeingültig gege- ben werden, vielmehr hängt die Beantwortung dieser Frage vom Betrachter selbst ab. Je nach Fragestellung der Untersuchung und Ziele einer Simulation sind andere Aspekte von Bedeutung und entsprechend unterschiedlich sind die implementierten Neuronenmodelle. Die Informatik ist bei der Beobachtung natürlicher Vorgänge stets daran inter- essiert, Methoden abzuleiten, die konkret für die Informationsverarbeitung verwen- det werden können. Deshalb beschäftigt sich diese traditionell mit dem einfachsten Modell Neuronaler Netze, dem sogenannten Multilayer-Perzeptron MLP, das im Ab- schnitt 2.3.1 eingeführt wird. Dieses Modell ist mathematisch gut untersucht und ndet praktische Anwendung beispielsweise in der Datenanalyse. Eine Übersicht über den Stand dieser Wissenschaft ist im Buch von Christopher Bishop Neural Networks for Pattern Recognition [Bis95] zu nden. Trotz mancher Erfolge bei der Anwendung der MLPs ist dieses Modell zu einfach, da es die Zeit als Gröÿe nicht berücksichtigt. Will man mit MLPs die Signalverar- 5
  • 13. 6 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE Abbildung 2.1: A. Zeichnung eines einzelnen Neurons B. Signalübertragung zwi- schen Neuronen beitung simulieren, die von den Nervenzellen des auditorischen Pfads ausgeführt wird, kommt man mit diesem Modell nicht weiter. Zwar hat A. Waibel einen Weg gefunden mit Multilayer-Perzeptrons zeitliche Unterschiede in den Eingabedaten zu berücksichtigen [WHH+89], doch entspricht sein Modell nicht dem natürlichen Vorbild. Das einfachste Modell, das Zeit codiert und besser der Natur entspricht ist das Spike-Response-Model, das in Abschnitt 2.4.1 eingeführt wird. Dies ist das Neuronen-Modell das im Laufe dieser Diplomarbeit mit einer kleinen Abänderung in Matlab implementiert worden ist. 2.1 Einfache Beschreibung natürlicher Neuronen Ausgangspunkt jeder Modellierung ist zunächst die Beobachtung und Beschreibung des Originals. Da ein natürliches Neuron mit allen molekularen Eigenschaften sehr komplex ist, wird bereits das Original sehr vereinfacht beschrieben. Ein solches vereinfachtes Neuron, das als Ausgangspunkt für die mathematische Modellierung dient, ist in Abbildung 2.1 A skizziert. In dieser Beschreibung wird ausschlieÿlich die Zellmembran eines Neurons berücksichtigt, die sich unterteilen lässt in Dendriten, das Soma und Axon. Wie alle Körperzellen hält auch ein Neuron ein elektrisches Po- tential zwischen Auÿen- und Innenseite der Zellmembran aufrecht. Über Dendriten und Axon kann sich entlang der Zellmembran eine Änderung dieses Membranpo- tentials fortsetzen, wodurch ein Signal weitergeleitet wird. In Abbildung 2.1 B ist auÿerdem eine Synapse sji eingezeichnet, die von einer präsynaptischen Zelle j akti- viert wird und so das Signal zu einer postsynaptischen Zelle i weiterleiten kann. Dabei wird in der postsynaptischen Zelle eine Änderung des Membranpotentials bewirkt. Solche Potentialänderungen können je nach molekularen Eigenschaften der Synapse stärker oder schwächer ausfallen und sie können exzitatorisch oder inhibitorisch sein. In den Dendriten setzen sich die Potentialschwankungen bis zum Soma fort, wo sich
  • 14. 2.2. WAHL DES NEURONENMODELLS 7 die von unterschiedlichen Synapsen ausgehenden Potentialschwankungen überlagern können. In Abbildung 2.2 A - C ist ein Versuch skizziert, bei dem ein natürliches Neuron Impulse von zwei Vorgängerneuronen erhält. Die Antwort auf diese Impulse besteht aus der Änderung des Membranpotentials, welches über Elektroden gemessen und im Diagramm rechts abgebildet wird. Bei jedem ankommenden Impuls ändert sich das Potential (2.2 A). Kommen mehrere Impulse etwa zeitgleich an, so kommt es zu einer Überlagerung der Auslenkungen (2.2 B). Unter Umständen übersteigt das Potential sogar einen Schwellwert ϑ, woraufhin das Membranpotenial aktiv von der Zelle noch stärker ausgelenkt wird und kurz darauf schlagartig auf einen Wert unter dem Ruhepotential abfällt (2.2 C). Das aktive Auslenken des Membranpotentials ist das Aktionspotential, das sich über die Dendriten fortsetzt. Der Zeitpunkt bei dem das Membranpotential den Schwellwert überschreitet, wird mit dem Aktivierungs- bzw. Feuerzeitpunkt des Neurons gleichgesetzt. In diesem Versuchsaufbau wurden nur exzitatorische Synapsen gefunden. Der von ihnen bewirkte Ladungsuss durch die Membran lenkt das Membranpotential zum Schwellwert hin aus. Dahingegen lenkt der von einer inhibitorischen Synapse bewirkte Stromuss das Potential in der entgegengesetzten Richtung aus, wodurch eine Erregung des Neurons erschwert wird. Im Soma erzeugte Impulse werden schlieÿlich über das Zellaxon als Aktionspotential über weite Strecken übertragen und können dann erneut Synapsen entlang des Axons aktivieren. 2.2 Wahl des Neuronenmodells Es sind mehrere Modelle bekannt, Neuronen am Computer zu simulieren. In Ab- bildung 2.3 sind vier Modelle aufgeführt, wobei Komplexität und Rechenaufwand von oben nach unten abnehmen. Am detailliertesten wird ein Neuron vom Hodgkin- Huxley Modell beschrieben, das nach dessen Entwicklern benannt ist. Dieses Modell beschreibt die Erzeugung von Aktionspotentialen auf der Ebene der Ionenkänale und des Ladungsusses an der Zellmembran. Die Zellmembran wird in mehrere Abschnit- te eingeteilt, wobei jeder Abschnitt durch Kapazitäten und Widerstände beschrieben wird, die wiederum die verschiedenen Ionenkanäle modellieren. Zur Berechnung der Zelldynamik werden schlieÿlich für jeden Abschnitt Dierentialgleichungen verwen- det, die den Ladungsuss und die Spannungsänderung an der Membran beschreiben. Dieses Modell ist geeignet um das Verhalten eines einzelnen Neurons zu simulieren und erreicht dabei eine hohe Genauigkeit. Aufgrund des hohen Rechenaufwandes ist diese Methode allerdings nicht für ein Netz mehrerer Neuronen geeignet. Bei dem Integrate-and-Fire Modell wird ein komplettes Neuron durch eine Kon- densator und einen Widerstand modelliert. Zur mathematischen Beschreibung der Potentialänderung sind immer noch Dierentialgleichungen nötig, doch bedeutet dieses Modell eine erhebliche Vereinfachung verglichen zu dem von Hodgkin und Huxley. Eine weitergehende Vereinfachung stellt das Spike-Response Modell dar. Hier wird die Änderung des Membranpotentials nicht durch Dierentialgleichungen be- schrieben. Vielmehr wird das Membranpotential zum Zeitpunkt t als Summe von
  • 15. 8 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE (a) Einzelner Impuls (b) Zwei Impulse überlagern sich (c) Drei Impulse aktivieren Neuron Abbildung 2.2: Überlagerung der Impulse im Soma
  • 16. 2.3. MODELL OHNE PULSCODIERUNG 9 Hodgkin-Huxley Integrate-and-Fire Spike-Response Perzeptron Vereinfachung Rechenaufwand Abbildung 2.3: Mathematische Neuronenmodelle mit abnehmender Komplexität Funktionen, sogenannten Antwortkernen, berechnet, die die Reaktion des Neurons auf eingehende Impulse am Neuron beschreiben. Eine ausführliche Beschreibung der bisher genannten Modelle ist in [GK02] zu nden. Das einfachste und klassische Neuronenmodell, das in der Informatik untersucht wurde, ist das Perzeptron. Bei diesem wird Zeit als Gröÿe zur Beschreibung der Dynamik von Neuronalen Netzen völlig auÿer Acht gelassen. Von einem Neuron ausgesandte Impulse kommen ohne Zeitverzögerung am nächsten Neuron an. Der in der Diplomarbeit implementierte Simulator soll die Dynamik möglichst groÿer, aus hunderten von Neuronen bestehender Netzwerke berechnen. Deshalb muss ein möglichst einfaches Neuronenmodell gewählt werden, um die Simulations- zeit klein zu halten. Aus diesem Grund scheiden Modelle aus, die Dierentialglei- chungen zur Berechnung des Zustands verwenden. Da die Zeit als Gröÿe bei der Weiterleitung von Impulsen berücksichtigt werden soll, kann auch das Perzeptron nicht ausgewählt werden. Dennoch wird es im Folgenden Abschnitt kurz eingeführt, da der von Bohte [BPK00] entwickelte Backpropagation-Algorithmus analog zu dem für mehrschichtige Perzeptronen-Netze entwickelt worden ist. Am Ende kommt für die Implementierung in den Simulator nur das Spike-Response Modell in Frage, das für die Implementierung nocheinmal vereinfacht wurde. 2.3 Modell ohne Pulscodierung Die ersten Modelle zur mathematischen Modellierung von Neuronalen Netzen wur- den 1943 von McCulloch und Pitts beschrieben. Auf diesen Arbeiten aufbauend wurde der Begri Perzeptron schlieÿlich von F. Rosenblatt geprägt, der einen Stan- dard zur mathematischen Modellierung von Neuronen darstellt. Dieses Modell dient als Ausgangspunkt für viele andere Entwicklungen in den Neurowissenschaften und wird deshalb kurz erläutert. 2.3.1 Perzeptron In diesem einfachsten Modell wird ein Neuron j durch ein Perzeptron simuliert. Dieses realisiert eine Abbildung eines mehrdimensionalen Eingabevektors x auf einen eindimensionalen Ausgabewert yj: yj = g( i wijxi − ϑj) (2.1)
  • 17. 10 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE In der ursprünglichen Denition von Rosenblatt war yj ∈ {0, 1}, x ∈ {0, 1}n. Eine 1 wird als aktives Neuron interpretiert, das einen Impuls aussendet, eine 0 wird als inaktives Neuron interpretiert. Die Gewichte wij simulieren die Ezienz mit der assoziierte Synapsen Impulse an das Nachfolgerneuron übertragen. Die Aktivie- rungsfunktion g(x) = −1 : x 0 +1 : x ≥ 0 , (2.2) simuliert die Reaktion des Neurons auf dessen inneren Zustand. Bleibt dieser unter dem Schwellwert ϑj, so bleibt es inaktiv und die Ausgabe yj ist gleich 0. Wird der Schwellwert hingegen bei der aktuellen Eingabe überschritten, so wird es aktiviert und die Ausgabe yj ist gleich 1. Um das Modell mathematisch analysierbar zu machen, speziell um die Ableitung der Funktion berechnen zu können, sind nach und nach Änderungen am Modell von Rosenblatt vorgenommen worden. Die Ein- und Ausgaben x bzw. y sind jetzt aus R bzw. Rn. Der Schwellwert ϑj kann eliminiert werden, indem ein zusätzliches Gewicht w0j = −ϑ und zugehöriger Eingangsgröÿe x0 = 1 eingeführt werden. Zusätzlich wird eine sigmoide Funktion, wie zum Beispiel S(x) = 1 1 + ex (2.3) als Aktivierungsfunktion verwendet. Damit errechnet sich die Ausgabe eines Neurons j durch sj = S   i∈predj wijxi   , (2.4) wobei predj die Menge aller Vorgängerneuronen von j bezeichnet. In dem abge- änderten Modell können die reellen Ein- und Ausgaben als Feuerrate eines assozi- ierten Neurons interpretiert werden. Deshalb wird dieses Modell auch Ratenmodell genannt. 2.3.2 Multilayer-Perceptron Ein sigmoides Neuronales Netz oder Multilayer-Perceptron (MLP) wird aus einzelnen Perzeptronen mit sigmoider Aktivierungsfunktion in mehreren Schichten aufgebaut, indem Ausgaben von Neuronen einer Schicht an die Neuronen der nächsten Schicht als Eingaben übergeben werden. Ein solches sigmoides Neuronales Netz besteht aus einer Menge von Neuronen N mit Eingabeneuronen I ⊆ N und Ausgabeneuronen O ⊆ N, sowie aus einer Menge von Zwischenneuronen die in mehreren Schichten zwischen der Eingabe- und der Ausgabeschicht angeordnet sind. Zwei Neuronen i und j können durch eine Verbindung cij miteinander verknüpft werden, über die Neuron j den Ausgabewert von Neuron i als Eingangsgröÿe erhält. In diesem Fall ist i das Vorgängerneuron von j und j das Nachfolgerneuron von i. Die Menge aller Vorgängerneuronen von j wird als predj bezeichnet, die Menge aller Nachfolgerneu- ronen von i als succi. Eine Verbindung simuliert ein Axon bzw. einen Dendritenbaum eines natürlichen Neurons, allerdings in einer Abstraktion ohne Einbeziehung einer Übertragungsdauer zwischen den Neuronen. Dementsprechend gibt die Verbindung
  • 18. 2.4. MODELL MIT PULSCODIERUNG 11 cij die Ausgabe von Neuron i über genau eine Synapsen an das Nachfolgerneuron j. Die zu cij gehörige Synapse sij ist durch ein Gewicht wij deniert, das die Ezienz einer natürlichen Synapse simuliert und im Modell eine Variable ist. Bei Modellen ohne Pulscodierung werden die Synapsen stets mit dem Gewicht wij identiziert. Die denierten Gröÿen cij und sij erhalten ihre Bedeutung bei der Beschreibung von pulscodierten Netzen. Die Ausgabe eines Neurons der Ausgabeschicht o ∈ O bei einer Eingabe an das Netz x errechnet sich durch so = S   j∈predi wji ... S   l∈predk wlk S m∈I wmlxm     , (2.5) wobei die Punkte für weitere Neuronen einer Zwischenschicht stehen. Dies ist eine stetig dierenzierbare Funktion mit vielen Freiheitsgraden, für deren weitere Analyse mehr mathematische Kenntnisse nötig sind, als Kenntnisse über das biologische Neuron. MLPs wurden im Laufe des letzten Jahrhunderts mathematisch analysiert und mehrere Aussagen über ihre Funktionalität bewiesen. So lassen sich z.B. mit ei- nem einfachen Perzeptron mit inhibitorischen Eingängen die Boolschen Funktionen AND, OR, NOT, sowie ANDn und ORn berechnen. Mit einem Netz solcher Neuro- nen das keine Rückkopplungen enthält und das aus einer Eingabe-, einer versteckten und einer Ausgabeschicht besteht, lassen sich alle Boolschen Funktionen berechnen. Mit einem Netz solcher Neuronen ohne Rückkopplungen und ohne inhibitorische Eingänge lassen sich alle monotonen Boolschen Funktionen berechnen [Men00]. Da dieses einfachste Modell eines Neurons nichts weiter als eine mathematische Funktion ist, könnte man diese durch eine andere stetig dierenzierbare Funktion ersetzen, um damit etwa Datenanalyse zu betreiben. Mit Erforschung der Funktio- nalität natürlicher Neurone hat diese Wissenschaft also nicht viel gemein. Das im nächsten Abschnitt eingeführte Modell kommt der Natur schon weit näher. 2.4 Modell mit Pulscodierung Das hier vorgestellte Neuronenmodell teilt gewisse Eigenschaften mit herkömmli- cher Perzeptronen. So werden auch bei ersteren eingehende Signale aufsummiert und bei überschreiten eines Schwellwertes wird ein Signal an das Nachfolgerneuron ausgesandt. Allerdings wird jetzt die Zeitdauer mit berücksichtigt, die ein Impuls be- nötigt, um von einem präsynaptischen Neuron zur Synapse zu gelangen. Diese kleine Änderung hat erheblichen Einuss auf das Schaltverhalten des Neurons und umso mehr auf das des gesamten Netzes. Im Gegensatz zu MLPs kann das Schaltverhalten des Netzes nicht durch eine einfache mathematische Funktion beschrieben werden. Eine Simulation am Computer ist erheblich aufwändiger und Lernalgorithmen sind schwerer einzusetzen. 2.4.1 Spike-Response-Model Die im Abschnitt 2.1 beschriebenen Beobachtungen an natürlichen Neuronen werden im Spike-Response-Model mathematisch zusammengefasst, das von Gerstner einge-
  • 19. 12 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Potential development in SRM neuronpotential time in sec 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Potential development in SRM neuronpotential time in sec 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Potential development in SRM neuronpotential time in sec Abbildung 2.4: Oft verwendete Spike-Response-Functions führt worden ist [GK02]. Es beschreibt den Zusammenhang zwischen eingehenden Impulsen in ein Neuron j und seinem inneren Zustand uj, der das Membranpotential eines natürlichen Neurons darstellt: uj(t) = η(t − t ˆf j ) + i∈predj f k wk ij (t − (tf i + dk ij)). (2.6) Dabei simuliert das Verzögerungselement dk ij einer Synapse die Zeit, die ein Impuls benötigt, um die Distanz auf einem Axon von Neuron i nach Neuron j benötigt. Die Spike-Response-Function (x) [GK02] deniert, wie eine Synapse den ein- gehenden Impuls an das Innere des Neurons weiterleitet. Bohte [BPK00] und Xin [XE01] haben das Spike-Response-Model verwendet, um einen Backpropagation- Algorithmus einzuführen. Bei ihrer Herleitung haben sie (x) = x T e1− x T (2.7) als Spike-Response-Function mit einer Konstante T verwendet. Die Form dieser Funktion ist in Abbildung 2.4 zu sehen und die Entwicklung des Membranpotenti- als bei mehreren, nacheinander eintreenden Impulsen am Neuron bei Verwendung dieser Spike-Response-Function ist in Abbildung 2.5 dargestellt. Die wk ij stehen für die Ezienz einer Synapse die den Impuls von i nach j über- trägt. Sie denieren für jede Synapse den Betrag und die Richtung der Auswirkung des Impulses auf das Potential des Nachfolgerneurons. Dadurch kann ein Impuls eine schwache oder starke Antwort im Nachfolgerneuron bewirken und diese Ant-
  • 20. 2.4. MODELL MIT PULSCODIERUNG 13 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Potential development in SRM neuronpotential time in sec Abbildung 2.5: Potentialentwicklung bei 9 nacheinander eintreenden Impulsen wort kann das Potential des Nachfolgerneurons in positiver oder negativer Richtung verändern. Dementsprechend heiÿt eine Synapse exzitatorisch oder inhibitorisch. Überschreitet das Membranpotential uj(t) einen Schwellwert ϑj, dann wird das Neuron aktiviert und es feuert einen Impuls zum Zeitpunkt tf j für den gilt: tf j = t ⇔ ( uj(t) = ϑ) ∧ ∂uj(t) ∂t 0 . (2.8) Das ist also der Zeitpunkt, zu dem das Membranpotential zum ersten Mal den Schwellwert überschreitet. Unmittelbar nach dem Feuern ist die Erregbarkeit eines Neurons herabgesetzt, da das Nachpotential aj(t) = η(t − t ˆf j ) (2.9) das Membranpotential vorübergehend drastisch absenkt. Bei dieser Denition ist t ˆf j der Zeitpunkt der letzten Aktivierung von j. Der Verlauf des Aktionspotentials in einem Neuron ist in Abbildung 2.6 dargestellt. Die gestrichelte Linie stellt den Verlauf des Membranpotentials eines natürlichen Neurons dar, die durchgezogene Linie ist der im pulscodierten Modell. Diese Form des Nachpotentials erhält man für ∆t → 0 durch die Denition η(t − tf j ) =    1/∆t : 0 t − tf j ∆t −η0 exp − t−tf j τ : ∆t t − tf j (2.10)
  • 21. 14 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE Abbildung 2.6: Verlauf des Nachpotentials und den festen Parametern η0, τ und ∆t 0. Im Folgenden bezeichnet der Moment, in dem ein Neuron ein Aktionspotential aussendet, als Feuerzeitpunkt dieses Neurons bezeichnet, und als solche wird dieser in Experimenten notiert, falls der Schwellwert von unten überschritten wird. Formal wird ein Impulsabfolge Si(t) = f δ(t − tf i ) (2.11) eines Neurons mit Hilfe der Diracschen Deltafunktion δ(t) = ∞ : t = 0 0 : sonst und ∞ −∞ δ(t) dt = 1 (2.12) beschrieben. Um die Netze aus pulscodierten Neuronen einheitlich beschreiben zu können, werden die Bezeichnungen, die in Abschnitt 2.3 eingeführt worden sind, ergänzt. Der Unterschied zu diesen liegt in der Bezeichnung der Verbindungen und Synap- sen. Da eine Verbindung mehrere Synapsen enthalten kann, wird eine Verbindung cij mit einer Menge von zugehörigen Synapsen Sij = {sk ij}, k ∈ {1, 2, 3, ...} assozi- iert. Dabei ist jede Synapse sk ij = (wk ij, dk ij) deniert durch ein Gewicht wk ij und ein Verzögerungselement dk ij. Das Gewicht entspricht der Ezienz mit der eine natürli- che Synapse einen Impuls weiterleitet, das Verzögerungselement stellt die Zeit dar, die ein Aktionspotential benötigt, um das Axon bzw. den Dendrit zu durchlaufen.
  • 22. 2.5. IMPLEMENTIERTES MODELL 15 2.4.2 Perzeptron und Spike-Response-Model Wird für die Modellierung eines Neurons das Spike-Response-Model anstatt des Per- zeptrons verwendet, ermöglicht dies die Denition erheblich komplexerer Netzwerke bei gleicher Neuronenzahl. So ist die Menge der durch Netze aus Perzeptronen bere- chenbaren Funktionen in der Menge der durch Netze aus pulscodierten Neuronalen Netzen berechenbaren Funktionen enthalten. Beweis: ein Perzeptron lässt sich durch ein pulscodiertes Neuron simulieren, das genau eine Synapse mit Verzögerung null zu den Vorgängerneuronen besitzt. Darüberhinaus kann man das Perzeptronenmodell auch als Ratenmodell interpretieren. Diese Interpretation legt oen, wieviel einfa- cher das Perzeptronenmodell gegenüber dem Spike-Response-Model ist, denn das letztere lässt alle Codierungsformen zu, die in Abschnitt 2.6 eingeführt werden. Es ist oensichtlich, dass bei dieser Komplexität der Lernalgorithmus eines sol- chen Netzwerkes noch mehr Probleme aufweist als der für ein herkömmliches Netz. Dabei sind Probleme mit der hohen Eingabedimension, der groÿen Zahl der einzu- stellenden Gewichte und besonders der Einstellung der verschiedenen Verzögerungs- elemente zu erwarten. 2.5 Implementiertes Modell Viele Simulationen von pulscodierten Neuronen wurden entwickelt, weshalb es nahe liegt, eine bereits bestehende Version zu verwenden. Erstaunlich ist aber, wie un- terschiedlich die Merkmale der einzelnen Simulationen ausfallen. NEURON [HC97] oder GENISIS [BB98] basieren auf dem Hodgkin-Huxley Modell und sind gut für de- taillierte biophysikalische Simulationen einzelner Neuronen. Allerdings erschwert es deren Komplexität, ezient groÿe Netzwerke zu simulieren. Andere Simulatoren wie Spike [Wat93] von Lloyd Watts oder SpikeNet von Delorme [DGVT99] basieren auf dem Integrate-and-Fire Modell, wodurch auch diese Simulatoren für einen Einsatz in dieser Arbeit nicht in Frage kommen. Allerdings ist der Simulator Spike von Lloyd Watts besonders deshalb interessant, da er für die Simulation von Neuronen des auditorischen Pfads entwickelt wurde. SpikeNet hingegen ermöglicht eine eziente Simulation von Millionen von Neuronen, da sein Programm für die Modellierung der Neuronen des visuellen Cortex optimiert wurde. Deshalb konnte dabei die Annah- me verwendet werden, dass groÿe Gruppen von Neuronen gleich sind und dieselben Eingaben erhalten. Diese Annahme kann für Neuronen des auditorischen Pfads aber nicht gemacht werden, höchstens für kleine Teile des gesamten Netzwerks. Kein betrachteter Simulator weist die für diese Arbeit erwünschten Merkmale auf und es wurde kein Simulator gefunden, der auf dem Spike-Response-Model basiert. Deshalb blieb nichts anderes als einen eigenen Simulator zu schreiben. 2.5.1 Vereinfachungen am Spike-Response-Model Bei der Implementierung des Modells gibt es an mehreren Stellen einen gewissen Spielraum, so wie bei der Spike-Response-Function. In Abbildung 2.7 sind beispiel- haft verschiedene Spike-Response-Functions dargestellt, wie eine Rechtecksfunktion, eine Dreiecksfunktion, eine wellenförmige Funktion und eine von einem maximalen
  • 23. 16 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE -0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0 0.5 1.0 Potential development in SRM neuronpotential time in sec Abbildung 2.7: Verschiedene Spike-Response-Functions Wert aus exponentiell abfallende. Um eine eziente ereignisgesteuerte Simulation am Computer zu ermöglichen, wurde von Wolfgang Globke die zuletzt genannte Möglichkeit gewählt, die mathematisch durch die Funktion (t) = e−(t)/bd (2.13) mit der Konstante bd realisiert wird. In der Abbildung 2.8 ist unschwer erkennbar, dass diese Funktion ausgehend von einem maximalen Wert, der bei Eintreen des Impulses gesetzt wird, streng monoton abnimmt. Dadurch ist direkt bei Eintreen eines Impulses sicher, ob das Neuron feuert oder nicht. Solange kein neuer Impuls an diesem Neuron eintrit steigt das Membranpotential nicht über den Schwellwert und das Neuron muss bis zum Eintreen eines neuen Impulses nicht mehr betrachtet werden. Im Hinblick auf eine möglichst schnelle Simulation bleibt ein Problem im ein- geführten vereinfachten Modell bestehen. Bei jedem Eintreen eines Impulses am Neuron muss der aktuelle Wert der Spike-Response-Functions aller eingehender Syn- apsen neu berechnet werden, was einen enormen Aufwand darstellt, falls ein Neu- ron von mehreren Vorgängerneuronen Impulse empfängt und diese womöglich noch durch mehrere Synapsen übertragen werden. Deshalb wurde die Berechnung des Membranpotentials durch eine Abschätzung ersetzt. Dabei wird der innere Zustand eines Neurons j abhängig von der Aktivierung der Vorgängerneuronen i ∈ predj neu berechnet. Bei Aktivierung von i zum Zeitpunkt tf i wird uj zu allen Zeitpunk- ten tf i + dk ij, sk ij ∈ Sij neu bestimmt durch uj(tf i + dk ij) = uj(tl j) · (tf i + dk ij − tl j) + wk ij, (2.14)
  • 24. 2.5. IMPLEMENTIERTES MODELL 17 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Potential development in SRM neuronpotential time in sec Abbildung 2.8: Gewählte Spike-Response-Function wobei tl j der Zeitpunkt der letzten Aktualisierung und uj(tl j) der dabei zuletzt er- rechnete Wert des Membranpotentials von Neuron j ist. In Abbildung 2.9 ist dar- gestellt, wie sich mit den eingeführten Vereinfachungen das Membranpotential in einem Neuron entwickelt, an dem hintereinander mehrere Impulse eintreen. Das Nachpotential wird im Simulator nicht zum Membranpotential addiert, son- dern vom Schwellwert abgezogen und wird bei jeder Aktualisierung des Membran- potentials neu berechnet. Nach diesen Aktualisierungsschritten zu den Zeitpunkten tf i + dk ij wird schlieÿlich überprüft, ob eine Aktivierung des Neurons j stattndet: tf j = tf i + dk ij ⇔ uj(tf i + dk ij) ≥ ϑ − η(tf i + dk ij − t ˆf j ). (2.15) Dabei ist t ˆf j der Zeitpunkt der letzten Aktivierung von j und η ≤ 0 eine monoton steigende Funktion. Ist obige Bedingung nicht erfüllt, wird ein neuer Aktualisie- rungsschritt ausgeführt. Wurde aber ein neuer Feuerzeitpunkt tf j bestimmt, so wird das Nachpotential zu diesem Zeitpunkt auf null gesetzt: uj(tf j ) = 0. (2.16) Bei jedem darauf folgenden Aktualisierungsschritt wird durch das Nachpotential die Erregbarkeit eines Neurons herabgesetzt, welches in der Implementierung eine lineare Funktion ist: η(s) = (Ah/Ab) · s − Ah, (2.17) wobei die Konstante Ah die Höhe und Ab die Breite des Nachpotentials deniert.
  • 25. 18 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Potential development in SRM neuronpotential time in sec Abbildung 2.9: Potentialentwicklung im implementierten Modell Der Ablauf der implementierten Simulation eines Netzes mit der Neuronenmenge N und den Eingabeneuronen I ⊂ N ist in Algorithmus 1 zusammengefasst. Dabei ist ein Ereignis deniert als der Zeitpunkt tk hi = tf h + dk hi, an dem ein Impuls über die Synapse sk hi am Neuron i eintrit. Diese Zeitpunkte werden dann aufsteigend sortiert in eine Ereignisliste eingetragen. In den Zeilen 2 bis 9 in Algorithmus 1 werden die Eingangsneuronen aktiviert und daraus die ersten Ereignisse bestimmt und in die Liste eingetragen. In den Zeilen 10 bis 23 wird als betrachtetes Ereignis der erste Eintrag der sortierten Liste gewählt und dabei aus der Liste gelöscht. Es folgt die Aktualisierung des Membranpotentials (Zeile 13) und des Nachpotentials (Zeile 14) und die Überprüfung der Bedingung in Gleichung 2.15 (Zeile 15). Ist diese Bedingung erfüllt erfolgt die Bestimmung neuer Ereignisse (17 - 21) und deren Eintrag in die sortierte Liste. 2.5.2 Diskussion der Vereinfachungen Die Art der Aktualisierung des Membranpotentials in Gleichung 2.14, stellt die ei- gentliche Abweichung des verwendeten Modells zum Spike Response Model dar, wel- ches in den meisten anderen Arbeiten wie z.B. [GK02], [BPK00] oder [XE01] verwen- det wird. Bei diesen muss zur Aktualisierung des Membranpotentials des Neurons j die Spike Response Function jeder Eingangssynapse sk ij berechnet werden. Der Re- chenaufwand hierfür ist immens, da hier keine ereignisorientierte Simulation möglich ist. Der Vorteil, der in dieser Arbeit eingeführten Abweichung vom ursprünglichen Modell, ist der geringere Rechenaufwand bei der Aktualisierung des Membranpoten-
  • 26. 2.5. IMPLEMENTIERTES MODELL 19 Algorithmus 1 Verarbeitung der Impulseingabe eines Musters µ Eingabe: µI ... Eingabemuster 1: L ← ∅ ... Ereignisliste 2: for all tf g ∈ µI do 3: for all h ∈ succg do 4: for all sk gh ∈ Sgh do 5: tk gh = tf g + dk gh ... Zeitpunkt der Synapsenaktivierung 6: L ← (tk gh) ∪ L ... Zeitpunkt in Liste 7: end for 8: end for 9: end for 10: while L = ∅ do 11: tk hi ← min L ... wähle nächstes Ereignis 12: L ← L tk hi ... lösche Ereignis aus Liste 13: ui(tk hi) ← ul i · exp(−(tk hi − tl j)/bd) + wk hi ... Potential von i zum Zeitpunkt tk hi 14: ai(tk hi) ← ((Ah/Ab) · (tk hi − tf i ) − Ah) ... Nachpotential von i 15: if ui(tk hi) ≥ ϑ − ai(tk hi) then 16: tf i ← tk hi ... i feuert 17: for all j ∈ succi do 18: for all k do 19: L ← L ∪ (t ˆf i + dk ij) ... neues Ereignis für Nachfolgerneuron 20: end for 21: end for 22: end if 23: end while tials und die Möglichkeit, eine ereignisgesteuerte Simulation des Neuronalen Netz- werks durchzuführen. Ein Nachteil des implementierten Modells ist allerdings, dass die Feuerzeitpunk- te eines Neurons nicht mehr beliebig eingestellt werden können, wie im Falle des ursprünglichen Spike-Response-Models. In Abbildung 2.5 ist die Entwicklung des Membranpotentials eines Neurons zu sehen, an dem nacheinander mehrere Impulse eingehen. Durch Feinjustierung der Gewichte kann das Neuron zu jedem Zeitpunkt innerhalb eines Intervalls feuern. Im implementierten Modell hingegen sind die mög- lichen Feuerzeitpunkte beschränkt auf diejenigen, zu denen die Spikes eintreen, da sich das Potential nicht kontinuierlich ändert, sondern in Sprüngen wie in Abbildung 2.9 zu sehen ist. Falls in natürlichen Neuronalen Netzen die exakte Abstimmung der Feuerzeitpunkte wichtig ist, dann kann man diese natürliche Eigenschaft nicht mit diesem Modell nachahmen. Allerdings liegt die Vermutung nahe, dass diese sehr genaue Abstimmung allenfalls in wenigen Bereichen des Gehirns eine Rolle spielt. Herauszunden, wie leistungsfähig pulscodierte Neuronale Netze mit dieser Verein- fachung sein können, ist auch Teil dieser Arbeit. Die dafür durchgeführten Tests sind in Kapitel 5 beschrieben.
  • 27. 20 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE 2.6 Codierung in Neuronalen Netzen Bei der Informationsverarbeitung und -weiterleitung durch Neuronen spielt der Zeit- punkt der Aktivierung bzw. des Feuerns eines Neurons die entscheidende Rolle. In einer Menge von Neuronen, die jeweils wiederholt feuern, ist eine oene Frage für den Beobachter, wie die Impulssequenzen interpretiert werden müssen, um die ent- haltene Information zu decodieren. In späteren Kapiteln wird auf die Codierung in Neuronalen Netzen Bezug genommen, weshalb in diesem Abschnitt verschiedene verwendete Codes entsprechend [GK02] eingeführt werden. 2.6.1 Ratencodierung Die einfachste Methode um die Impulssequenzen von Neuronen zu interpretieren ist die Anzahl von Impulsen in einem Zeitabschnitt zu zählen und daraus eine Rate abzuleiten. Dabei gibt es unterschiedliche Möglichkeiten diese Rate zu berechnen, wovon die wichtigsten kurz aufgeführt werden. Impulsrate eines einzelnen Neurons Die Rate wird hier aus der Zahl ni der Aktivierungen eines Neurons i innerhalb eines Zeitintervalls T errechnet durch v = ni T . (2.18) Tatsächlich wird diese einfache Codierung in verschiedenen Teilen des Nervensy- stems eines Menschen genutzt. Zum Beispiel reagiert der Streckrezeptor der Muskel- spindel durch eine höhere Feuerrate bei Streckung der Muskeln und diese wiederum kontrahiert stärker entsprechend der Feuerrate. Impulsrate mehrerer Neuronen In einigen Bereichen des Gehirns, wie z.B. im visuellen Cortex, haben eine groÿe Menge von Neuronen, eine Population, nahezu dieselben Eigenschaften und wei- sen dieselben Verschaltungen zu Vorgängerneuronen auf. Für solche Populationen scheint eine Impulsrate über alle Neuronen dieser Gruppe für angemessen. Dement- sprechend wird die Rate vM einer Population M bestehend aus N Neuronen berech- net durch vM = nM T N , (2.19) wobei T wieder das Zeitintervall ist, in der die Zahl der Aktivierungen nf M aller Neuronen aus M bestimmt wurde. 2.6.2 Impuls-Zeit-Codierung Bei dieser Form der Interpretation von Neuronenaktivitäten ist der genaue Zeitpunkt eines Impulses bzw. die genaue zeitliche Abfolge von Aktivitäten entscheidend. Wie- der gibt es mehrere Möglichkeiten eine Impulscodierung zu denieren, wovon die wichtigsten kurz eingeführt werden.
  • 28. 2.7. ZUSAMMENFASSUNG 21 Time-to-rst-Spike Dieser Ansatz stammt aus der Überlegung, dass das erste Auftreten eines neuen Eingabesignals, dem sogenannten on-set, entscheidend für die Verarbeitung im Ge- hirn ist. Um schnelle Reaktionszeiten zu erhalten kann es sich ein Organismus nicht leisten, eine Feuerrate zu bestimmen, um anschlieÿend diese Information weiterzulei- ten. Dementsprechend wird bei dieser Codierung nur der erste Feuerzeitpunkt eines Neurons berücksichtigt und die kurz darauf folgenden vernachlässigt. Phasencodierung Einige Naturvorgänge haben einen periodischen Ablauf wie zum Beispiel Schallwel- len. Im Gehirn können solche Perioden codiert werden, indem Neuronen entspre- chend der Phase feuern. Sind die Perioden zu kurz und ein einzelnes Neuron kann nicht zu jedem Zyklus erneut feuern, so kann eine Population von Neuronen die- ses Signal codieren, indem unterschiedliche Neuronen abwechselnd entsprechend der Phase feuern. Raum-zeitliches Muster Die oben eingeführten Codes stellen meist eine Vereinfachung der realen Codes in Neuronalen Netzen dar, denn jede vorstellbare Sequenz von Aktivitäten könnte ein bedeutungsvolles Ereignis codieren. Zum Beispiel könnten drei Neuronen un- terschiedliche Ereignisse codieren, je nach deren Aktivierungsabfolge. Ein Ereignis könnte dann dadurch deniert sein, dass alle drei gleichzeitig feuern, ein zweites Ereignis dadurch, dass zwei gleichzeitig und eines eine wohldenierte Zeitspanne vorher feuert. Diese komplexen Codes können je nach Verknüpfung der Neuronen zu Nachfolgerneuronen erzeugt werden. Das Beispiel könnte in einem Netz dadurch realisiert werden, dass unterschiedliche Nachfolgerneuronen von allen drei genannten Neuronen Impulse empfangen. Sind die Synapsen und Dendriten so verknüpft, dass ein Impuls von allen drei Neuronen die gleiche Zeit zu einem Nachfolgerneuron be- nötigt, dann könnte man bereits den ersten Beispielfall erhalten, vorausgesetzt, die Synapsenezienzen sind jeweils stark genug um das Nachfolgerneuron zu erregen. 2.7 Zusammenfassung Im ersten Teil der Arbeit sind verschiedene Neuronenmodelle verglichen worden, woraufhin das Spike-Response-Model für eine Implementierung im Simulator aus- gewählt wurde. Da sich die Informatik traditionell mit den Perzeptronen beschäf- tigt und dafür mächtige Lernalgorithmen entwickelt hat, ist dieses Neuronenmodell kurz eingeführt worden. Dadurch soll auch das Verständnis des Back-Propagation- Algorithmus für pulscodierte Netze erleichtert werden, auf den im nächsten Kapitel noch ausführlich eingegangen wird. Schlieÿlich sind am Spike-Response-Model Ver- einfachungen vorgenommen worden, die eine schnellere Simulation am Computer ermöglichen. Die Einführung der Codierung in pulscodierten Netzen soll dem Leser schlieÿlich noch eine Vorstellung der damit verbundenen Problematik näher bringen.
  • 29. 22 KAPITEL 2. EINFACHE MODELLE NEURONALER NETZE Zweck dieses Kapitels ist, dem Leser Grundlagen für das Verständnis der Arbeit zu vermitteln. Einen Überblick über die vorhandenen Neuronenmodelle zu geben war nicht beabsichtigt, da hierfür der nötige Platz fehlt. Darüberhinaus sind die wichtigsten Modelle bereits im Buch von Gerstner [GK02] zusammengefasst und ausführlich diskutiert.
  • 30. Kapitel 3 Lernen Adaption in natürlichen Neuronalen Netzen ist für das Funktionieren der Informati- onsverarbeitung zumindest in gröÿeren Organismen unverzichtbar. Denn diese kön- nen sich je nach Individuum unterschiedlich entwickeln und zum Beispiel in Arm- oder Beinlänge variieren. Selbst ein und derselbe genetische Code, der einer Entwick- lung eines Organismus zugrunde liegt, könnte durch unterschiedliche Umwelteinüs- se zu verschiedenen Proportionen des ausgewachsenen Organismus führen. Also muss das Nervensystem sich auf solche Variationen einstellen können. Dies wird durch die Adaption der Synapsengewichte erreicht, wodurch das Eintreen von Signalen an einem Neuron zeitlich koordiniert wird. Was für die Natur gilt, zeigt sich auch in der Simulation: mit dem in dieser Diplomarbeit neu entwickelten Simulator konn- ten erst aussagekräftige Tests durchgeführt werden, nachdem ein Lernalgorithmus implementiert war, der Synapsen angepasst hat, um Signale zu koordinieren. In der ersten beiden Abschnitten dieses Kapitels wird ein allgemeines mathema- tisches Modell beschrieben, das die beobachteten Vorgänge am natürlichen Neuron zusammenfasst. Dabei wird auch darauf eingegangen, in welcher Form dieser Al- gorithmus im Simulator verwirklicht wurde. In den Abschnitten 3.3, 3.4 und 3.5 werden Algorithmen für sigmoide und pulscodierte Netze eingeführt und diskutiert, die Mustererkennung mit simulierten Neuronalen Netzen ermöglichen. Diese Ver- fahren resultieren nicht aus Beobachtungen von Vorgängen in biologischen Netzen, sondern aus der Analyse der mathematischen Modelle. Schlieÿlich werden alle in die- sem Kapitel besprochenen Lernalgorithmen in Abschnitt 3.6 nach einem allgemeinen Schema in verschiedene Kategorien eingeteilt. 3.1 Hebbsches Lernen in pulscodierten Netzen Wie bereits im ersten Kapitel erwähnt worden ist, soll der in dieser Arbeit imple- mentierte Simulator dazu verwendet werden, die Neuronalen Netze des auditorischen Pfads wenigsten in einigen Grundzügen nachzubilden, um deren Funktionsweise bes- ser zu verstehen. Deshalb ist naheliegend einen Lernalgorithmus zu implementieren, der den Lernvorgang in natürlichen Neuronalen Netzen möglichst genau nachahmt. In Abschnitt 3.1.1 wird kurz eingeführt, welche Adaptionsvorgänge in natürlichen Neuronen beobachtet werden können. In Abschnitt 3.1.2 wird eine mathematische 23
  • 31. 24 KAPITEL 3. LERNEN Lernfunktion für künstliche pulscodierte Neuronalen Netze vorgestellt, die aus die- sen Beobachtungen der natürlichen Vorgänge abgeleitet wurde. Schlieÿlich wird in Abschnitt 3.1.3 erläutert, wie dieser Algorithmus im Simulator umgesetzt ist. 3.1.1 Hebbsches Postulat für biologische Neuronen Nahezu alle Lernverfahren für pulscodierte künstliche Neuronale Netze beruhen auf einem Postulat, welches bereits 1949 von dem kanadischen Neurophysiologen Do- nald Hebb aufgestellt wurde. Darin formulierte er seine Vermutung, wie Lernen in biologischen Neuronen abläuft: When an axon of cell A is near enough to excite cell B or repeatedly or persi- stently takes part in ring it, some growth process or metabolic change takes place in one or both cells such that A's eciency, as one of the cells ring B, is increased. [GK02] Später ist dieses Postulat in Versuchen an biologischen Zellen bestätigt worden. In dem entsprechenden Versuch sind zwei Neuronen, ein präsynaptisches Neuron j und ein postsynaptisches Neuron i, durch angelegte Spannungen zu unterschiedli- chen Zeitpunkten zur Aktivierung erregt worden. In Abbildung 3.1 ist festgehalten, wie die Adaption der Synapse in Abhängigkeit der Feuerzeitpunkte der Neuronen verlief. Demnach ist die Ezienz der Synapse erhöht worden, falls j kurz vor i gefeuert, also j zur Aktivierung von i beigetragen hat. Dahingegen ist die Ezienz verringert worden, falls j nach i gefeuert hat. Die Kurve in Abbildung 3.1 ist eine Mittelung über mehrere Versuche und stellt das sogenannte Lernfenster dar. Die im Folgeabschnitt erläuterte Denition einer Lernregel ist dem Buch [GK02] entnommen. Sie berücksichtigt auch ein Lernfenster entsprechend den Beobachtungen des Versuchs, enthält darüberhinaus aber noch weitere Parameter, die die Adaption einer Synapse beeinussen. 3.1.2 Impuls-Zeit-Basiertes Lernen Wie der Name des Lernverfahrens bereits andeutet, hängt die Adaption der Gewichte ab vom Zeitpunkt der prä- und postsynaptischen Impulse die an einer Synapse ankommen. Es wird eine allgemeine Lernregel verwendet, die von Wulfram Gerstner in seinem Buch [GK02] formuliert worden ist. Um diese einführen zu können, wird eine Impulsfolge die von einem Neuron i an einer Synapse eingeht deniert durch Si(t) = f δ(t − tf i ), (3.1) wobei δ für die Diracsche Deltafunktion steht. Für eine Synapse, die Impulsfolgen vom präsynaptischen Neuron i erhält und postsynaptische Impulse vom Neuron j, lautet die Aktualisierungsregel für das Synapsengewicht d dt wk ij(t) = a0 + Si(t) apre 1 + ∞ 0 apre,post 2 (s) Sj(t − s)ds + Sj(t) apost 1 + ∞ 0 apost,pre 2 (s) Si(t − s)ds . (3.2)
  • 32. 3.1. HEBBSCHES LERNEN IN PULSCODIERTEN NETZEN 25 Abbildung 3.1: Hebbsches Lernen in biologischen Neuronen Diese Regel deniert für jeden Zeitpunkt t eine Änderung des Gewichts wk ij, die durch mehrere Summanden berechnet wird. Der erste Summand ist der Parameter a0, der für gewöhnlich kleiner null ist, so dass das Gewicht ohne eintreenden Impuls zum Zeitpunkt t verkleinert wird. Die anderen Summanden sind abhängig von der Impulsfolge Si des Vorgängerneurons i und der Impulsfolge Sj des Nachfolgerneurons j. Ist das Vorgängerneuron i zum Zeitpunkt t aktiv, so wird im zweiten Summanden der konstante Parameter apre 1 und das Integral ∞ 0 apre,post 2 (s) Sj(t − s)ds addiert. Für gewöhnlich ist apre 1 gröÿer als null gesetzt, wodurch bei jeder präsynaptischen Aktivität ein positiver Wert addiert wird. Der Wert des Integrals hängt von der Impulsfolge Sj ab. Der dritte Summand wirkt ähnlich wie der zweite. Ist Neuron j zum Zeitpunkt t aktiv, wird der meist negativ gesetzte Parameter apost 1 addiert. Das Integral hängt nun von der Impulsfolge Si ab. Die Abbildungen apre,post 2 und apost,pre 2 bewirken eine Adaption des Gewichts, falls beide Neuronen i und j innerhalb eines kurzen Zeitintervalls feuern. Sie denieren eine Gewichtsänderung abhängig von der Reihenfolge und dem zeitlichen Abstand in der i und j aktiv waren. Damit bewirken die beiden Integrale zusammen eine Änderung des Gewichts, die das Lernfenster in Abbildung 3.1 annähert. Je nach Wahl der Parameter a0, apre 1 , apost 1 , sowie der Abbildungen apre,post 2 und apost,pre 2 resultieren unterschiedliche Varianten des Grundalgorithmus. In Abbildung 3.2 sind die Parameter beispielhaft gesetzt und die entsprechende Auswirkung auf- gezeigt. In 3.2(a) ist der Einuss des Parameters a0 auf die Entwicklung des Synap- sengewichts dargestellt. Er bewirkt eine konstante Abnahme des Gewichts über die Zeit, falls a0 0 gesetzt wird. Die Parameter apre 1 und apost 1 bewirken eine Adaption
  • 33. 26 KAPITEL 3. LERNEN (a) Parameter a0 (b) Parameter apre 1 und apost 1 (c) Parameter apre,post 2 und apost,pre 2 Abbildung 3.2: Einuss der Parameter auf die Gewichtsänderung
  • 34. 3.1. HEBBSCHES LERNEN IN PULSCODIERTEN NETZEN 27 Abbildung 3.3: Implementiertes Lernfenster in Abhängigkeit der Anzahl eingehenden Impulse vom prä- bzw. vom postsynap- tischen Neuron. Ihre Auswirkung auf das Synapsengewicht ist in Abbildung 3.2(b) beispielhaft für je eine postsynaptische und je eine präsynaptische Neuronenaktivität gemeinsam mit der Auswirkung des Parameters a0 dargestellt. Die wohl entscheidende Gröÿe des Algorithmus ist aber das zeitliche Lernfenster das sich durch Wahl der Abbildungen apre,post 2 und apost,pre 2 ergibt. Setzt man s = tf i − tf j , so lässt es sich denieren als W(s) = apost,pre 2 (−s) , s 0 apre,post 2 ( s) , s 0 (3.3) Die Auswirkung dieses Lernfensters auf die Entwicklung des Synapsengewichts ist in Abbildung 3.2(c) beispielhaft dargestellt, wobei das präsynaptische kurz vor dem postsynaptischen Neuron aktiv ist, weshalb das Lernfenster eine Erhöhung des Syn- apsengewichts bewirkt. Setzt man apost,pre 2 (−s) = A+e s/τ1 und apre,post 2 ( s) = A−e−s/τ2 , so erhält man das Lernfenster in Abbildung 3.3. In diesem Fall wird ein Synapsengewicht verstärkt, falls der präsynaptische Impuls kurz vor dem postsynap- tischen Impuls eintrit und verkleinert, falls die Impulse in umgekehrter Reihenfolge eintreen. 3.1.3 Implementierung im Simulator Um den Hebbschen Algorithmus so allgemein wie möglich zu halten, wurden alle Details des oben beschriebenen Impuls-Zeit-Basierten Algorithmus implementiert. Die Parameter a0, apre 1 , apost 1 können für Tests beliebig eingestellt werden. Prinzipi- ell ist eine Implementierung wünschenswert, bei der die Kerne apost,pre 2 und apre,post 2 frei wählbar sind. Allerdings wäre die Denition einer solchen Abbildung mit der Einführung mehrerer Parameter verbunden, was eine Bedienung des Simulators ver- komplizieren würde. Aus diesem Grund wurden apost,pre 2 und apre,post 2 implementiert, so dass sie das Zeitfenster W(s) = A+e s/τ1 , falls s 0 A−e−s/τ2 , falls s 0 (3.4)
  • 35. 28 KAPITEL 3. LERNEN realisieren. Die dabei zusätzlich auftretenden Parameter A+, A−, τ1 und τ2 sind im Simulator wiederum frei einstellbar. Es gilt also apost,pre 2 (−s) := A+e s/τ1 und apre,post 2 (s) := A−e−s/τ2 . Die Form dieses Zeitfensters entspricht dem Beispiel in Abbildung 3.3, das eine gute Näherung an die Beobachtungen von natürlichen Lern- vorgängen darstellt. Der beschriebene Lernalgorithmus lässt Gewichte unbeschränkt anwachsen bzw. abfallen, was im Gegensatz zu natürlichen Synapsen steht, die eine maximale Ezi- enz nicht überschreiten können. Deshalb ist es sinnvoll erschienen, den von Gerstner beschriebenen Lernalgorithmus zu erweitern, indem die Gewichte auf einen maxi- malen Wert wmax, sowie auf einen minimalen Wert wmin beschränkt werden. Jede Zahl 1 x+ 0, die zu einem Synapsengewicht wk ij addiert werden soll, wird dazu jeweils mit (wmax − wk ij) multipliziert, entsprechend werden Zahlen −1 x− 0 die zu wk ij addiert werden sollen mit (wk ij −wmin) multipliziert. Die Beschränkungen für x+ und x− gelten, falls die Lernparameter nicht zu groÿ ( 1) gewählt werden. Synapsen werden auÿerdem gelöscht und durch eine neue ersetzt, falls ihr Gewicht kleiner wird als eine bestimmte untere Schranke wdelete. Denn falls eine Synapse kei- ne Information trägt, ist es sinnvoller, sie mit einem anderen Verzögerungselement dk ij neu zu initialisieren. 3.2 Diskussion Hebbsches Lernen Wie bereits erwähnt, resultiert der Hebbsche Lernalgorithmus, wie er im vorherge- henden Abschnitt eingeführt wurde, aus Beobachtungen natürlicher Vorgänge. Oen bleibt allerdings die Frage, ob dieser Algorithmus auch wirklich alle wichtigen Vor- gänge nachahmt, die im menschlichen Gehirn ablaufen. Beispielsweise ist denkbar, dass Botenstoe, die von Zellen im Gehirn ausgesandt werden, die natürlichen Lern- vorgänge beeinussen. Möglicherweise gibt es einen oder mehrere solcher Vorgänge oder Mechanismen in biologischen Neuronalen Netzen, die das Zusammenspiel kom- plexer Lernvorgänge steuern. Falls es ihn gibt, wird ein solcher Mechanismus im eingeführten Lernalgorithmus nicht berücksichtigt. Falls es solche Mechanismen allerdings nicht gibt und das oben vorgestellte Hebb- sche Lernverfahren alle Details der Lernvorgänge im Gehirn beinhaltet, so müsste damit ein künstliches Neuronales Netz entwickelt werden können, das alle Lernvor- gänge des Gehirns simulieren kann. Danach wiederum müsste man ein Netz ent- wickeln können, das Klassikation durchführen und selbstständig Klassen einteilen kann, nur mit Hilfe des Hebbschen Lernens. Zum Beispiel ordnet ein Mensch man- che Geräusche einem Tier zu, andere einer Maschine. Dabei sind Tier und Mensch zwei verschiedene Klassen, die durch Lernen vom Menschen unterschieden werden. Genauso wird gelernt, welche Geräusche welcher Klasse zugeordnet werden. Ob die- se Lernvorgänge mit dem Hebbschen Ansatz auf pulscodierten Neuronalen Netzen realisiert werden können, ist jedoch ungewiss. Womöglich müssen erst noch andere Mechanismen im Gehirn entdeckt und im mathematische Modell mit berücksichtigt werden, um diese höheren Lernvorgänge nachzuahmen. Es ist ebenfalls eine oene Frage, welches Neuronenmodell für ein solches Vorhaben verwendet werden muss. Möglicherweise werden vom Spike-Response-Model wichtige Details auÿer Acht ge-
  • 36. 3.3. BACKPROPAGATION-ALGORITHMUS IN SIGMOIDEN NETZEN 29 lassen, was ein Funktionieren des Lernvorgangs verhindern würde. Auch das imple- mentierte Neuronenmodell stellt dazu lediglich einen Lösungsvorschlag dar, den es zu überprüfen gilt. Zwar hat Bleek einen einfachen Algorithmus vorgestellt, mit dem ein pulscodier- tes Netz selbstständig Klasseneinteilungen lernt [Ble00]. Es handelt sich dabei um eine leichte Abänderung des Hebbschen Lernens. Doch hat er lediglich ein simples Netz darauf trainiert zwei Eingabe voneinander zu unterscheiden. Insgesamt er- scheint seine Methode nicht geeignet, um mehrere Klassen voneinander zu trennen. Ein anderer Ansatz von S. Bohte zeigt bessere Ergebnisse. Sein Algorithmus Spike- Prop wurde auf mehreren Datensätzen getestet und konnte schwierige Klassikati- onsprobleme lösen. Allerdings handelt es sich bei seinem Ansatz nicht um Hebbsches Lernen und entspricht nicht den natürlichen Lernvorgängen. Im auditorischen Cortex, dem Endpunkt des auditorischen Pfads, werden die eingehenden Signale klassiziert. Da diese Arbeit die Untersuchung des auditori- schen Pfads vorbereiten soll, wäre es ein groÿer Schritt, eine Methode zu nden, die es erlaubt, die simulierten Neuronalen Netze für Klassikation einzusetzen. Falls man später Teile des auditorischen Pfads simulieren will, kann man die ausgehen- den Signale mit Hilfe der gefundenen Methode klassizieren. Da der Algorithmus SpikeProp von S. Bohte vielversprechender ist als der von Bleek, wurde dessen An- satz verfolgt. Deshalb werden im Folgenden die Backpropagation-Algorithmen vor- gestellt, zu denen auch der Ansatz von S. Bohte zählt. Die Frage, ob ein Netz aus pulscodierten Netzen aufgebaut werden kann, das über den Hebbschen Lernalgo- rithmus für Klassikationsprobleme einsetzbar ist, wird also in dieser Arbeit nicht weiter behandelt. 3.3 Backpropagation-Algorithmus in sigmoiden Netzen Der klassische Lernalgorithmus für Neuronale Netze, der in der Informatik angewen- det wird, ist zweifellos der Backpropagation-Algorithmus für sigmoide Netze. Der Algorithmus SpikeProp für pulscodierte Netze von S. Bohte ist eine Erweiterung dieses Ansatzes. Um ein besseres Verständnis des SpikeProp Algorithmus zu ermög- lichen, wird der Backpropagation-Algorithmus für sigmoide Netze kurz eingeführt. Die Backpropagation-Algorithmen, kurz BP-Algorithmen, entspringen nicht aus der Beobachtung und Modellierung natürlicher Vorgänge in tierischen Organismen, sondern aus der mathematischen Analyse der Funktion, die von einem sigmoiden NN ausgeführt wird. Die Methode des Gradientenabstiegs, die beim BP-Algorithmus verwendet wird, ist eine weit verbreitete Methode zum Finden lokaler Minima in Funktionen. Der Backpropagation-Algorithmus für Multilayer Perceptrons und seine Varian- ten sind in [Men00] und [Bis95] ausführlich beschrieben. An dieser Stelle ist nur Platz für die Einführung des Grundalgorithmus der 1986 von Rumelhart, Hinton und Williams veröentlicht wurde. Herkömmliche Feed-Forward-Netze werden mit einer Menge M von Lernmustern (xµ, yµ) trainiert, die jedem Eingabeneuron i eine Eingangsgröÿe xµ i und jedem Aus- gabeneuron i einen erwünschten Ausgangswert yµ i zuordnen. Dabei gilt für Regres-
  • 37. 30 KAPITEL 3. LERNEN sionsprobleme xµ ∈ Rn, yµ ∈ Rn und für Klassikationsprobleme xµ ∈ Rn, yµ ∈ {0, 1}n. Details sind in [Men00] oder [Bis95] zu nden. Ziel des Algorithmus ist die Eingabewerte an das Netz möglichst fehlerfrei auf die gewünschten Ausgabewerte abzubilden. Dazu wird zunächst die Fehlerfunktion deniert als E(M) := µ Eµ (Net) := µ i∈O (si(Net, xµ )) − yµ i )2 (3.5) wobei si(Net, xµ) die Ausgabe des Neurons i ∈ O ist, wenn die Eingabe xµ an das Netz eingegeben wird. Anhand dieser Fehlerfunktion wird eine Anpassung eines jeden Gewichts wij im Netz entgegen des Gradienten ∂E(M)/∂wij durchgeführt, um so den Fehler zu minimieren: wneu ij = walt ij − ξ · µ ∂Eµ(M) ∂wij (3.6) Die rekursive Berechnung der partiellen Ableitung geschieht durch Zurückpropa- gieren, engl. Back-Propagation, des Fehlers durch das Netz von der Ausgabeschicht bis hin zur Eingabeschicht. Für ein Neuron i /∈ O ist si = S   j∈predi wjisj   , (3.7) also gilt für die Ableitung ∂Eµ(Net) ∂wij = ∂Eµ(Net) ∂si ∂si ∂wij = ∂Eµ(Net) ∂si si(1 − si)sj. (3.8) Fall 1: i ist Ausgabeneuron, dann ist ∂Eµ(Net) ∂si = 2(si − yµ i ) (3.9) Fall 2: i ist kein Ausgabeneuron, dann ist ∂Eµ(Net) ∂si = k∈succi ∂Eµ(Net) ∂sk ∂sk ∂si = k∈succi ∂Eµ(Net) ∂sk sk(1 − sk)wik (3.10) Die Ableitungen ∂Eµ(Net) ∂si werden für alle Neuronen des Netzes berechnet, begin- nend von der Ausgabeschicht her und werden zurück durch das Netz bis hin zur Eingabeschicht propagiert. In realen Anwendungen wird die beschriebene Berechnung des Gradienten durch einige Feinheiten erweitert, die bessere Generalisierung und ein schnelleres Lernen ermöglichen. Solche Anwendungen sind etwa die Mustererkennung oder die Daten- analyse und begrenzt auch die Steuerung von Robotern. Die sigmoiden Netze die- nen dabei stets zur Approximation von Funktionen. Mathematisch gesehen sind sie nichts anderes als stetig ableitbare Funktionen mit vielen Freiheitsgraden und
  • 38. 3.4. BACK-PROPAGATION IN PULSCODIERTEN NETZEN 31 könnten dementsprechend auch durch andere Funktionen ersetzt werden. Betrachtet man das Perzeptron hingegen als Modell von natürlichen Neuronen, so gibt es zwei Möglichkeiten der Interpretation. In der ersten ist ein Perzeptron das Modell eines Neurons und als solche ist diese auch von ihren Erndern McCulloch, Pitts und Rosenblatt auch verstanden worden. Als zweite Möglichkeit kann man diese Per- zeptronen auch als Ratenmodell interpretieren. Dementsprechend wird die Ausgabe eines Perzeptrons als Anzahl von Aktivierungszeitpunkten eines assoziierten Neu- rons in einem Zeitintervall gedeutet werden. Klar ist, dass eine Ratencodierung nicht die exakten Feuerzeitpunkte des Neurons berücksichtigt und somit auch, dass mit Netzen aus Perzeptronen keine Impulscodierung verwirklicht werden kann. Dafür sind die pulscodierten Netze nötig. Der im Folgeabschnitt beschriebene Algorithmus erlaubt dem Neuronalen Netz Information durch zeitlich abgestimmte Aktivierungs- sequenzen zu codieren und entsprechend zu decodieren. 3.4 Back-Propagation in Pulscodierten Netzen S. Bohte hat einen Backpropagation-Algorithmus für vorwärtsgerichtete, pulscodier- te Neuronale Netze entwickelt und erfolgreich für die Klassikation mehrerer Daten- sätze eingesetzt [BPK00]. In Abbildung 3.4 ist beispielhaft der Aufbau eines vor- wärtsgerichteten, dreischichtigen pulscodierten Neuronalen Netzes dargestellt. Ein Punkt steht dabei für jeweils ein Neuron, dessen Index an der y-Achse eingetragen ist. An der x-Achse ist angegeben, zu welcher Schicht das Neuron gehört, was in diesem Beispiel die Eingabe-, die versteckte oder die Ausgabeschicht sein kann. Die Neuronen können jeweils zu allen Neuronen der Nachfolgeschicht Impulse senden. Da in dem Beispiel zu jeder Verbindung drei Synapsen gehören, kommen pro aus- gesandtem Impuls drei Impulse am Nachfolgerneuron an, jeweils zeitlich versetzt entsprechend dem mit der Synapse assoziiertem Verzögerungselement. Die für diesen Backpropagation-Algorithmus verwendeten Lernmuster unter- scheiden sich von denen für herkömmliche Feed-Forward Netze verwendeten Mustern wesentlich. Da der Zeitpunkt des Feuerns eines Neurons von wesentlicher Bedeutung ist, muss dieser in den Mustern mit angegeben werden. Demnach ist ein Lernmuster deniert als µ = (µI, µO), wobei durch µI = { tf i | i ∈ I, t ∈ R+ } für jedes Eingabeneuron genau ein Feuerzeitpunkt deniert ist und durch µO = { td o | o ∈ O, t ∈ R+ } für jedes Ausgabeneuron genau ein erwünschter (engl.: desired) Feuerzeitpunkt vor- gegeben ist. Die Fehlerfunktion eines pulscodierten NN für ein Lernmuster µ ist nach S. Bohte deniert als Eµ = 1 2 j∈O (tf j (Net, µI) − td j (µo))2 , (3.11)
  • 39. 32 KAPITEL 3. LERNEN input hidden output 0 5 10 15 20 25 30 Neural net neuronindex layer name Connection: all-to-all 3 synapses Abbildung 3.4: Aufbau eines vorwärtsgerichteten, dreischichtigen Netzes wobei tf j (Net, µI) der Feuerzeitpunkt des Ausgabeneurons j ist, falls das Eingabe- muster µI die Eingabe an das Netz war und td j (µo) der im Lernmuster denierte erwünschte Feuerzeitpunkt. Der Gesamtfehler des Netzes über alle Muster ist folg- lich E = µ Eµ = 1 2 µ j∈O (tf j (Net, µI) − td j (µo))2 . (3.12) Bei der von S. Bohte beschriebenen Version des BP-Algorithmus, wird die Ab- leitung der Fehlerfunktion Eµ nach den Gewichten wk ij berechnet, woraufhin eine Anpassung der Gewichte mit ∆wk ij ← −ξ · ∂Eµ ∂wk ij (3.13) ausgeführt wird. Da die Funktion des Feuerzeitpunkts tj vom Membranpotential uj abhängig ist kann die partielle Ableitung in 3.13 erweitert werden durch ∂Eµ ∂wk ij = ∂Eµ ∂tj (tf j ) ∂tj ∂wk ij (tf j ) = ∂Eµ ∂tj (tf j ) ∂tj ∂uj (tf j ) ∂uj ∂wk ij (tf j ). (3.14) Der Beitrag yk ij(t) der Synapse am Membranpotential lässt sich direkt berechnen: ∂uj ∂wk ij (t) = (t − (tf i + dk ij)) =: yk ij(t). (3.15)
  • 40. 3.4. BACK-PROPAGATION IN PULSCODIERTEN NETZEN 33 Der Beitrag (engl.: contribution) yk ij(t) ist der Betrag, den die Synapse sk ij zum inneren Zustand des Neurons j zum Zeitpunkt t beiträgt. Die Änderung des Feuerzeitpunkts in Abhängigkeit von der Änderung des Mem- branpotentials ∂tj/∂uj allerdings muss in einer -Umgebung um den Feuerzeitpunkt tf j des Neurons j geschätzt werden durch: ∂tj ∂uj (tf j ) ≈ −1 ∂uj ∂t (tf j ) = −1 i∈predj k wk ij ∂yk i ∂t (tf j ) (3.16) Abbildung 3.5 soll den Zusammenhang zwischen (∂tj/∂uj)(tf j ) und (∂uj/∂t)(tf j ) verdeutlichen. Die beiden Diagramme zeigen jeweils den Potentialverlauf desselben Neurons, das beides mal zum selben Zeitpunkt einen eingehenden Impuls empfängt. Die unterschiedliche Entwicklung des Potentials resultiert aus der Variation des Syn- apsengewichts. Im Diagramm in 3.5(b) steigt das Membranpotential eher über den Schwellwert als im Diagramm in 3.5(a), da im ersteren das Synapsengewicht stär- ker ist und deshalb unter derselben Eingabe an das Neuron das Membranpotential stärker ansteigt. Deshalb feuert das mit Abbildung 3.5(b) assoziierte Neuron früher als das mit dem in Abbildung 3.5(a) assoziierte. Gleichung 3.15 berechnet die Ände- rung des Potentials in Abhängigkeit der Gewichtsänderung, während Gleichung 3.16 abschätzt, wie stark sich bei Änderung des Membranpotentials der Feuerzeitpunkt verschiebt. Schlieÿlich muss noch die Ableitung (∂Eµ/∂tj)(tf j ) berechnet werden, wofür zwei Fälle zu unterscheiden sind: Fall 1: j ist ein Ausgabeneuron, dann gilt ∂Eµ ∂tj (tf j ) = (tf j − td j ) (3.17) Fall 2: j ist Neuron einer Zwischenschicht, dann gilt ∂Eµ ∂tj (tf j ) = h∈succj ∂Eµ ∂th (tf h) ∂th ∂tj (tf h) = h∈succj ∂Eµ ∂th (tf h) ∂th ∂uh (tf h) ∂uh ∂tj (tf h) = h∈succj δh ∂uh ∂tj (tf h) (3.18) und ∂uh ∂tj (tf h) = k wk jh ∂yk jh ∂tj (tk h) (3.19) Beginnend von der Ausgabeschicht wird für jedes Neuron i die Ableitung ∂i = ∂Eµ ∂tj (tf j ) ∂tj ∂uj (tf j ) (3.20) berechnet und an die Vorgängerneuronen zurückpropagiert.
  • 41. 34 KAPITEL 3. LERNEN 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.4 0.6 0.8 1 1.2 1.4 1.6 Spike-Response-Function neuronpotential time in sec (a) Kleineres Synapsengewicht - späteres Feuern 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.4 0.6 0.8 1 1.2 1.4 1.6 Spike-Response-Function neuronpotential time in sec (b) Gröÿeres Synapsengewicht - früheres Feuern Abbildung 3.5: Zusammenhang des Membranpotentials mit dem Feuerzeitpunkt
  • 42. 3.5. DISKUSSION DES BACK-PROPAGATION ALGORITHMUS 35 3.5 Diskussion des Back-Propagation Algorithmus Betrachtet man die Fehlerfunktion der sigmoiden NN in Gleichung 3.5 und die der pulscodierten NN in Gleichung 3.12, so lässt sich daraus bereits das Ausmaÿ des Unterschieds zwischen Codierung nach dem Betrag im ersten Fall und der Codie- rung nach Zeit im zweiten Fall erahnen: Bei den sigmoiden Netzen wird die Die- renz zwischen der tatsächlichen und der erwünschten Ausgabestärke bzw. Feuerrate der Ausgabeneuronen betrachtet. Dahingegen wird bei den pulscodierten Netzen die Dierenz zwischen dem tatsächlichen und dem erwünschten Feuerzeitpunkt be- trachtet. Dementsprechend wird bei der Aktualisierung der Gewichte bei Anwenden des BP-Algorithmus im ersten Fall die Ausgabestärke bzw. Feuerrate der einzelnen Neuronen angepasst, während im zweiten Fall der Feuerzeitpunkt der Neuronen an- gepasst wird. Bei der Klassikation einer Eingabe mit den sigmoiden Netzen wird die Klasse gewählt, die mit dem Neuron mit der gröÿten Ausgabestärke bzw. höchsten Feuerrate assoziiert ist, wohingegen bei Pulscodierung das Neuron gewählt wird, welches zuerst feuert. Vorteile + Methode mathematisch exakt und analysierbar + Gute Klassikation Nachteile - Neuron feuert pro Simulation genau einmal - Spike-Response-Functions müssen unnatürlich breit sein - Ausschlieÿlich für Impulscodierung verwendbar Tabelle 3.1: Vor- und Nachteile von SpikeProp Um schlieÿlich zu entscheiden, ob der SpikeProp-Algorithmus geeignet für eine Implementation in dieser Arbeit ist, müssen schlieÿlich Vor- und Nachteile abge- wogen werden, die in Tabelle 3.1 kurz zusammengefasst sind. Der Algorithmus ist mathematisch exakt und deshalb auch gut analysierbar, auÿerdem hat S. Bohte auf mehreren Datensätzen eine gute Klassikation der erlernten Daten erreicht. Proble- matisch sind aber einige Voraussetzungen, die für ein Funktionieren des Algorithmus notwendig sind. So müssen die Spike-Response-Functions sehr breit sein, um eine Konvergenz des Algorithmus zu erreichen. Weiter kann der Algorithmus nur für Im- pulscodierung verwendet werden. Zwar ndet diese Form der Codierung sicher in bestimmten Teilen des Gehirns statt, doch spielen auch noch andere Codierungs- formen eine Rolle, wie zum Beispiel die Anzahl der aktiven Neuronen in einer Po- pulation. Eine weitere inakzeptable Einschränkung ist, dass ein Neuron nur einmal pro Simulation feuern darf. Spätestens der letzte Punkt macht diesen Algorithmus ungeeignet für ein Implementierung in dieser Arbeit. Schlieÿlich sollen Aktivitäten von Neuronen des auditorischen Pfads klassiziert werden und diese können natür- lich mehrmals hintereinander feuern. Aus diesem Grund muss eine neue Möglichkeit gefunden werden und ein neuer Algorithmus entwickelt werden.
  • 43. 36 KAPITEL 3. LERNEN 3.6 Einteilung der Lernalgorithmen Bei der Anwendung künstlicher Neuronaler Netze unterscheidet man prinzipiell drei Arten von Lernen, die entsprechend der Denitionen in [Bis95] eingeführt werden. Bei überwachtem Lernen ist stets für ein Eingabemuster an das Netz eine er- wünschte Ausgabe deniert. Ziel des Lernalgorithmus ist, das Netz dermaÿen an- zupassen, dass für ein Eingabemuster die erwünschte Ausgabe erzeugt wird. Im Gegensatz dazu steht das unüberwachte Lernen, das keine solche Zieldaten verwen- det. Anstelle des Lernens einer Eingabe-Ausgabe Abbildung ist hier das Modellieren der Wahrscheinlichkeitsverteilung der Eingabedaten, das Finden von Clustern oder sonstigen Strukturen das Ziel. Die dritte Form des Lernens ist schlieÿlich das Re- inforcement Learning, das bei der Steuerungsprozessen verwendet wird. Dabei wird das Neuronale Netz als Entscheidungseinheit in einem Zustandsraum verwendet. Zu bestimmten Zeitpunkten wird aus dem Zustandsraum eine Eingabe an das Netz ge- neriert. Die daraus berechnete Netzausgabe bestimmt eine von mehreren möglichen Aktionen, die ausgeführt wird. Aus dem Zustand, der aus der gewählten Aktion resultiert, wird die Netzausgabe schlieÿlich als gut oder schlecht bewertet. Die in diesem Kapitel eingeführten Backpropagation-Algorithmen können für das überwachte Lernen und für das Reinforcement Lernen verwendet werden. Letzteres wird im Laufe dieser Arbeit allerdings nicht besprochen. Problematischer wird die Zuordnung des Hebbschen Lernens. Im Allgemeinen ist Hebbsches Lernen unüber- wacht und für das Training werden keine Muster verwendet. Prinzipiell kann man aber einem rückgekoppelten Netzwerk durch externe Erregung eine Feuersequenz vorgeben, die dann durch Hebbsches Lernen gelernt wird. Ein Versuch dazu wird in Kapitel 5 erläutert. In diesem Spezialfall handelt es sich auch um überwachtes Lernen, da ein vorgegebenes Muster gelernt werden soll. Die Zuordnung des im nächsten Kapitel eingeführten Lernalgorithmus ist wieder- um einfach, es handelt sich um überwachtes Lernen mit vorgegebenen Lernmustern. 3.7 Zusammenfassung Der Hebbsche Lernalgorithmus wurde entsprechend der allgemeinen Formel, die im Buch von Gerstner [GK02] beschrieben ist, implementiert. Die Details, die dabei hinzugefügt wurden, stehen nicht im Widerspruch zu dieser allgemeinen Formel. Die Untersuchung des Backpropagation-Algorithmus von Bohte hingegen hat Nachteile dieses Ansatzes aufgezeigt, die gegen eine Implementierung dieses Algo- rithmus im Simulator sprechen. Deshalb el die Entscheidung, einen neuen Algorith- mus, der Mustererkennung mit pulscodierten Netzen ermöglicht, zu entwickeln. Um die Einführung dieses neu entwickelten Algorithmus geht es schlieÿlich im nächsten Kapitel.
  • 44. Kapitel 4 Ein neuer Backprop-Lernalgorithmus Für die Untersuchung des auditorischen Pfads ist es wünschenswert eine Möglichkeit zu nden, Impulse, die in einem Zeitintervall in dem zugehörigen Neuronalen Netz auftreten, decodieren und Klassen zuordnen zu können. Im vorherigen Kapitel wurde bereits ein BP-Algorithmus für pulscodierte NN beschrieben, der für Klassikationsprobleme einsetzbar ist. Wegen der in Abschnitt 3.5 beschriebenen Nachteile des Algorithmus ist er aber unbrauchbar für eine Imple- mentierung in dieser Arbeit. Es gilt also einen Algorithmus zu nden, der Klassika- tion ermöglicht und im Gegensatz zu SpikeProp mehrmaliges Feuern eines Neurons zulässt und unabhängig von der Codierung funktioniert. Im Folgenden wird der in dieser Arbeit entwickelte Algorithmus PulsProp ein- geführt, der all diesen Anforderungen gerecht werden soll. Die Ideen, die in diesem Algorithmus eingeossen sind, stammen teils aus Merkmalen des Hebbschen Lernal- gorithmus und teils aus Merkmalen des Backpropagation-Algorithmus. Im Gegen- satz zu letzterem wird keine Fehlerfunktion aus der Dierenz von Feuerzeitpunkt tf j und dem gewünschten Feuerzeitpunkt td j eines Ausgabeneurons j berechnet. Viel- mehr wird die Impulsabfolge Si(t) = f δ(t − tf i ) eines jeden Ausgabeneurons i ∈ O mit der vom Lernmuster vorgegebenen Impuls- abfolge Sd i (t) = d δ(t − td i ) in einer -Umgebung verglichen, um schlieÿlich Gewichte und Verzögerungselemente so abzuändern, dass die gewünschte Ausgabesequenz angenähert wird. 4.1 Lernmuster Wie für den Backpropagation-Algorithmus von Bohte wird auch hier eine vorwärts- gerichtete Struktur vorausgesetzt, die in Abbildung 3.4 dargestellt ist. Ebenfalls 37
  • 45. 38 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS wie im SpikeProp-Algorithmus gibt es auch hier Lernmuster µ = (µI, µO), die für die Eingangsneuronen eine Sequenz von Aktivierungszeitpunkten µI und für die Ausgangsneuronen eine Sequenz erwünschter Feuerzeitpunkte µO denieren. Da bei Anwendung von PulsProp jedes Neuron mehrmals feuern kann, müssen diese Lern- muster allerdings erweitert werden. Damit ergibt sich das Eingabemuster als µI = { { tf i } | i ∈ I, t ∈ R+ }, wobei für jedes Eingabeneuron null, ein oder mehrere Feuerzeitpunkte deniert sind und das Ausgabemuster als µO = { { td o } | o ∈ O, t ∈ R+ }, wobei für jedes Ausgabeneuron null, ein oder mehrere Feuerzeitpunkte vorgegeben sind. 4.2 Listen ShouldFire und ShouldNotFire Um das Netz zu trainieren, wird ein Lernmuster angewendet. Das heiÿt, die Ein- gangsneuronen werden zu den im Eingabemuster denierten Zeitpunkten aktiviert und das pulscodierte Netz wird entsprechend den Ausführungen in Abschnitt 2.5 simuliert. Schlieÿlich erhält man eine Ausgabe des Netzes an den Ausgabeneuronen in Form von Aktivierungszeitpunkten { tf o | o ∈ O }. Vergleicht man diese Aktivie- rungszeitpunkte mit den erwünschten Feuerzeitpunkten im Ausgabemuster, so kann man Fehler bestimmen, die das Netz für die aktuelle Eingabe macht. Ein Fehler tritt dann auf, wenn ein Neuron zu einem Zeitpunkt td j , der im Ausgabemuster deniert ist, nicht gefeuert hat. Solche Zeitpunkte werden nach der Formel ∀j ∈ O : ( t ∈ {td j } ∧ ¬∃ tf j : tf j t tf j + ) (4.1) bestimmt und in eine Liste eingetragen. Diese Liste enthält damit alle Zeitpunkte td j , zu denen das Neuron hätte feuern sollen, es aber innerhalb einer -Umgebung vor diesem Zeitpunkt nicht getan hat. Deshalb die Bezeichnung {tS j }, wobei das S für should re steht. Entsprechend wird eine Liste deniert, die alle Zeitpunkte enthält zu denen das Neuron gefeuert hat, dies aber gar nicht vorgesehen war. Für die Zeitpunkte t die in die Liste should not re {tN j } kommen, gilt: ∀j ∈ O : ( t ∈ {tf j } ∧ ¬∃ td j : td j − t td j ) (4.2) Anhand dieser Listen können nun die Synapsen angepasst werden, um Fehler des Netzes zu vermeiden. Eine wichtige Idee des PulsProp Algorithmus ist es, solche Listen für alle Neuronen zu bestimmen. Wie dies für die Ausgabeneuronen geschieht ist dargestellt worden. Die Listen der übrigen Neuronen sollen schlieÿlich jeweils von den Nachfolgerneuronen bestimmt werden. Ein Neuron fordert also seine Vorgänger auf, zu bestimmten Zeitpunkten zu feuern und zu anderen nicht zu feuern, um dadurch zu den bestimmten Zeitpunkten die benötigte Information zu erhalten. Angenommen für ein Neuron sind diese Listen bestimmt. Dann ist noch unge- klärt, welche Änderungen am Neuron und seinen Synapsen vorgenommen werden
  • 46. 4.2. LISTEN SHOULDFIRE UND SHOULDNOTFIRE 39 0.02 0.06 0.08 0.1 0 0.5 1 1.5 Potential development in SRM neuronpotential time in secti d ϑ tj f Abbildung 4.1: Erster Schritt: Verzögerungselemente anpassen müssen, damit die Fehler, die das Neuron macht, vermieden werden können. In Ab- bildung 4.1 ist der Ausgangspunkt dieser Betrachtung für ein Neuron dargestellt. Die x-Achse des Diagramms gibt den Zeitverlauf der Simulation in Sekunden an. Au- ÿerdem sind zwei Zeitpunkte an dieser Achse hervorgehoben, zum ersten der Feuer- zeitpunkt tf j des Vorgängerneurons und zum zweiten der erwünschte Feuerzeitpunkt td i des betrachteten Neurons i. Da die zwei Neuronen über zwei Synapsen verbun- den sind, kommen zu zwei Zeitpunkten Impulse am Neuron i an, falls das Neuron j zum Zeitpunkt tf j feuert. Die y-Achse zeigt das Potential an, der Schwellwert ϑ ist auf eins festgelegt. Vor dem Training entwickelt sich das Membranpotential des betrachteten Neurons wie dargestellt und es kommt nicht zu einer Aktivierung des Neurons i zum gewünschten Zeitpunkt. Damit das Neuron zum richtigen Zeitpunkt feuert, können verschiedene Möglichkeiten kombiniert werden: Anpassung der Verzögerungselemente Falls ein Impuls zu einem falschen Zeit- punkt am Neuron eingeht, kann dies durch Änderung des entsprechenden Ver- zögerungselements dk ji angepasst werden. Die Pfeile in der Abbildung 4.1 deu- ten an, in welcher Richtung die Verzögerungselemente angepasst werden müs- sen, damit eine Lösung angenähert wird. In Abbildung 4.2 ist das Ergebnis der Anpassung dargestellt. Hier liegt der maximale Wert der ersten Spike- Response-Function bereits näher am gewünschten Feuerzeitpunkt und eine Verstärkung dieses Gewichts hätte einen gröÿeren Eekt als vor der Anpas- sung des Verzögerungselements.
  • 47. 40 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS 0.02 0.06 0.08 0.1 0 0.5 1 1.5 Potential development in SRM neuronpotential time in secti d ϑ tj f Abbildung 4.2: Zweiter Schritt: Gewichte anpassen 0.02 0.06 0.08 0.1 0 0.5 1 1.5 Potential development in SRM neuronpotential time in sec t i d ϑ tj f Abbildung 4.3: Dritter Schritt: Feuerzeitpunkte der Vorgängerneuronen festsetzen
  • 48. 4.2. LISTEN SHOULDFIRE UND SHOULDNOTFIRE 41 0 0.02 0.06 0.08 0.1 0 0.5 1 1.5 Potential development in SRM neuronpotential time in secti d tj f ϑ Abbildung 4.4: Nach einem Trainingsdurchlauf Anpassung der Gewichte Schlieÿlich können die Gewichte selbst angepasst wer- den, um die Auslenkung des Membranpotentials in die gewünschte Richtung zu verschieben. Die Pfeile in Abbildung 4.2 zeigen an, wie die Gewichte geändert werden müssen. Da das Neuron in diesem Beispiel nicht zum erwünschte Zeit- punkt td i bzw. tS i feuert, muss dasjenige Synapsengewicht vergröÿert werden, welches zur Aktivierung des Membranpotentials entsprechend yk ji(tS i ) beiträgt. Das Ergebnis der Anpassung ist in Abbildung 4.3 dargestellt, wobei das Mem- branpotential bereits fast den Schwellwert erreicht. Anpassung der Vorgängerneuronen Indem die Vorgängerneuronen für das an- liegende Muster zu den richtigen Zeitpunkten feuern, senden diese Impulse zu i, deren Potentialauslenkungen dann um den erwünschten Zeitpunkt td i aufsummiert werden. Je nachdem, ob die Synapsengewichte positiv oder ne- gativ sind, wird das Potential von i ausgelenkt. So kann ein Neuron aktiviert oder gehemmt werden. Dazu ist in Abbildung 4.3 durch einen Pfeil angedeu- tet, wie der Zeitpunkt des Feuerns des Vorgängerneurons verschoben werden müsste, damit der Maximalwert der Spike-Response-Function des ersten Im- pulses noch ein Stück näher an den erwünschten Feuerzeitpunkt herankommt. Dementsprechend trägt das Neuron i den erwünschten Feuerzeitpunkt von j in die Liste should re des Neurons j ein. Passt j daraufhin sein Feuerverhal- ten entsprechend an, so erhält man die Potentialentwicklung in i wie sie in Abbildung 4.4 dargestellt ist.
  • 49. 42 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS Im PulsProp-Algorithmus werden alle drei genannten Möglichkeiten kombiniert. Die Details der einzelnen Schritte sind in den folgenden Abschnitten ausgeführt. 4.3 Anpassung der Verzögerungselemente Betrachtet wird ein Neuron j, für das bereits die beiden Listen should re und should not re bestimmt worden sind. Die Anpassung der Verzögerungselemente dk ij der Synapsen wird nur durchgeführt, falls ein Zeitpunkt tS j aus der Liste should re betrachtet wird. Im anderen Fall genügt es, die unerwünschte Aktivität des Neurons durch Abschwächung der Gewichte zu unterdrücken. Falls kein Vorgängerneuron feuert, wird der Schritt der Anpassung der Verzögerungselemente und der Schritt der Gewichtsanpassung ausgelassen. Der Algorithmus springt sofort zum Schritt des Zurückpropagierens der erwünschten Feuerzeitpunkte. Schlieÿlich macht es keinen Sinn die ausgelassenen Schritte durchzuführen, solange gar nicht klar ist, wann das Vorgängerneuron denn feuern würde. Wird nun ein solcher Zeitpunkt tS j betrachtet, so muss eine Anpassung der Ver- zögerungselemente durchgeführt werden, damit am Ende der Lernens für wenigstens ein dk ij und einen Feuerzeitpunkt tf i des Vorgängerneurons für ein 0 gilt: tS j − dk ij − ≤ tf i tS j − dk ij. (4.3) Ein Impuls, der über diese Synapse eingeht kann dann, neben anderen, das betrach- tete Neuron zum erwünschten Zeitpunkt aktivieren. Die Schrittweite der Anpassung der verschiedenen Verzögerungselemente auf ei- ner Verbindung wird entsprechend dem Neural Gas Algorithmus [MS91] abgeändert. Dieser dient dem Clustern einer Menge von Datenpunkten über Referenzvektoren. Dabei wird iterativ ein Datenpunkt gewählt und die jeweilige Dierenz der Refe- renzvektoren zum Datenpunkt berechnet. Daraufhin wird jeder Referenzvektor in Richtung des Datenpunktes verschoben, jeweils in Abhängigkeit eines Rankings der Referenzvektoren. Der Referenzvektor der den kleinsten Abstand zum Datenpunkt besitzt wird am stärksten abgeändert. In jedem der aufeinanderfolgenden Schrit- te wird die Schrittweite der Änderung verkleinert. Der im Folgenden vorgestellte Algorithmus entstand durch Änderung des Neural Gas Algorithmus. Um die Verzögerungselemente im Neuronalen Netz einzustellen, muss der Neural Gas Algorithmus angepasst werden. Ein Datenpunkt ist hier ein gedachtes Verzöge- rungselement dk ij, das einen Impuls tf i vom Vorgängerneuron i genau so verzögert, dass der Impuls kurz vor dem Zeitpunkt tS j am Neuron j eintrit. In diesem Fall hätte der eingehende Impuls den maximal möglichen Anteil an der Aktivierung des Neurons j. Der Neural Gas Algorithmus wird nun verwendet, um ein Verzögerungs- element dk ij so einzustellen, dass es als Referenzvektor für eine Menge solcher gedach- ten Verzögerungselemente dient. Ein Verzögerungselement soll also eine Mittelung mehrerer solcher Datenpunkte sein, die in der Menge der Lernmuster auftreten. Im ersten Schritt des Algorithmus wird ermittelt, welche Synapsen in welchem zeitlichen Abstand zum erwünschten Feuerzeitpunkt aktiv sind und Impulse über- tragen. Dies wird durch die Berechnung der Dierenzen ∆dk ij = tS j − (dk ij + tf i ) (4.4)
  • 50. 4.3. ANPASSUNG DER VERZÖGERUNGSELEMENTE 43 für alle Feuerzeitpunkte tf i aller Vorgängerneuron und den entsprechenden Verzöge- rungselementen dk ij erreicht. Würde man ∆dk ij zu dk ij addieren, so würde man genau das gedachte Verzögerungselement erhalten. Gilt ∆dk ij 0, dann ist die Synapse mit dem Beitrag yk ij(tS j ) an dem Zustand uj(tS j ) beteiligt. Es werden zwei Listen ge- bildet: L1 = {∆dk ij| ∆dk ij ≥ 0} ist die Liste der positiven ∆dk ij und wird aufsteigend sortiert, L2 = {∆dk ij| ∆dk ij 0} ist die Liste der negativen ∆dk ij und wird absteigend sortiert. Der Rang rk ij einer Synapse sk ij wird dann deniert als die Position von ∆dk ij in der Vereinigung der Listen L1 und L2, wobei L2 an die Liste L1 angehängt wird. Schlieÿlich wird jedes Verzögerungselement dk ij angepasst durch die Rechenope- rationen: 1. falls ∆dk ij ≥ 0, setze (∆dk ij) ← ∆dk ij − γ+, γ+ 0, sonst (∆dk ij) ← ∆dk ij − γ−, γ− 0 2. λ ← λi ∗ (λf /λi)(mk ij/mmax) , falls λ ≤ 0 setze λ ← const 0 3. ← i ∗ ( f / i)(mk ij/mmax) 4. ν ← e(−(rk ij−1)/λ) 5. ∆ ← ∗ ν ∗ yj(tS j ) ∗ (∆dk ij) 6. falls gilt ∆ + dk ij 0 setze dk ij ← ∆ + dk ij, sonst dk ij ← const 0 Die erste Rechenoperation ist ein Ergänzung des Neural Gas Algorithmus. Sie wird ausgeführt um sicherzustellen, dass die Synapse kurz vor der gewünschten Neu- ronenaktivierung zum Zeitpunkt tS j und auf keinen Fall hinterher aktiv ist, weshalb die Gröÿen γ+ und γ− neu eingeführt wurden. Die Rechenoperationen zwei bis fünf entsprechen den eigentlichen Operationen des Neural Gas Algorithmus. Wie im Originalalgorithmus ist λ ein Faktor, der die Schrittweite der Anpassung in Abhän- gigkeit des Rankings absinken lässt. Die Schrittweite der Anpassung in Abhängigkeit des Rankings der betrachteten Synapse ν selbst wird in Schritt vier berechnet. In Schritt drei wird die Abnahme der Schrittweite über die Zeit berechnet. Der Zeit- faktor t des Originals wurde ersetzt durch den Zähler mk ij. Nach jedem Lernschritt wird dieser Zähler erhöht, so dass die Schrittweite der Anpassung der Verzögerungs- elemente mit der Zahl an Trainingsschritte abnimmt. Der sechste Schritt wiederum stammt nicht aus dem Neural Gas Algorithmus. Er wurde eingeführt, um zu ver- hindern, dass ein Verzögerungselement kleiner als null wird. Die Aktualisierung von mk ij ndet erst nach der Anpassung der Gewichte statt und wird im Abschnitt 4.4 beschrieben. Der Faktor yj(tS j ) des Neurons wird dazu verwendet, die Anpassung von Synapsen zu gewichten und wird vom Nachfolgerneuron bei der Denition von Zeitpunkten in den Listen should re und should not re mit eingetragen. Die Be- stimmung dieses Faktors wird im Abschnitt 4.5 erklärt.
  • 51. 44 KAPITEL 4. EIN NEUER BACKPROP-LERNALGORITHMUS 4.4 Anpassung der Gewichte Nach der Anpassung der Verzögerungselemente folgt die Anpassung der Gewichte, allerdings nur falls das Vorgängerneuron wenigstens einmal aktiv war. Ansonsten folgt sofort der nächste Schritt des Zurückpropagierens der Feuerzeitpunkte. Wieder werden die Zeitpunkte betrachtet, die in den Listen should re und should not re enthalten sind. Falls es sich dabei um einen Zeitpunkt tS j handelt an dem das Neuron feuern sollte, werden die Gewichte vergröÿert, andernfalls werden die Gewichte verkleinert. Der Zusammenhang ist oensichtlich: hat ein Neuron nicht zu einem Zeitpunkt t gefeuert, dann wird das Feuern wahrscheinlicher, wenn alle Synapsen, die zum Membranpotential zum Zeitpunkt t beitragen vergröÿert werden. Umgekehrt verhält es sich, wenn ein Neuron irrtümlich zu einem Zeitpunkt t gefeuert hat. In diesem Fall wird das Feuern unwahrscheinlicher, falls die entsprechenden Gewichte verkleinert werden. Nachdem festgestellt worden ist, in welcher Richtung das Gewicht wk ij abgeändert werden muss, gilt es noch zu bestimmen mit welcher Schrittweite dies geschehen soll. Dabei sollen möglichst die Gewichte abgeändert werden, die noch keine bzw. nur wenig Information tragen. Gewichte hingegen, die viel Information tragen, sollen möglichst wenig abgeändert werden, um bereits Gelerntes nicht wieder zu löschen. Dabei wird die Annahme verwendet, dass Gewichte, die häug abgeändert worden sind, viel Information tragen und dass Gewichte, die wenig abgeändert worden sind, dementsprechend wenig Information tragen. Aus dieser Überlegung stammt die Idee, die Gewichte als eine Art gewichteten Mittelwert zu berechnen. Würde man beispielsweise ein Gewicht zehn mal abändern, so könnte man das resultierende Gewicht als Mittelwert aus allen zehn Zwischen- schritte berechnen. Eine Gewichtung der einzelnen Schritte erlaubt es, bestimmte Schritte mehr, andere hingegen weniger mit in den Endwert einieÿen zu lassen. Dies wird erreicht durch Anpassung des Verfahrens zur stochastischen Approxima- tion eines Erwartungswertes: ¯vn+1 = ¯vn + 1 n + 1 (vn+1 − ¯vn) (4.5) Um die Gewichtsanpassung auszuführen wird ¯vn durch ¯wk ij ersetzt, das Gewicht wird also als eine Art Mittelwert berechnet. Deshalb wird der Wert vn in obiger Gleichung auf 1·yk ij(t) gesetzt, falls das Gewicht erhöht werden soll und auf −1·yk ij(t), falls es vermindert werden soll. Die Einzelnen Stichproben erhalten allerdings eine unterschiedliche Gewichtung, indem die Schrittweite angepasst wird. Für Zeitpunkte der Liste should re erhält man eine Gewichtsanpassung nach der Regel: wk ij ← wk ij + |yj(tS j ) yk ij(tS j )| mk ij(tS j ) + |yj(tS j ) yk ij(tS j )| (yk ij(tS j ) − wk ij), (4.6) und für Zeitpunkte die in der Liste should not re enthalten sind nach der Regel: wk ij ← wk ij + |yj(tS j ) yk ij(tN j )| mk ij + |yj(tS j ) yk ij(tN j )| (−yk ij(tN j ) − wk ij), (4.7)