12.07.2015 Aufrufe

Neuronale Netze

Neuronale Netze

Neuronale Netze

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Ein kleiner Überblick über<strong>Neuronale</strong> <strong>Netze</strong>David Krieselwww.dkriesel.com


dkriesel.comIch habe überhaupt keine Hoffnung mehr in die Zukunft unseres Landes, wenneinmal unsere Jugend die Männer von morgen stellt. Unsere Jugend istunerträglich, unverantwortlich und entsetzlich anzusehen.Aristoteles, 384-322 v. Chr.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) iii


VorwörtchenDiese Arbeit ist ursprünglich im Rahmen eines Seminars der Rheinischen”Friedrich-Wilhelms-Universität Bonn entstanden, wurde und wird jedoch(nachdem vorgetragen und online verfügbar gemacht unterwww.dkriesel.com am 27.05.2005) immer mehr erweitert – erstens, um mitder Zeit einen möglichst guten Überblick über das Thema der <strong>Neuronale</strong>n<strong>Netze</strong> liefern zu können und zweitens schlicht und einfach, weil ich daranimmer mehr und besser L A TEX lernen möchte. Wer weiss, vielleicht wird ausdieser Zusammenfassung ja sogar einmal ein Vorwort!“Zusammenfassung dieser Arbeit, Ende 2005Aus der obenstehenden Zusammenfassungist bis jetzt zwar kein Vorwort, aber immerhinein Vorwörtchen geworden, nachdemsich die Erweiterung der Arbeit (damalsauf 40 Seiten) bei mir unverhofft zumDownloadschlager entwickelt hat.Anspruch und Intention diesesManuskriptsIch habe damals versprochen, das Dokumentkapitelweise weiterzuschreiben, wasauch passiert ist. Auf diesem Wege habeich die Dokumentstruktur etwas geändert;so kann ich besser Kapitel anfügen oderdie Gliederung variieren.Der ganze Text ist großzügiger geschriebenund layoutet, mit mehr Bildern als früher.Die Illustrationen sind nun ”nach meinemGusto“ selbst erstellt, zum Großteil direktin L A TEX unter Verwendung des PaketsXYpic. Sie spiegeln das wieder, was ichmir beim Erarbeiten des Stoffs gewünschthätte, sollen also mit dem Text zusammenmöglichst eingängig und schnell verständlichsein, um möglichst vielen einen Einstiegin das Gebiet der <strong>Neuronale</strong>n <strong>Netze</strong>zu ermöglichen. Auch hier: Wenn etwasnicht auf Anhieb verstehbar ist (und seies nur subjektiv), bitte sofort bei mir melden– nur mit solchen Feedback kann ichmein Skriptum wirklich einem breiten Publikumzugänglich machen!Trotzdem kann der mathematisch und formalversierte Leser die Definitionen weitestgehendohne Fließtext lesen, der nuran dem Gebiet an sich interessierte Leserumgekehrt; alles wird also sowohl umgangssprachlichwie auch formal erklärt.Ich bitte ausdrücklich um Hinweise, fallsich diese Doppelmoral einmal nicht ausreichendbewerkstelligt haben sollte.v


dkriesel.comAbschnitte dieser Arbeit sindweitestgehend eigenständigwann nicht, also gewissermaßen eineLandkarte der Paradigmen anbietet.Das Dokument selbst gliedert sich in mehrereTeile, die sich wiederum in Kapitelteilen. Trotz Querverweisen untereinanderkann man die Kapitel mit nur geringemVorwissen auch für sich selbst lesen. Hierbeigibt es größere und kleinere Kapitel:Während die größeren einen etwas fundierterenEinblick in ein Paradigma <strong>Neuronale</strong>r<strong>Netze</strong> geben sollen (z.B. beim Standardbeispiel<strong>Neuronale</strong>r <strong>Netze</strong>, dem Perceptronund seiner Lernverfahren), sinddie kleineren für einen kurzen Überblickgedacht – dies wird in der jeweiligen Kapiteleinleitungauch beschrieben. In einigenExkursen möchte ich noch gerne im Zusammenhanginteressantes, aber nicht direktdem Stoff zugehöriges Wissen vermitteln.Fest geplante AbschnitteWie ich schon geschrieben habe, erweitereich mein Skriptum kontinuierlich. Dasist nicht ganz unaufwändig, jedes Kapiteldauert lange bis es didaktisch aufbereitet,geschrieben, indiziert, mit Randbemerkungenversehen, mit Illustrationen versehen,mehrfachst gegengelesen und korrigiertund ins Englische übersetzt ist. Sosind auch einige zusätzliche Kapitel geradejetzt in Arbeit. Hierzu gehören:⊲ Ein Abschlusskapitel, welches ausmeiner ”Baucherfahrung“ kurz undbündig darstellt, wann jedes einzelneParadigma gut einzusetzen ist und⊲ Ein Kapitel über das relativ aktuelleParadigma der Echo State Networks.⊲ Ein Kapitel über biologische Evolutionund Evolutionäre Algorithmenund Vorschläge, wie man <strong>Neuronale</strong><strong>Netze</strong> effizient damit trainiert.⊲ Zusätzlich soll das Kapitel der Rückgekoppelten,also verallgemeinertenMultilayerperceptrons noch signifikanterweitert werden.Als das Dokument noch eine Proseminararbeitwar, habe ich nie ein Geheimnisdaraus gemacht, dass ein Teil des Dokumenteninhaltsu.a. von [Zel94] inspiriertist, ein Buch, welches ich außerordentlichgerne gelesen habe, aber eben ein Buch– mittlerweile sind aber derartig viele andereQuellen und auch so viel eigenes Erfahrungswisseneingeflossen, dass ich dieseÄußerung so nicht mehr weiterführenkann. Was ich sagen möchte ist, dass diesesSkriptum – im Gegensatz zu einemBuch – für Leser gedacht ist, denen einBuch erst einmal zu umfangreich ist, unddie sich einen Überblick über das Fachgebietverschaffen und einen möglichst einfachenEinstieg erleben möchten. Hingegenist es nicht als das gedacht, was vielerortsals Vorlesungsskript ausgegeben wird: eineBuchabschrift.Auf der Suche nach kostenlosen deutschenQuellen, die inhaltlich (was die Paradigmen<strong>Neuronale</strong>r <strong>Netze</strong> angeht) vielfältig,aber trotzdem durchgehend einheitlichenviD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comStils sind, bin ich (zumindest was deutschsprachigesMaterial angeht) leider nichtwirklich fündig geworden. Das Ziel dieserArbeit (auch wenn sie es vielleichtnicht auf Anhieb erfüllen kann) ist, dieseLücke nach und nach zu schließen und dasFachgebiet auf leicht verständliche Weisezugänglich zu machen.Nutzungsbedingungen undLizenzVon der Epsilon-Edition an ist dasManuskript unter Creative CommonsAttribution-No Derivative Works 3.0 UnportedLicense 1 lizensiert, bis auf einigewenige Kleinteile, die liberaleren Lizenzenunterstehen (im Wesentlichen ein paarBilder, die in den Wikimedia Commonssind). Hier ist eine Kurzzusammenfassungdessen, was diese Lizenz ungefähr wiedergibt:1. Dieses Dokument darf frei weiterverbreitetwerden (auch wenn es einebessere Idee ist, einfach die URLmeiner Homepage weiterzuverbreiten,denn hier gibt es schließlich immer dieneueste Version).2. Dieses Dokument darf nicht modifiziertoder als Teil eines anderen verwendetwerden, insbesondere nicht fürkommerzielle Zwecke.3. Dieses Dokument muss in jeglicher seinerVerwendungen dem Autor zugeschriebenwerden. Die Urheberschaftdes Autors darf nicht verschleiert werden.4. Die o.g. Zuschreibung des Dokumenteszum Autor impliziert nicht, dassder Autor die Art befürwortet, aufdie ein beliebiger Leser das Dokumentnutzt.Da ich kein Anwalt bin, ist die obigeStichpunktzusammenfassung nur informativgemeint. Wenn sie in irgendeiner Formin Konflikt zur o.g. Creative Commons-Lizenz steht, so hat letztere in jedemFall Vorrang. Natürlich berührt die Lizenzebenfalls nicht den Source Code des Manuskripts,der nicht veröffentlicht wird.Wie dieser Text zitiert wirdDa dieser Text keinen offiziellen Verlaghat, muss man mit Referenzen sorgfältigsein: Hierzu gibt es Informationen inDeutsch und Englisch auf meiner Homepagebzw. der zum Text gehörenden Unterseite2 .Es ist einfach, diese Arbeit zudruckenDiese Ausarbeitung ist durchgehend farbiggehalten, kann jedoch auch so, wie sie ist1 http://creativecommons.org/licenses/by-nd/3.0/2 http://www.dkriesel.com/science/neural_networksD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) vii


dkriesel.commonochrom gedruckt werden: Die Farben chende Überschriften sind nicht nur einfachein Titel wie z.B. Bestärkendes Ler-”sind in Abbildungen, Tabellen und Text sogewählt, dass sie neben schönem Farbdesignauch einen hervorragenden Schwarz- des zugehörigen Abschnitts: in diesem Fallnen“, sondern definieren den KernpunktWeiss-Kontrast ergeben.Bestärkendes Lernen gibt dem Netz Feedback,ob es sich gut oder schlecht verhält“.”Die letztere, lange Version dient hierbei alsEs sind viele Hilfmittel im Überschrift, die im Text verwendet wird,die kürzere steht im Inhaltsverzeichnis, soText integriertdass dieses griffig bleibt.In das Dokument sind verschiedene Hilfsmitteldirekt integriert, die das Lesen wesentlichflexibler machen sollen: Wer (wie NavigationshilfeRandbemerkungen sind eineich) lieber auf Papier liest als am Bildschirm,soll sich trotzdem einiger Features Über das ganze Dokument hinweg existierenumgangssprachliche Randhinweiseerfreuen.(siehe nebenstehendes Beispiel), an denenentlang man (unter MitbenutzungVerschiedene Kapiteltypen sind imderInhalt gekennzeichnetÜberschriften) durch den Text ” gleiten“und Textstellen einfach wiederfindenkann.Direkt im Inhaltsverzeichnis sind die Kapiteltypengekennzeichnet. Kapitel, die Neue mathematische Symbole kennzeichneich zum einfachen Wiederfinden mit”als wichtige Grundlagen“ gekennzeichnetsind, sollte man definitiv zu Anfang lesen, besonderen Randhinweisen (nebenstehenddenn eigentlich alle nachfolgenden Kapitel ein Beispiel für x).basieren in irgendeiner Form darauf. AndereKapitel basieren zusätzlich auf bestimmtenanderen (vorherigen) Kapiteln, auch Es gibt verschiedene Arten derhier steht eine entsprechende Bemerkung Indizierungim Inhaltsverzeichnis neben dem Kapiteltitel.Es existieren verschiedene Arten der Indizierung:Zunächst kann man einen Begriff,nachdem man ihn im Index gefundenund die betreffende Seite aufgeschla-Sprechende Überschriften im Text,kürzere im Inhaltsverzeichnis gen hat, einfach finden, indem man nachhervorgehobenem Text sucht – indizierteBegriffe sind grundsätzlich auf dieseDas ganze Scriptum ist nun mit sprechendenÜberschriften durchzogen. Spre- Weise hervorgehoben.Hypertextauf Papier:-)◭xviiiD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comKapitelübergreifende mathematische Symbole(wie z.B. Ω für ein Outputneuron, ichhabe mich bemüht, bei allgegenwärtig wiederkehrendenElementen eine konsistenteNomenklatur beizubehalten) besitzen eineeigene Indexkategorie unter ”MathematischeSymbole“, so dass sie einfach dementsprechenden Begriff zugeordnet werdenkönnen.Personennamen, welche in Kapitälchengeschrieben sind, werden in der Indexkategorie”Personen“ indiziert und nach Nachnamengeordnet.DanksagungIch möchte nun einige Danksagungen loswerden,da ein Skriptum wie dieses durchausgenug Arbeit macht, um viele Helferzu benötigen. Zunächst einmal möchteich mich bei den Korrektoren dieses Skriptumsbedanken, welche mir und der Leserschaftsehr sehr geholfen haben. Genanntseien in alphabetischer Ordnung: WolfgangApolinarski, Kathrin Gräve, PaulImhoff, Thomas Kühn, Christoph Kunze,Malte Lohmeyer, Joachim Nock, DanielPlohmann, Daniel Rosenthal, ChristianSchulz und Tobias Wilken.Vielen Dank für Verbesserungen, Feedbackund Anmerkungen möchte ich auch denLesern Igor Buchmüller, Marie Christ, JuliaDamaschek, Anne Feldmeier, SaschaFink, Andreas Friedmann, Jan Gassen,Markus Gerhards, Thomas Ihme, BorisJentsch, Sebastian Hirsch, Tim Hussein,Mirko Kunze, Maikel Linke, Adam Maciak,Benjamin Meier, David Möller, AndreasMüller, Matthias Siegmund, Mathias Tirtasana,Oliver Tischler, Igor Wall, AchimWeber, Gideon Maillette de Buij Wenniger,Philipp Woock und vielen anderen aussprechen.Ebenfalls danke ich Beate Kuhl ganz besondersfür die Übersetzung des Skriptumsvom Deutschen ins Englische und Nachfragen,die mich bewogen haben, einige Formulierungenanders zu gestalten.Ganz besonderen Dank möchte ich Prof.Rolf Eckmiller und Dr. Nils Goerke aussprechen,sowie der ganzen Abteilung Neuroinformatikdes Instituts für Informatikder Universität Bonn – sie sorgtendafür, dass ich immer Neues über <strong>Neuronale</strong><strong>Netze</strong> und Fachverwandtes lernte(und auch lernen musste). InsbesondereHerr Dr. Goerke war und ist immer bereit,auf jedwede Frage einzugehen, dieich mir während des Schreibens nicht selberbeantworten konnte. Gespräche mitProf. Eckmiller waren für mich immer bereicherndund gaben Anstoß für weitereRecherchen oder verleiteten mich,” vonder Tafel zurückzutreten“, um Sachverhaltevon weiter weg nüchtern zu betrachtenund nächste Aufgaben auszumachen.Ganz global und nicht nur auf das Skriptumbezogen geht ein weiteres Dankeschönan meine Eltern, welche nie müde werden,mir fachbezogene und damit nicht wirklichpreiswerte Buchwünsche zu erfüllenund mir auch sonst viel Unterstützung fürmein Studium zukommen lassen.Für viele ”Bemerkungen“ und die ganz besondersherzliche Stimmung ;-) bedankeD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) ix


dkriesel.comich mich sehr bei Andreas Huber und TobiasTreutler, mit denen es seit dem erstenSemester nur selten langweilig wurde!Ich möchte auch noch kurz an meine Schulzeitdenken und mich bei jenen Lehrernganz herzlich danken, die mir (das ist meineÜberzeugung) trotz meiner vielleichtnicht immer vollherzigen Mitarbeit naturwissenschaftlichetwas mit auf den Weg gegebenhaben: Herrn Wilfried Hartmann,Herrn Hubert Peters und Herrn FrankNökel.David KrieselEin Dankeschön geht auch an die WikimediaCommons, wo ich einige (wenige) Bildvorlagenentnommen und auf mein Skriptumangepasst habe.Weiterhin danke ich der gesamten Mannbzw.Frauschaft des Notariates Dr. KempDr. Kolb aus Bonn, bei der ich mich immergut aufgehoben fühle und die alles tut, damitsich meine Druckkosten im Rahmenhalten - insbesondere seien hier erwähntChristiane Flamme und Herr Dr. Kemp!Als letztes, und sozusagen als Ehrenplatz,möchte ich aber zwei Personen danken, diesich sehr um das Skriptum und mein Wohlergehenverdient machen: Meine FreundinVerena Thomas, die, obwohl viele andereDinge für sie zu tun sind, viele mathematischeund logische Fehler in meinem Skriptumaufgedeckt und mit mir diskutiert hat– und Christiane Schultze, die das Skriptsorgfältigst auf Rechtschreibfehler und Inkonsistenzendurchgesehen hat.Etwas besseres als eure Genauigkeit undSorgfalt könnte dem Skriptum gar nichtpassieren!xD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


InhaltsverzeichnisVorwörtchenvIVon der Biologie zur Formalisierung – Motivation, Philosophie, Geschichteund Realisierung <strong>Neuronale</strong>r Modelle 11 Einleitung, Motivation und Geschichte 31.1 Warum <strong>Neuronale</strong> <strong>Netze</strong>? . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1 Die 100-Schritt-Regel . . . . . . . . . . . . . . . . . . . . . . . . 61.1.2 Einfache Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . 61.2 Geschichte <strong>Neuronale</strong>r <strong>Netze</strong> . . . . . . . . . . . . . . . . . . . . . . . . 91.2.1 Anfänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.2 Blütezeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.3 Lange Stille und langsamer Wiederaufbau . . . . . . . . . . . . . 111.2.4 Renaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Biologische <strong>Neuronale</strong> <strong>Netze</strong> 152.1 Das Nervensystem von Wirbeltieren . . . . . . . . . . . . . . . . . . . . 152.1.1 Periphäres und zentrales Nervensystem . . . . . . . . . . . . . . 162.1.2 Großhirn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1.3 Kleinhirn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.1.4 Zwischenhirn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.5 Hirnstamm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Das Neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.1 Bestandteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.2 Elektrochemische Vorgänge im Neuron . . . . . . . . . . . . . . . 212.3 Rezeptorzellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.3.1 Arten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.3.2 Informationsverarbeitung im Nervensystem . . . . . . . . . . . . 272.3.3 Lichtsinnesorgane . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.4 Neuronenmengen in Lebewesen . . . . . . . . . . . . . . . . . . . . . . . 31xi


Inhaltsverzeichnisdkriesel.com2.5 Technische Neuronen als Karikatur der Biologie . . . . . . . . . . . . . . 33Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen) 353.1 Der Zeitbegriff bei <strong>Neuronale</strong>n <strong>Netze</strong>n . . . . . . . . . . . . . . . . . . . 353.2 Bestandteile <strong>Neuronale</strong>r <strong>Netze</strong> . . . . . . . . . . . . . . . . . . . . . . . 363.2.1 Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.2 Propagierungsfunktion und <strong>Netze</strong>ingabe . . . . . . . . . . . . . . 373.2.3 Aktivierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2.4 Schwellenwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.5 Aktivierungsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . 383.2.6 Ausgabefunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2.7 Lernverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3 Verschiedene Netztopologien . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.1 FeedForward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3.2 Rückgekoppelte <strong>Netze</strong> . . . . . . . . . . . . . . . . . . . . . . . . 423.3.3 Vollständig verbundene <strong>Netze</strong> . . . . . . . . . . . . . . . . . . . . 453.4 Das Biasneuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.5 Darstellung von Neuronen . . . . . . . . . . . . . . . . . . . . . . . . . . 463.6 Aktivierungsreihenfolgen . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.6.1 Synchrone Aktivierung . . . . . . . . . . . . . . . . . . . . . . . . 473.6.2 Asynchrone Aktivierung . . . . . . . . . . . . . . . . . . . . . . . 483.7 Ein- und Ausgabe von Daten . . . . . . . . . . . . . . . . . . . . . . . . 49Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen) 514.1 Paradigmen des Lernens . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.1.1 Unüberwachtes Lernen . . . . . . . . . . . . . . . . . . . . . . . . 524.1.2 Bestärkendes Lernen . . . . . . . . . . . . . . . . . . . . . . . . . 534.1.3 Überwachtes lernen . . . . . . . . . . . . . . . . . . . . . . . . . . 534.1.4 Offline oder Online lernen? . . . . . . . . . . . . . . . . . . . . . 544.1.5 Fragen im Vorhinein . . . . . . . . . . . . . . . . . . . . . . . . . 544.2 Trainingsmuster und Teaching Input . . . . . . . . . . . . . . . . . . . . 544.3 Umgang mit Trainingsbeispielen . . . . . . . . . . . . . . . . . . . . . . 564.3.1 Aufteilung der Trainingsmenge . . . . . . . . . . . . . . . . . . . 564.3.2 Reihenfolgen der Musterpräsentation . . . . . . . . . . . . . . . . 574.4 Lernkurve und Fehlermessung . . . . . . . . . . . . . . . . . . . . . . . . 584.4.1 Wann hört man auf zu lernen? . . . . . . . . . . . . . . . . . . . 594.5 Gradientenbasierte Optimierungsverfahren . . . . . . . . . . . . . . . . . 614.5.1 Probleme von Gradientenverfahren . . . . . . . . . . . . . . . . . 63xiiD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comInhaltsverzeichnis4.6 Beispielproblemstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . 634.6.1 Boolesche Funktionen . . . . . . . . . . . . . . . . . . . . . . . . 644.6.2 Die Paritätsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . 644.6.3 Das 2-Spiralen-Problem . . . . . . . . . . . . . . . . . . . . . . . 654.6.4 Das Schachbrettproblem . . . . . . . . . . . . . . . . . . . . . . . 654.6.5 Die Identitätsfunktion . . . . . . . . . . . . . . . . . . . . . . . . 664.7 Hebbsche Lernregel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.7.1 Urform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.7.2 Verallgemeinerte Form . . . . . . . . . . . . . . . . . . . . . . . . 67Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68II Überwacht lernende Netzparadigmen 695 Das Perceptron 715.1 Das Singlelayerperceptron . . . . . . . . . . . . . . . . . . . . . . . . . . 745.1.1 Perceptron-Lernalgorithmus und Konvergenz-Theorem . . . . . . 755.2 Delta-Regel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.3 Lineare Separierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.4 Das Multilayerperceptron . . . . . . . . . . . . . . . . . . . . . . . . . . 845.5 Backpropagation of Error . . . . . . . . . . . . . . . . . . . . . . . . . . 875.5.1 Reduktion von Backpropagation auf Delta-Regel . . . . . . . . . 925.5.2 Wahl der Lernrate . . . . . . . . . . . . . . . . . . . . . . . . . . 925.5.3 Initialkonfiguration eines Multilayerperceptrons . . . . . . . . . . 935.5.4 Variationen und Erweiterungen zu Backpropagation . . . . . . . 965.6 Das 8-3-8-Kodierungsproblem und verwandte Probleme . . . . . . . . . 99Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006 Radiale Basisfunktionen 1036.1 Bestandteile und Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.2 Informationsverarbeitung eines RBF-<strong>Netze</strong>s . . . . . . . . . . . . . . . . 1066.2.1 Informationsverarbeitung in den RBF-Neuronen . . . . . . . . . 1066.2.2 Analytische Gedanken im Vorfeld zum Training . . . . . . . . . . 1106.3 Training von RBF-<strong>Netze</strong>n . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.3.1 Zentren und Breiten von RBF-Neuronen . . . . . . . . . . . . . . 1146.4 Wachsende RBF-<strong>Netze</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.4.1 Hinzufügen von Neuronen . . . . . . . . . . . . . . . . . . . . . . 1176.4.2 Begrenzung der Neuronenanzahl . . . . . . . . . . . . . . . . . . 1176.4.3 Entfernen von Neuronen . . . . . . . . . . . . . . . . . . . . . . . 1186.5 Gegenüberstellung von RBF-<strong>Netze</strong>n und Multilayerperceptrons . . . . . 118D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) xiii


Inhaltsverzeichnisdkriesel.comÜbungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197 Rückgekoppelte <strong>Netze</strong> (baut auf Kap. 5 auf) 1217.1 Jordannetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.2 Elmannetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.3 Training rückgekoppelter <strong>Netze</strong> . . . . . . . . . . . . . . . . . . . . . . . 1257.3.1 Unfolding in Time . . . . . . . . . . . . . . . . . . . . . . . . . . 1257.3.2 Teacher Forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267.3.3 Rekurrentes Backpropagation . . . . . . . . . . . . . . . . . . . . 1267.3.4 Training mit Evolution . . . . . . . . . . . . . . . . . . . . . . . . 1268 Hopfieldnetze 1298.1 Inspiration durch Magnetismus . . . . . . . . . . . . . . . . . . . . . . . 1298.2 Aufbau und Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . 1308.2.1 Eingabe und Ausgabe eines Hopfieldnetzes . . . . . . . . . . . . 1308.2.2 Bedeutung der Gewichte . . . . . . . . . . . . . . . . . . . . . . . 1318.2.3 Zustandswechsel der Neurone . . . . . . . . . . . . . . . . . . . . 1318.3 Erzeugen der Gewichtsmatrix . . . . . . . . . . . . . . . . . . . . . . . . 1338.4 Autoassoziation und traditionelle Anwendung . . . . . . . . . . . . . . . 1348.5 Heteroassoziation und Analogien zur neuronalen Datenspeicherung . . . 1348.5.1 Erzeugung der Heteroassoziationsmatrix . . . . . . . . . . . . . . 1358.5.2 Stabilisierung der Heteroassoziationen . . . . . . . . . . . . . . . 1368.5.3 Biologische Motivation der Heteroassoziation . . . . . . . . . . . 1368.6 Kontinuierliche Hopfieldnetze . . . . . . . . . . . . . . . . . . . . . . . . 137Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379 Learning Vector Quantization 1399.1 Über Quantisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1399.2 Zielsetzung von LVQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1409.3 Benutzung von Codebookvektoren . . . . . . . . . . . . . . . . . . . . . 1419.4 Ausrichtung der Codebookvektoren . . . . . . . . . . . . . . . . . . . . . 1419.4.1 Vorgehensweise beim Lernen . . . . . . . . . . . . . . . . . . . . 1429.5 Verbindung zu <strong>Neuronale</strong>n <strong>Netze</strong>n . . . . . . . . . . . . . . . . . . . . . 143Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143III Unüberwacht lernende Netzparadigmen 14510 Self Organizing Feature Maps 14710.1 Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148xivD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comInhaltsverzeichnis10.2 Funktionsweise und Ausgabeinterpretation . . . . . . . . . . . . . . . . . 14910.3 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15010.3.1 Die Topologiefunktion . . . . . . . . . . . . . . . . . . . . . . . . 15110.3.2 Monoton sinkende Lernrate und Nachbarschaft . . . . . . . . . . 15310.4 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15410.4.1 Topologische Defekte . . . . . . . . . . . . . . . . . . . . . . . . . 15610.5 Auflösungsdosierung und ortsabhängige Lernrate . . . . . . . . . . . . . 15910.6 Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16110.6.1 Zusammenspiel mit RBF-<strong>Netze</strong>n . . . . . . . . . . . . . . . . . . 16110.7 Variationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16210.7.1 <strong>Neuronale</strong>s Gas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16210.7.2 Multi-SOMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16410.7.3 Multi-<strong>Neuronale</strong>s Gas . . . . . . . . . . . . . . . . . . . . . . . . 16410.7.4 Wachsendes <strong>Neuronale</strong>s Gas . . . . . . . . . . . . . . . . . . . . . 165Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16611 Adaptive Resonance Theory 16711.1 Aufgabe und Struktur eines ART-<strong>Netze</strong>s . . . . . . . . . . . . . . . . . . 16711.1.1 Resonanz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16811.2 Lernvorgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16911.2.1 Mustereingabe und Top-Down-Lernen . . . . . . . . . . . . . . . 16911.2.2 Resonanz und Bottom-Up-Lernen . . . . . . . . . . . . . . . . . . 16911.2.3 Hinzufügen eines Ausgabeneurons . . . . . . . . . . . . . . . . . 16911.3 Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170IV Exkurse, Anhänge und Register 171A Exkurs: Clusteranalyse und Regional and Online Learnable Fields 173A.1 k-Means Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174A.2 k-Nearest Neighbouring . . . . . . . . . . . . . . . . . . . . . . . . . . . 175A.3 ε-Nearest Neighbouring . . . . . . . . . . . . . . . . . . . . . . . . . . . 175A.4 Der Silhouettenkoeffizient . . . . . . . . . . . . . . . . . . . . . . . . . . 176A.5 Regional and Online Learnable Fields . . . . . . . . . . . . . . . . . . . 178A.5.1 Aufbau eines ROLFs . . . . . . . . . . . . . . . . . . . . . . . . . 178A.5.2 Training eines ROLFs . . . . . . . . . . . . . . . . . . . . . . . . 179A.5.3 Auswertung eines ROLFs . . . . . . . . . . . . . . . . . . . . . . 181A.5.4 Vergleich mit populären Clusteringverfahren . . . . . . . . . . . . 181A.5.5 Initialisierung von Radien, Lernraten und Multiplikator . . . . . 182A.5.6 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . 183D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) xv


Inhaltsverzeichnisdkriesel.comÜbungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183B Exkurs: <strong>Neuronale</strong> <strong>Netze</strong> zur Vorhersage 185B.1 Über Zeitreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185B.2 One Step Ahead Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 187B.3 Two Step Ahead Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 189B.3.1 Rekursive Two Step Ahead Prediction . . . . . . . . . . . . . . . 189B.3.2 Direkte Two Step Ahead Prediction . . . . . . . . . . . . . . . . 189B.4 Weitere Optimierungsansätze für die Prediction . . . . . . . . . . . . . . 189B.4.1 Veränderung zeitlicher Parameter . . . . . . . . . . . . . . . . . . 189B.4.2 Heterogene Prediction . . . . . . . . . . . . . . . . . . . . . . . . 191B.5 Bemerkungen zur Vorhersage von Aktienkursen . . . . . . . . . . . . . . 191C Exkurs: Reinforcement Learning 195C.1 Systemaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196C.1.1 Die Gridworld . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196C.1.2 Agent und Umwelt . . . . . . . . . . . . . . . . . . . . . . . . . . 197C.1.3 Zustände, Situationen und Aktionen . . . . . . . . . . . . . . . . 198C.1.4 Reward und Return . . . . . . . . . . . . . . . . . . . . . . . . . 200C.1.5 Die Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201C.2 Lernvorgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202C.2.1 Strategien zur Rewardvergabe . . . . . . . . . . . . . . . . . . . . 203C.2.2 Die State-Value-Funktion . . . . . . . . . . . . . . . . . . . . . . 204C.2.3 Montecarlo-Methodik . . . . . . . . . . . . . . . . . . . . . . . . 206C.2.4 Temporal Difference Learning . . . . . . . . . . . . . . . . . . . . 207C.2.5 Die Action-Value-Funktion . . . . . . . . . . . . . . . . . . . . . 209C.2.6 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209C.3 Beispielanwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210C.3.1 TD-Gammon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210C.3.2 Das Auto in der Grube . . . . . . . . . . . . . . . . . . . . . . . 211C.3.3 Der Pole Balancer . . . . . . . . . . . . . . . . . . . . . . . . . . 211C.4 Reinforcement Learning im Zusammenhang mit <strong>Neuronale</strong>n <strong>Netze</strong>n . . . 212Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Literaturverzeichnis 215Abbildungsverzeichnis 221Tabellenverzeichnis 225Index 227xviD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Teil IVon der Biologie zur Formalisierung– Motivation, Philosophie,Geschichte und Realisierung<strong>Neuronale</strong>r Modelle1


Kapitel 1Einleitung, Motivation und GeschichteWie kann man dem Computer etwas beibringen? Entweder, indem man einstarres Programm schreibt – oder, indem man ihm das Lernen ermöglicht.Lebende Wesen haben keinen Programmierer, der ihnen ein Programm für ihreFähigkeiten schreibt, welches nur ausgeführt werden muss. Sie lernen – ohneVorkenntnisse durch Eindrücke von außen – selber und kommen damit zubesseren Problemlösungen als jeder heutige Computer. Kann man solchesVerhalten auch bei Maschinen wie Computern erreichen? Können wir solcheKognition von der Biologie adaptieren? Geschichte, Entwicklung, Niedergangund Wiederauferstehung eines großen Ansatzes, Probleme zu lösen.Computernichtlernfähig1.1 Warum <strong>Neuronale</strong> <strong>Netze</strong>?Es gibt Kategorien von Problemen, welchesich nicht in einen Algorithmus fassenlassen – Probleme, die von einer großenMenge subtiler Faktoren abhängen, wiezum Beispiel die Bestimmung des Kaufpreiseseiner Immobilie, den wir mit unseremGehirn (ungefähr) bestimmen können,ein Computer in Ermangelung eines Algorithmusaber nicht. Darum muss man sichdie Frage stellen: Wie lernen wir denn, aufsolche Fragestellungen einzugehen?Genau – wir lernen; eine Fähigkeit, an deres Computern offensichtlich mangelt. Menschenhaben ein Gehirn mit der Fähigkeitzu lernen, Computer einige Recheneinheitenund Speicher. Diese ermöglichen, inkürzester Zeit komplizierteste numerischeBerechnungen auszuführen, bieten uns jedochkeine Lernfähigkeit. Stellen wir Computerund Gehirn gegenüber 1 , so bemerkenwir, dass der Computer theoretischleistungsfähiger sein müsste: Er besitzt10 9 Transistoren mit einer Schaltzeit von10 −9 Sekunden. Das Gehirn hat zwar 10 11Neurone, jedoch schalten diese nur in etwa10 −3 Sekunden.Allerdings arbeitet der größte Teil des Gehirnsdurchgehend, während wiederum der1 Diese Gegenüberstellung ist natürlich aus vielennaheliegenden Gründen bei Biologen wie Informatikernumstritten, da Schaltzeit und Menge nichtsüber Qualität und Leistung der Recheneinheitenaussagt und Neurone und Transistoren auch nichtdirekt vergleichbar sind. Dennoch erfüllt die Gegenüberstellungden Zweck, den Vorteil der Parallelitätanhand der Verarbeitungszeit aufzuzeigen.3


Kapitel 1 Einleitung, Motivation und Geschichtedkriesel.comGehirnComputerAnzahl Recheneinheiten ≈ 10 11 ≈ 10 9Art Recheneinheiten Neurone TransistorenArt der Berechnung massiv parallel i.d.R. seriellDatenspeicherung assoziativ adressbasiertSchaltzeit ≈ 10 −3 s ≈ 10 −9 sTheoretische SchaltvorgängeTatsächliche Schaltvorgänge≈ 10 13 1 s≈ 10 12 1 s≈ 10 18 1 s≈ 10 10 1 sTabelle 1.1: Der (hinkende) Vergleich zwischen Gehirn und Rechner auf einen Blick. Vorlage:[Zel94]ParallelitätEinfache,aber vieleRecheneinheitengrößte Teil des Computers nur passiv Datenspeichert. So arbeitet das Gehirn parallelund damit nahe an seiner theoretischenMaximalleistung, der Computer istvon dieser jedoch um Zehnerpotenzen entfernt(Tabelle 1.1). Zudem ist ein Computerin sich statisch - das Gehirn als biologisches<strong>Neuronale</strong>s Netz kann sich jedochwährend seiner Laufzeit“ umstrukturierenund so lernen, Fehler kompensie-”ren und mehr.Innerhalb dieser Arbeit möchte ich skizzieren,wie man sich solche Eigenschaftendes Gehirns auch am Computer zunutzemacht.Das Studium der Künstlichen <strong>Neuronale</strong>n<strong>Netze</strong> ist also motiviert durch die Ähnlichkeitzu erfolgreich arbeitenden biologischenSystemen, welche im Vergleich zumGesamtsystem aus sehr einfachen, aberdafür vielen und massiv parallel arbeitendenNervenzellen bestehen und (das istwohl einer der bedeutendsten Aspekte)Lernfähigkeit besitzen. Ein <strong>Neuronale</strong>sNetz muss nicht explizit für seine Aufgabenprogrammiert werden, es kann beispielsweiseaus Trainingsbeispielen lernenoder auch durch Bestärkung, sozusagendurch Zuckerbrot und Peitsche (ReinforcementLearning).Ein aus dem Lernvorgang resultierenderAspekt ist die Generalisierungs- bzw.Assoziationsfähigkeit <strong>Neuronale</strong>r <strong>Netze</strong>:Nach erfolgreichem Training kann ein<strong>Neuronale</strong>s Netz ähnliche Probleme derselbenKlasse, die nicht explizit trainiert wurden,plausiblen Lösungen zuführen. Darausresultiert dann wieder eine große Fehlertoleranzgegenüber verrauschten Eingabedaten.Fehlertoleranz steht wieder in enger Beziehungzu biologischen <strong>Neuronale</strong>n <strong>Netze</strong>n,bei denen diese Eigenschaft sehr ausgeprägtist: Wie schon bemerkt, hat einMensch ca. 10 11 Neurone, die sich aberkontinuierlich umstrukturieren oder durchEinflüsse von außen umstrukturiert werden(bei einem Vollrausch verliert einMensch ca. 10 5 Neurone, auch bestimmteArten Nahrungsmittel oder Umweltein-N. Netzlernfähig4 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com1.1 Warum <strong>Neuronale</strong> <strong>Netze</strong>?N. Netzfehlertolerantflüsse zerstören Gehirnzellen) – trotzdemwird unsere Kognitionsfähigkeit nicht wesentlichbeeinträchtigt. Das Gehirn ist alsotolerant gegenüber inneren Fehlern – undauch gegenüber Fehlern von außen, dennso manche Sauklaue“ können wir immer”noch lesen, obwohl einzelne Buchstabenvielleicht gar nicht wirklich auszumachensind.Unsere moderne Technologie hingegen istnoch nicht automatisch fehlertolerant –mir ist noch kein Computer bekannt,in dem jemand vergessen hat, den Festplattencontrollereinzubauen, weshalb dieGrafikkarte automatisch dessen Job übernimmt,Leiterbahnen ausbaut und Kommunikationentwickelt, so dass der fehlendeBaustein das Gesamtsystem nur wenigbeeinträchtigt, aber auf keinen Fall völliglahmlegt.Nachteil dieser verteilten, fehlertolerantenSpeicherung ist natürlich, dass wir einem<strong>Neuronale</strong>n Netz nicht ohne weiteres ansehenkönnen, was es weiß, kann oder wo seineFehler liegen – Analysen dieser Art sindbei herkömmlichen Algorithmen in der Regelwesentlich leichter. Auch bekommenwir das Wissen in unser <strong>Neuronale</strong>s Netzmeistens nur durch einen Lernvorgang, beidem verschiedene Fehler passieren könnenund der nicht immer einfach zu handhabenist.Fehlertoleranz von Daten ist bei der aktuellenTechnologie schon wesentlich ausgereifter:Vergleichen wir eine Schallplattemit einer CD. Ist auf der Schallplatteein Kratzer, so ist die Toninformation ander Stelle des Kratzers für einen winzigenMoment komplett verloren (man hört einKnacken), danach geht die Musik weiter.Bei einer CD sind die Audiodaten verteiltgespeichert: Ein Kratzer sorgt für einenunschärferen Ton in seiner näheren Umgebung,der Datenstrom an sich bleibt aberweitestgehend unbeeinträchtigt – mit derFolge, dass der Hörer ihn nicht bemerkt.Wir halten also die herausragenden Merkmalefest, die wir aus der Biologie zu adaptierenversuchen:⊲ Selbstorganisation bzw. Lernfähigkeit,⊲ Generalisierungsfähigkeit und⊲ Fehlertoleranz.Welche Arten von <strong>Neuronale</strong>n <strong>Netze</strong>n welcheFähigkeiten besonders stark ausbilden,welche für was für Problemklassen nutzbarsind, werden wir im Verlauf dieser Arbeitnoch herausfinden.Direkt im Einleitungskapitel dieser Arbeitsei gesagt: Das <strong>Neuronale</strong> Netz“ gibt es”so nicht. Es gibt viele verschiedene Paradigmen,was <strong>Neuronale</strong> <strong>Netze</strong> sind, wie sietrainiert und wo sie eingesetzt werden –und mein Ziel ist es, einige dieser Paradigmenanschaulich vorzustellen und mit Bemerkungenfür die praktische Anwendungzu versehen.Oben haben wir bereits erwähnt, dass dieArbeit z.B. unseres Gehirns im Gegensatzzur Arbeit eines Computers massiv parallelstattfindet, also jeder Baustein zu jederWichtig!D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 5


Kapitel 1 Einleitung, Motivation und Geschichtedkriesel.comZeit aktiv ist. Möchte man nun ein Argumentfür den Nutzen massiver Parallelverarbeitunganführen, so wird oft die 100-Schritt-Regel genannt.1.1.1 Die 100-Schritt-RegelParalleleVerarbeitungDurch Experimente hat man festgestellt,dass ein Mensch ein Bild eines bekanntenGegenstandes bzw. einer bekannten Personin ≈ 0.1 Sekunden erkennen kann, alsobei einer Neuronenschaltzeit von ≈ 10 −3Sekunden in ≈ 100 diskreten Zeitschrittenparalleler Verarbeitung.Ein der Von-Neumann-Architektur folgenderRechner hingegen kann in 100 Zeitschrittensequentieller Verarbeitung, alsobeispielsweise 100 Assemblerschritten oderTaktschritten, so gut wie nichts tun.Nun wollen wir ein einfaches Anwendungsbeispielbetrachten, bei dem ein <strong>Neuronale</strong>sNetz zum Einsatz kommen könnte.1.1.2 Einfache AnwendungsbeispieleAngenommen, wir besitzen einen kleinenRoboter wie in Abb. 1.1. Dieser Roboterbesitzt acht Abstandssensoren, aus denener Eingabedaten gewinnt: Drei Sensorenvorne rechts, weitere drei vorne links,und zwei hinten. Jeder dieser Sensoren liefertuns zu jeder Zeit einen reellen Zahlenwert,wir erhalten also immer einen InputI ∈ R 8 .In unserem einfachen Beispiel kann der Robotertrotz seiner zwei Motoren (die brauchenwir später) noch nicht viel: Er sollAbbildung 1.1: Ein kleiner Roboter mit achtSensoren und zwei Motoren. Der Pfeil zeigt dieFahrtrichtung an.einfach immer fahren, aber anhalten, wenner Gefahr läuft an ein Hindernis zu stoßen.Unser Output ist also binär: H = 0für ”Alles okay, fahr weiter“ und H = 1für ”Halte an“ (Wir nennen den OutputH für ”Haltesignal“). Wir benötigen alsoeine Abbildungf : R 8 → B 1 ,welche die Inputsignale einer Robotertätigkeitzuführt.1.1.2.1 Der klassische WegEs gibt nun zwei Wege, diese Abbildungzu realisieren. Zum einen gibt es den klassischenWeg: Wir setzen uns eine Weile hin6 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com1.1 Warum <strong>Neuronale</strong> <strong>Netze</strong>?und denken nach, so dass wir am Ende eineSchaltung oder ein kleines Computerprogrammerhalten, dass die Abbildung realisiert(bei der Einfachheit des Beispieles istdas natürlich ohne weiteres möglich). Anschließendnehmen wir die technischen Referenzender Sensoren zur Hand, studierendie Kennlinie der Sensoren, um zu wissen,was für Werte bei welchen Hindernisentfernungenausgegeben werden, und bindendie Werte in unser oben gebautes Regelwerkein. Solche Verfahren finden in derklassischen Künstlichen Intelligenz Anwendung,und falls man die Regeln für eineAbbildung exakt kennt, ist man auch gutberaten, diesem Schema zu folgen.1.1.2.2 Der Weg des LernensFür uns hier interessanter und für vieleAbbildungen und Probleme, welche nichtauf Anhieb erfassbar sind, auch erfolgreicherist aber der Weg des Lernens: Wirzeigen dem Roboter verschiedene Situationen(Abb. 1.2 auf der folgenden Seite), indenen er sich beispielsweise befinden kann– und er soll selbst lernen, was in seinemRoboterleben zu tun ist.In diesem Beispiel soll er einfach lernen,wann anzuhalten ist. Wir stellen uns hierzuerst einmal das <strong>Neuronale</strong> Netz als eineArt Black Box (Abb. 1.3) vor, kennenalso nicht seinen Aufbau, sondern betrachtenes rein in seinem Verhalten nach außen.Die Situationen in Form von einfach gemessenenSensorwerten (wir stellen denAbbildung 1.3: Wir betrachten die Robotersteuerungzunächst als Black Box, deren Innenlebenuns unbekannt ist. Die Black Box nimmteinfach acht reelle Sensorwerte entgegen und bildetdiese auf einen binären Ausgabewert ab.Roboter z.B. einfach vor ein Hindernis, sieheAbbildung), die wir dem Roboter zeigenund für die wir ihm vorgeben, ob weiterzufahrenoder zu halten ist, nennen wirTrainingsbeispiele – ein Trainingsbeispielbesteht also aus einem beispielhaften Inputund einem dazugehörigen gewünschtenOutput. Die Frage ist nun, wie wir diesesWissen, die Information, in das <strong>Neuronale</strong>Netz transportieren.Die Beispiele lassen sich durch ein einfachesLernverfahren einem <strong>Neuronale</strong>nNetz beibringen (ein Lernverfahren ist eineinfacher Algorithmus bzw. eine mathematischeFormel). Hier wird das <strong>Neuronale</strong>Netz, wenn wir alles richtig gemacht undgute Beispiele gewählt haben, aus den Beispielengeneralisieren und so eine allgemeingültigeVorschrift finden, wann anzuhaltenist.Unser Beispiel ist beliebig erweiterbar –die Motoren unseres Roboters könntenauch zwecks Richtungssteuerung separatD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 7


Kapitel 1 Einleitung, Motivation und Geschichtedkriesel.comAbbildung 1.2: Der Roboter wird in eine Landschaft platziert, die ihm Sensorwerte für verschiedeneSituationen liefert. Die gewünschten Ausgabewerte H geben wir selbst hinzu, und erhalten so unsereLernbeispiele. Bei zwei Robotern sind exemplarisch die Richtungen aufgetragen, in die die Sensorenweisen.steuerbar sein 2 , bei ansonsten gleichemSensorlayout. In diesem Fall suchen wir eineAbbildungf : R 8 → R 2 ,welche die beiden Motoren anhand derSensorinputs stufenlos steuert und so denRoboter z.B. nicht nur anhalten, sondernauch Hindernissen ausweichen lassen kann– hier ist es schon schwieriger, aus demKopf Regeln abzuleiten, und de facto ein<strong>Neuronale</strong>s Netz angebrachter.2 Es gibt einen Roboter namens Khepera, der in etwadiese Eigenschaften besitzt. Er ist rund, hatca. 7cm Durchmesser, besitzt zwei Motoren mitRädern und verschiedene Sensoren. Zur Veranschaulichungkann ich nur empfehlen, einmal imInternet danach zu recherchieren.Ziel ist es also nicht etwa, die Beispiele auswendigzu lernen – sondern das Prinzipdahinter zu realisieren: Der Roboter solldas <strong>Neuronale</strong> Netz im Idealfall in beliebigenSituationen anwenden und Hindernissenausweichen können. Insbesondere sollder Roboter das Netz während des Fahrenskontinuierlich bzw. oft direkt hintereinanderbefragen können, um kontinuierlichHindernissen auszuweichen. Dies ergibteinen ständigen Kreislauf: Der Roboterbefragt das Netz. Er fährt dadurch ineine Richtung, wodurch sich seine Sensorwerteverändern. Er befragt wieder dasNetz und verändert abermals seine Position,die Sensorwerte verändern sich erneut,und so weiter. Das sich dieses System8 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com1.2 Geschichte <strong>Neuronale</strong>r <strong>Netze</strong>auch auf dynamische, das heißt sich selbstverändernde Umwelten (z.B. bewegte Hindernissein unserem Beispiel) adaptierenlässt, ist ersichtlich.1.2 Zur Geschichte<strong>Neuronale</strong>r <strong>Netze</strong>Wie jedes Naturwissenschaftliche Gebiethat auch die Lehre der <strong>Neuronale</strong>n <strong>Netze</strong>eine Entwicklungsgeschichte hintersich, welche, wie wir gleich sehen werden,Höhen und Tiefen aufweist. Dem Stil meinerArbeit treu bleibend stelle ich dieseGeschichte nicht als Text, sondern kompakterals Zeitleiste dar. Zitat- und Literaturangabenwerde ich hier im wesentlichenbei Punkten niederschreiben, welcheim weiteren Skriptum nicht mehr bearbeitetwerden. Zu Stichworten, die wir späternoch genauer ergründen, werden die Zitatangabenin den entsprechenden Kapitelngeliefert.Die Geschichte nimmt ihren Anfang inden frühen 1940er Jahren und damit fastzeitgleich mit der Geschichte der programmierbarenelektronischen Computer. Wieauch bei der Informatik an sich erkenntman die Jugend des Gebiets daran, dassviele der erwähnten Personen auch heutenoch unter uns weilen.1.2.1 AnfängeBereits 1943 beschreiben Warren Mc-Culloch und Walter Pitts eineArt neurologischer Netzwerke, bauenSchwellwertschalter durch Neuronenach und zeigen, dass selbsteinfache <strong>Netze</strong> dieser Art praktischjede logische oder auch arithmetischeFunktion berechnen können[MP43]. Weiter entstehen erste Computervorläufer( Elektronengehirne“),u.a. unterstützt von Konrad”Zuse, der es leid war, ballistische Bahnenper Hand zu berechnen.1947 nennen Walter Pitts und WarrenMcCulloch ein praktisches Anwendungsgebiet(in ihrer Arbeit von1943 wurde noch kein solches genannt),nämlich die Erkennung räumlicherMuster durch <strong>Neuronale</strong> <strong>Netze</strong>[PM47].1949: Donald O. Hebb formuliertdie klassische Hebb’scheLernregel [Heb49], welche in ihrer allgemeinerenForm die Basis fast allerneuronalen Lernverfahren darstellt.Sie besagt, dass die Verbindungzwischen zwei Neuronen verstärktwird, wenn beide Neurone gleichzeitigaktiv sind – die Verstärkung istalso proportional zum Produktbeider Aktivitäten. Hebb konntediese Regel zwar postulieren, jedochin Ermangelung neurologischerForschung nicht verifizieren.1950 vertritt Neuropsychologe KarlLashley die These, dass die Informationsspeicherungim Gehirn verteiltrealisiert wird. Begründet wird seineThese an Versuchen mit Ratten, beidenen nur der Umfang und nicht<strong>Neuronale</strong>Technikenwerden entwickeltD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 9


Kapitel 1 Einleitung, Motivation und Geschichtedkriesel.comAbbildung 1.4: Einige Urgesteine des Fachbereichs der <strong>Neuronale</strong>n <strong>Netze</strong>. Von links nach rechts:John von Neumann, Donald O. Hebb, Marvin Minsky, Bernard Widrow, Seymour Papert, TeuvoKohonen, John Hopfield, alle weitestgehend ”in order of appearance“.der Ort zerstörten Nervengewebesihre Leistung beeinflusst, aus einemLabyrinth zu finden.1.2.2 Blütezeit1951 entwickelt Marvin Minsky für seineDissertation den NeurocomputerSnark, der seine Gewichte 3 bereitsautomatisch justieren kann, aber niepraktisch eingesetzt wird – da er zwarfleißig rechnet, jedoch niemand so genauweiss, was.1956 treffen sich auf dem DartmouthSummer Research Project renommierteWissenschaftler und aufstrebendeStudierende und diskutieren,salopp gesagt, wie man ein Gehirnnachbilden kann – Unterschiedezwischen Top-Down- und Bottom-Up-Forschung bilden sich heraus.Während die frühen Anhänger derArtificial Intelligence Fähigkeitendurch Software nachbilden möchten,3 Wir werden bald erfahren, was Gewichte sind.haben die Anhänger der <strong>Neuronale</strong>n<strong>Netze</strong> im Sinn, Systemverhaltendurch Nachbildung kleinster Systemteile,der Neurone, zu erreichen.1957 - 1958 entwickeln Frank Rosenblatt,Charles Wightman undihre Mitarbeiter am MIT den erstenerfolgreichen Neurocomputer, dasMark I Perceptron, welches miteinem 20 × 20 Pixel großen Bildsensoreinfache Ziffern erkennen kannund 512 motorbetriebene Potentiometerbesitzt - pro variablem Gewichteins.1959 beschreibt Frank Rosenblattverschiedene Varianten des Perceptrons,formuliert und beweist seinPerceptron-Konvergenz-Theorem. Erbeschreibt an der Retina orientierteNeuronenschichten, Schwellwertschalterund eine Lernregel, welche die Verbindungsgewichtejustiert.1960 stellen Bernard Widrow undMarcian E. Hoff das ADALINE(ADAptive LInear NEuron) vor[WH60], ein schnell und genau lernen-Entwicklungbeschleunigtsich10 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com1.2 Geschichte <strong>Neuronale</strong>r <strong>Netze</strong>ErsteverbreiteteVerwendungüber die Fortschritte und Arbeitendes adaptives System, das wohl dasLearning Machines einen Überblick zwar überall ein wenig weiter geforscht, eserste verbreitet kommerziell eingesetzte<strong>Neuronale</strong> Netz darstellte: Es war dieser Periode der Erforschung<strong>Neuronale</strong>r <strong>Netze</strong>. Allgemein nimmtpraktisch in jedem Analogtelefon zur man an, die grundlegenden PrinzipienEchtzeit-Echofilterung zu finden undselbstlernender und damitlernte mit der Widrow-Hoff-Lernregel landläufig gesprochen intelligenter“”bzw. Deltaregel. Hoff, ein MitbegründerSysteme bereits entdeckt zu haben,von Intel, war zu diesem was aus heutiger Sicht eine maßloseZeitpunkt Doktorand von Widrow, Überschätzung darstellt, aber damalsder seinerseits einer der Erfinder für hohe Popularität und genügendder modernen Mikroprozessoren war. Forschungsmittel sorgte.Einer der Fortschritte der Delta-Regel gegenüber dem ursprünglichen 1969 veröffentlichen Marvin MinskyPerceptron-Lernalgorithmus war ihreAdaptivität: War man weit von mathematische Analyse des Percep-und Seymour Papert eine genaueder richtigen Lösung entfernt, so trons [MP69] um zu zeigen, dass dasveränderten sich auch die Verbindungsgewichtein größeren Schritten, bleme gar nicht repräsentieren kannPerceptronmodell viele wichtige Pro-die in der Nähe des Ziels kleiner (Stichwörter: XOR-Problem und lineareSeparierbarkeit), und setzen sowerden – Nachteil: bei falscher Anwendungerhält man unendlich kleineSchrittweiten zum Ziel in der und den Forschungsmitteln ein jähesder Überschätzung, der PopularitätNähe desselben. Während der späterenFlaute und aus Angst vor der dass auch mächtigere Modelle die ex-Ende. Die weitergehende Folgerung,wissenschaftlichen Unbeliebtheit der akt gleichen Probleme aufweisen, verbundenmit der Prognose, dass das<strong>Neuronale</strong>n <strong>Netze</strong> wurde das ADA-LINE zwischenzeitlich in Adaptive ganze Gebiet ein research dead-endLinear Element umbenannt – was sei, bewirken einen fast komplettenspäter wieder rückgängig gemacht Rückgang der Forschungsgelder fürwurde.die nächsten 15 Jahre, so unzutreffenddiese Prognosen aus heutiger1961 stellt Karl Steinbuch Techniken Sicht auch waren.assoziativer Speicherung vor, die alsVorgänger heutiger neuronaler Assoziativspeichergesehen werden [Ste61]. 1.2.3 Lange Stille und langsamerEr beschreibt weiterhin Konzepte für Wiederaufbauneuronale Techniken und analysiertihre Möglichkeiten und Grenzen.Wie oben bereits gesagt – Forschungsgelder1965 gibt Nils Nilsson in seinem Buchwurden extrem knapp. So wurdeForschungsmittelwerdengestrichenD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 11


Kapitel 1 Einleitung, Motivation und Geschichtedkriesel.comBackpropentwickeltgab aber keine Kongresse und sonstigenVeranstaltungen und demzufolge auch wenigVeröffentlichungen. Diese Isolation dereinzelnen Forschenden sorgte für die vielenParadigmen <strong>Neuronale</strong>r <strong>Netze</strong>, welchevoneinander isoliert entstanden sind: Manforschte, redete aber nicht miteinander.Trotz der geringen Anerkennung des Gebietswurden in dieser Zeit die theoretischenGrundlagen für die noch andauerndeRenaissance gelegt:1972 stellt Teuvo Kohonen ein Modelldes linearen Assoziators, eines Assoziativspeichermodellsvor [Koh72],es wird im gleichen Jahr davon unabhängigvon James A. Andersonaus neurophysiologischer Sicht präsentiert[And72].1973 verwendet Christoph von derMalsburg ein Neuronenmodell, wasnichtlinear und biologisch besser motiviertist [vdM73].1974 entwickelt Paul Werbos für seineDissertation in Harvard das Backpropagationof Error-Lernverfahren[Wer74], das aber erst ein Jahrzehntspäter seine heutige Bedeutung erlangt.1976 – 1980 und danach werden vonStephen Grossberg viele Arbeiten(z.B. [Gro76]) vorgestellt, in denen eineVielzahl von neuronalen Modellenmathematisch genau analysiert wird.Er widmet sich weiterhin ausführlichdem Problem, ein <strong>Neuronale</strong>s Netzlernfähig zu halten, ohne bereitserlernte Assoziationen wieder zuzerstören – hieraus entstanden unterMitarbeit von Gail Carpenter dieModelle der Adaptive ResonanceTheory, kurz ART.1982 beschreibt Teuvo Kohonen dienach ihm benannten selbstorganisierendenKarten (self organizingfeature maps, SOM) [Koh82, Koh98]auf der Suche nach den Mechanismender Selbstorganisation des Gehirns (erwusste, dass die Informationen überden Aufbau von Wesen im Genomgespeichert sind, das aber ganz wesentlichzu wenig Speicherplatz für eineStruktur wie das Gehirn besitzt– folglich muss sich das Gehirn zumGroßteil selbst organisieren und aufbauen).Weiterhin beschreibt John Hopfielddie nach ihm benannten Hopfieldnetze[Hop82], welche durch dieGesetze des Magnetismus in der statistischenPhysik inspiriert sind. Sieerfuhren wenig technische Anwendungen,aber das Gebiet der <strong>Neuronale</strong>n<strong>Netze</strong> kam langsam wieder ins Rollen.1983 wird von Fukushima, Miyake undIto das neuronale Modell Neocognitronzur Erkennung handgeschriebenerZeichen vorgestellt [FMI83], welcheseine Erweiterung des schon 1975entwickelten Cognitrons darstellt.1.2.4 RenaissanceDurch den Einfluss u.a. John Hopfields,der viele Forscher persönlich von der Wich-12 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com1.2 Geschichte <strong>Neuronale</strong>r <strong>Netze</strong>Wiederauflebentigkeit des Gebiets überzeugte, und dieweite Publikation von Backpropagationdurch Rumelhart, Hinton und Williamsmachte sich im Gebiet der <strong>Neuronale</strong>n<strong>Netze</strong> langsam wieder Aufschwungsstimmungbreit.1985 veröffentlicht John Hopfieldeinen Artikel, der Wege beschreibt,akzeptable Lösungen für dasTravelling Salesman Problem durchHopfieldnetze zu finden.1986 wird das Lernverfahren Backpropagationof Error als Verallgemeinerungder Delta-Regel durch die ParallelDistributed Processing-Gruppe se-Aufgabe 2:parat entwickelt und weit publiziert[RHW86a]: Nicht linear separierbareProbleme wurden durch mehrschichtigePerceptrons lösbar, Marvin MinskysNegativabschätzungen waren mitAufgabe 3:einem Schlag widerlegt. Weiterhinmachte sich zeitgleich in der ArtificialIntelligence eine gewisse Ermüdungbreit, verursacht durch eine Reihe vonFehlschlägen und untertroffenen Hoffnungen.⊲ Ein Buch über <strong>Neuronale</strong> <strong>Netze</strong> oderNeuroinformatik,⊲ eine Arbeitsgruppe an einer Universität,die mit <strong>Neuronale</strong>n <strong>Netze</strong>n arbeitet,⊲ ein Software-Tool, welches <strong>Neuronale</strong><strong>Netze</strong> realisiert ( ”Simulator“),⊲ eine Firma, die <strong>Neuronale</strong> <strong>Netze</strong> einsetzt,und⊲ ein Produkt oder eine Dienstleistung,die mit <strong>Neuronale</strong>n <strong>Netze</strong>n realisiertwurde.Nennen Sie mindestens vierAnwendungen von technischen <strong>Neuronale</strong>n<strong>Netze</strong>n, jeweils zwei aus den BereichenMustererkennung und Funktionsapproximation.Charakterisieren Sie kurz dievier Phasen der Entwicklung <strong>Neuronale</strong>r<strong>Netze</strong> und geben Sie aussagekräftige Beispielefür jede Phase an.Ab dieser Zeit findet eine geradezu explosiveEntwicklung des Forschungsgebietesstatt, die zwar nicht mehr stichpunktfähigist, aber von der wir einigeResultate noch wiedersehen werden.ÜbungsaufgabenAufgabe 1: Suchen Sie für jeden der folgendenPunkte mindestens ein Beispiel:D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 13


Kapitel 2Biologische <strong>Neuronale</strong> <strong>Netze</strong>Wie lösen biologische Systeme Probleme? Wie funktioniert ein System vonNeuronen? Wie kann man dessen Funktionalität erfassen? Wozu sindverschieden große Mengen von Neuronen imstande? Wo im Nervensystemfindet Informationsverarbeitung statt? Ein kleiner biologischer Überblick überdie große Komplexität einfacher Bausteine <strong>Neuronale</strong>rInformationsverarbeitung. Zusätzlich die Überleitung zu deren Vereinfachung,um sie technisch adaptieren zu können.Bevor wir anfangen, <strong>Neuronale</strong> <strong>Netze</strong> auftechnischer Seite zu beschreiben, ist einkleiner Exkurs in die Biologie der <strong>Neuronale</strong>n<strong>Netze</strong> und der Kognition von Lebewesensinnvoll – der Leser kann das folgendeKapitel gerne überspringen, ohne etwasTechnisches zu verpassen. Ich möchtees aber jedem empfehlen, der ein wenigüber die zugrundeliegende Neurophysiologiewissen und sehen möchte, was für eineKarikatur der Natur unsere kleinenAnsätze, die Technischen <strong>Neuronale</strong>n <strong>Netze</strong>sind – und wie mächtig die natürlichenPendants sein müssen, wenn wir mit unserenkleinen Ansätzen schon so weit kommen.Wir wollen nun kurz das Nervensystemvon Wirbeltieren betrachten: Wir werdenmit sehr grober Granularität beginnenund uns bis ins Gehirn und dann auf dieEbene der Neurone vorarbeiten. Über dasganze Kapitel hinweg haben mir die beidenBücher [CR00, KSJ00] sehr geholfen,die ich als weiterführende Literatur angebenmöchte.2.1 Das Nervensystem vonWirbeltierenDas komplette informationsverarbeitendeSystem, das Nervensystem eines Wirbeltiers,besteht, um erst einmal eine einfacheUnterteilung vorzunehmen, aus dem Zentralnervensystemund dem periphären Nervensystem.In der Realität ist eine ganzso starre Unterteilung nicht sinnvoll, aberhier hilft sie uns bei der Skizzierung derInformationsverarbeitung im Körper.15


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.com2.1.1 Periphäres und zentralesNervensystemDas periphäre Nervensystem (PNS)besteht aus den Nerven, die außerhalbdes Gehirns bzw. Rückenmarks gelegensind. Diese Nerven bilden ein verzweigtesund sehr dichtes Netz durch den ganzenKörper. Zum periphären Nervensystemgehören beispielsweise die Spinalnerven,welche vom Rückenmark ausgehen(in Höhe eines jeden Wirbels zwei) undExtremitäten, Hals und Rumpf versorgen,aber auch die direkt zum Gehirn führendenHirnnerven.Das zentrale Nervensystem (ZNS)hingegen stellt quasi den ”Zentralcomputer“im Wirbeltier dar. Hier werden Informationengespeichert und verwaltet, diedurch Sinnesorgane von außen aufgenommenwerden. Weiter steuert und reguliertes die inneren Vorgänge, und koordiniertnicht zuletzt sämtliche motorischen Leistungendes Organismus. Das zentrale Nervensystemder Wirbeltiere setzt sich zusammenaus dem eigentlichen Gehirnund dem Rückenmark (Abb. 2.1). Wirwollen aber besonderes Augenmerk auf dasGehirn legen. Das Gehirn unterteilt manvereinfachend in vier Bereiche (Abb. 2.2auf der rechten Seite), die hier kurz genanntwerden sollen.2.1.2 Das Großhirn ist für abstrakteDenkaufgaben zuständigDas Großhirn (Telencephalon) ist derBereich des Gehirns, der sich im LaufeAbbildung 2.1: Skizze des zentralen Nervensystemsmit Rückenmark und Gehirn.16 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.1 Das Nervensystem von Wirbeltierendie in verschiedene Rindenfelder einzuteilenist, von denen jedes eine eigeneAufgabe hat. Primäre Rindenfeldersind hier für die Verarbeitung qualitativerInformation zuständig, wie beispielsweisedas Verwalten von verschiedenen Wahrnehmungen(z.B. die Verwaltung des Sehsinnesist Aufgabe des visuellen Cortexes).Assoziationsfelder hingegen absolvierenhöhere, abstraktere AssoziationsundDenkvorgänge; in Ihnen ist auch unserGedächtnis untergebracht.2.1.3 Das Kleinhirn steuert undkoordiniert die MotorikAbbildung 2.2: Skizze des Gehirns. EingefärbteBereiche des Gehirns werden im Text behandelt.Je weiter wir von der abstrakten Informationsverarbeitungin Richtung der direkten reflexhaftengehen, desto dunkler sind die Gehirnbereiche eingefärbt.der Evolution mit am meisten veränderthat. Er ist entlang einer Achse, welche denKopf von Gesichtsseite bis Hinterkopf zentraldurchläuft, in zwei Hemisphären geteilt,welche eine in sich gefaltete Strukturaufweisen. Diese Teile sind über einengroßen Nervenstrang ( Balken“)und mehrerekleine miteinander verbunden. Eine”Vielzahl von Neuronen liegt in der ca. 2-4 cm dicken Großhirnrinde (Cortex),Das Kleinhirn (Cerebellum) ist unterhalbdes Großhirns gelegen, also näheram Rückenmark. Entsprechend dient esweniger abstrakten Funktionen mit höhererPriorität: Hier werden große Teile dermotorischen Koordination absolviert, alsoGleichgewicht und Bewegungen gesteuertund laufend fehlerkorrigiert. Zu diesemZweck besitzt das Kleinhirn direktesensorische Informationen über die Muskellängensowie akustische und visuelle Informationen.Weiter erhält es auch Meldungenüber abstraktere motorische Signale,die vom Großhirn ausgehen.Beim Menschen ist das Kleinhirn deutlichkleiner als das Großhirn, dies ist abereher eine Ausnahme: Bei vielen Wirbeltierenist dieses Verhältnis nicht so starkausgeprägt. Betrachtet man die Evolutionder Wirbeltiere, so ist nicht das Kleinhirn” zu klein“ sondern das Großhirn zu groß“”geraten (immerhin ist es die am höchstenentwickelte Struktur des Wirbeltiergehirns).Die beiden restlichen Gehirnteileseien ebenfalls noch kurz betrachtet: DasZwischenhirn und der Hirnstamm.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 17


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comThalamusfilterteingehendeDaten2.1.4 Das Zwischenhirn steuertgrundlegende KörpervorgängeDas Zwischenhirn (Diencephalon) umfasstwieder einige Teile, von denen nur derThalamus einer kurzen Betrachtung unterzogenwerden soll: Dieser Teil des Zwischenhirnsist das Medium zwischen sensorischenund motorischen Signalen undGroßhirn: Insbesondere wird im Thalamusentschieden, welcher Teil der Informationan das Großhirn weitergeleitetwird, so dass gerade weniger wichtige Sinneswahrnehmungenkurzfristig ausgeblendetwerden können, um Überlastungenzu vermeiden. Als weiterer Teil des Zwischenhirnssteuert der Hypothalamus eineVielzahl körperinterner Vorgänge. DasZwischenhirn ist auch maßgeblich beteiligtam Schlaf-Wach-Rhythmus des Menschen( innere Uhr“) und der Schmerzempfindung.”2.1.5 Der Hirnstamm verbindetHirn und Rückenmark undsteuert ReflexeVerglichen mit dem Zwischenhirn istder Hirnstamm bzw. das Stammhirn(Truncus cerebri) stammesgeschichtlichdeutlich älter: Es markiert, grob gesprochen,das verlängerte Rückenmark“ und”damit die Überleitung vom Gehirn zumRückenmark. Auch der Hirnstamm kannwieder in verschiedene Teile unterteilt werden,von denen einige exemplarisch vorgestelltwerden sollen. Die Funktionen gehenweiter vom Abstrakten in Richtung desGrundlegenden. Ein wichtiger Bestandteilist die Pons (=Brücke), eine Art Durchgangsstationfür sehr viele Nervensignalevom Gehirn an den Körper und umgekehrt.Wird die Pons geschädigt (beispielsweisedurch einen Hirninfarkt), so kann es zumLocked-In-Syndrom kommen – demEingeschlossensein in den eigenen Körper,ein Zustand, in dem es für einen Menschenbei voller geistiger Leistungsfähigkeitvöllig unmöglich ist, sich auf irgendeineWeise der Außenwelt zu vermitteln.Man kann nicht sprechen, sich nichtbewegen, während Seh-, Hör-, GeruchsundGeschmackssinn in aller Regel völlignormal funktionieren. Als letzte Kommunikationsmöglichkeitverbleibt Locked-In-Patienten meist nur die Augenbewegungoder Zwinkern.Weiter ist der Hirnstamm für viele grundlegendeReflexe zuständig, wie z. B. denreflexartigen Augenlidschluss oder Husten.Alle Teile des Nervensystems haben eineSache gemeinsam: Es werden Informationenverarbeitet. Dies geschieht durch riesigeAnsammlungen von Milliarden sehrähnlicher Zellen, die an sich sehr einfachgebaut sind, aber fortlaufend miteinanderkommunizieren. Große Gruppen dieser Zellensenden dann koordiniert Signale underreichen so die gewaltige Informationsverarbeitungskapazität,die wir von unseremGehirn kennen. Wir wechseln nun vonder Ebene der Gehirnteile auf die zelluläreEbene im Körper – auf die Ebene der Neuronen.18 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.2 Das Neuron2.2 Neuronen sindinformationsverarbeitendeZellenBevor wir auf die Funktionen undVorgänge innerhalb eines Neurons genauereingehen, sei hier zunächst eine Skizzeder Neuronenfunktion geliefert: Ein Neuronist nichts weiter als ein Schalter miteinem Informationseingang und -ausgang.Der Schalter wird aktiviert, wenn genugReize anderer Neurone am Informationseingangauftreffen. Am Informationsausgangwird dann ein Impuls an z.B. andereNeurone gesendet.2.2.1 Bestandteile eines NeuronsWir wollen nun die Einzelbestandteile einesNeurons (Abb. 2.3 auf der folgendenSeite) betrachten. Wir gehen dabeiden Weg, den die elektrische Informationim Neuron nimmt. Den Dendriten einesNeurons zugeleitet wird die Informationüber spezielle Übergangsstellen, die Synapsen.2.2.1.1 Synapsen gewichten dieeinzelnen InformationsanteileVon anderen Neuronen oder sonstigen Zelleneingehende Signale werden einem Neuronüber spezielle Übergangsstellen, dieSynapsen zugeleitet. Solch eine Übergangsstelleliegt meistens an den Dendriteneiners Neurons, manchmal auch direktam Soma. Man unterscheidet elektrischeund chemische Synapsen.Die einfachere von beiden Varianten ist dieelektrische Synapse. Ein elektrisches Signal,welches auf der Synapse eingeht, alsovon der präsynaptischen Seite kommt,wird direkt in den postsynaptischen Zellkernfortgeleitet. Es liegt also eine direkte,starke, nicht regulierbare Verbindungvon Signalgeber zu Signalempfänger vor,zum Beispiel sinnvoll für Fluchtreflexe, diein einem Lebewesen hart codiert“ sein”müssen.Die ausgeprägtere Variante ist die chemischeSynapse. Hier findet keine direkteelektrische Kopplung von Quelle und Zielstatt, sondern diese Kopplung ist unterbrochendurch den synaptischen Spalt.Dieser Spalt trennt die prä- und postsynaptischeSeite elektrisch voneinander. Dennochmuss ja Information fließen, werdenSie jetzt denken, also wollen wir darauf eingehen,wie das passiert: Nämlich nicht elektrisch,sondern chemisch. Auf der präsynaptischenSeite des synaptischen Spaltswird das elektrische Signal in ein chemischeskonvertiert, indem dort chemischeSignalstoffe freigesetzt werden (sog. Neurotransmitter).Diese Neurotransmitterüberwinden den synaptischen Spalt undübertragen die Information in den Zellkern(das ist sehr vereinfacht ausgedrückt, wirwerden später noch sehen, wie das genaufunktioniert), wo sie wieder in elektrischeInformation umgewandelt wird. Die Neurotransmitterwerden sehr schnell wiederabgebaut, so dass auch hier sehr genaueInformations-Impulse möglich sind.ElektrischeSynapseeinfachD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 19


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comAbbildung 2.3: Skizze eines biologischen Neurons mit Beschriftung von im Text verwendetenBestandteilen.ChemischeSynapsekomplexerabermächtigerTrotz der viel komplizierteren Funktionsweisehat die chemische Synapse im Vergleichzur elekrischen Variante eklatanteVorteile:Einwegschaltung: Die chemische Synapseist eine Einwegschaltung. Dadurch,dass der prä- und postsynaptischeTeil nicht direkt elektrisch verbundensind, können elektrische Impulse impostsynaptischen Teil nicht auf denpräsynaptischen überschlagen.Regulierbarkeit: Es gibt eine Vielzahlverschiedener Neurotransmitter, dienoch dazu in verschiedenen Mengenin einem synaptischen Spalt freigesetztwerden können. So gibt esNeurotransmitter, die anregend aufden postsynaptischen Zellkern wirken,aber auch andere, die eine solche Anregungwieder abflauen lassen. MancheSynapsen geben ein stark anregendesSignal weiter, manche nurschwach anregende Signale. Die Regulierungsvielfaltist enorm, und dassdie Synapsen hier auch noch variabelsind, also mit der Zeit eine stärkereoder schwächere Verbindung darstellenkönnen, ist einer der zentralenPunkte bei Betrachtung derLernfähigkeit des Gehirns.2.2.1.2 Dendriten sammeln alleInformationsanteileDendriten verästeln sich baumartig vomZellkern des Neurons (den man Somanennt) und dienen der Aufnahme von elektrischenSignalen aus vielen verschiedenenQuellen, die dann in den Zellkern übertragenwerden. Die sich verästelnde Men-20 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.2 Das Neuronge von Dendriten wird auch Dendritenbaumgenannt.2.2.2 Elektrochemische Vorgängeim Neuron und seinenBestandteilen2.2.1.3 Im Soma werden diegewichteten InformationsanteileaufkumuliertNachdem über Synapsen und Dendriten eineFülle an aktivierenden (=anregenden)und inhibierenden (=abschwächenden) Signalenbeim Zellkern (Soma) eingetroffenist, kumuliert das Soma diese Signale auf.Sobald das aufkumulierte Signal einen gewissenWert (Schwellwert genannt) überschreitet,löst der Neuronenzellkern seinerseitseinen elektrischen Impuls aus, derdann zur Weiterleitung an die nachfolgendenNeuronen bestimmt ist, zu denen dasaktuelle Neuron verbunden ist.2.2.1.4 Das Axon leitet ausgehendeImpulse weiterDie Weiterleitung des Impulses zu anderenNeuronen erfolgt durch das Axon. DasAxon ist ein fadenartiger Fortsatz des Somas.Ein Axon kann im Extremfall ca.einen Meter lang werden (z.B. im Rückenmark).Das Axon ist elektrisch isoliert,um das elektrische Signal besser leiten zukönnen (später mehr dazu) und mündet inDendriten, um die Information an z.B. andereNeurone weiterzugeben. Wir sind alsowieder am Anfang unserer Beschreibungder Neuronenbestandteile angelangt.Bemerkung: Natürlich kann ein Axonaber auch Informationen an andere Zellenartenzu deren Steuerung übertragen.Nachdem wir nun den Weg eines elektrischenSignals von den Dendriten überdie Synapsen in den Zellkern, und vondort über das Axon in weitere Dendritenverfolgt haben, wollen wir einen kleinenSchritt von der Biologie in RichtungTechnik gehen. Auf diesem Weg soll vereinfachtvorgestellt werden, wie die Informationsverarbeitungelektrochemisch vonstattengeht.2.2.2.1 Neuronen erhalten einelektrisches MembranpotentialaufrechtEin grundlegender Aspekt ist, dass dieNeurone gegenüber ihrer Umwelt eine elektrischeLadungsdifferenz, ein Potential aufweisen.Innerhalb der Membran (=Hülle)des Neurons herrscht also eine andere Ladungvor als außen. Diese Ladungsdifferenzist ein zentraler Begriff, den manbraucht, um die Vorgänge im Neuron zuverstehen, wir nennen sie Membranpotential.Das Membranpotential, also derLadungsunterschied, entsteht durch mehrereArten geladener Atome (Ione), dieinnerhalb und außerhalb des Neurons unterschiedlichhoch konzentriert sind. Wennwir von innen nach außen durch die Membranstoßen, werden wir bestimmte ArtenIone häufiger oder weniger häufig vorfindenals innen, wir nennen diesen Abfalloder Anstieg der Konzentration einenKonzentrationsgradienten.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 21


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comBetrachten wir das Membranpotentialzunächst für den Ruhezustand des Neurons,nehmen wir also an, es treffen geradekeine elektrischen Signale von außenein. In diesem Fall beträgt das Membranpotential−70 mV. Da wir gelernt haben,dass dieses Potential von Konzentrationsgradientenverschiedener Ionen abhängt,ist natürlich eine zentrale Frage, wie dieseKonzentrationsgradienten aufrecht erhaltenwerden: Normalerweise herrscht jaüberall Diffusion vor, also sind alle Ionenbestrebt, Konzentrationsgefälle abzubauenund sich überall gleichmäßig zu verteilen.Würde das passieren, würde das Membranpotentialgegen 0 mV gehen, schlussendlichwürde also kein Membranpotentialmehr vorhanden sein. Das Neuronerhält sein Membranpotential also aktivaufrecht, um Informationsverarbeitung betreibenzu können. Wie geht das vonstatten?Das Geheimnis liegt in der Membranselbst, die für manche Ione durchlässig ist,für andere aber nicht. Um das Potentialaufrecht zu erhalten, wirken hier mehrereMechanismen gleichzeitig:Konzentrationsgradient: Wie schon beschrieben,versuchen die Ionen, immermöglichst gleichverteilt vertreten zusein. Ist innerhalb des Neurons dieKonzentration eines Ions höher als außen,versucht es nach außen zu diffundierenund umgekehrt. Das positiv geladeneIon K + (Kalium) ist im Neuronhäufig, außerhalb des Neuronsweniger anzutreffen, und diffundiertdarum langsam durch die Membranaus dem Neuron hinaus. Eine weitereSammlung negativer Ionen, zusammenfassendA − genannt, bleibt aberim Neuron, da die Membran hierfürnicht durchlässig ist. Das Neuroneninnerewird also negativ: Negative A-Ionen bleiben, positive K-Ionen verschwinden,das Innere der Zelle wirdnegativer. Dies führt uns zu einemweiteren Gradienten.Elektrischer Gradient: Der elektrischeGradient wirkt dem Konzentrationsgradientenentgegen. DasZellinnere ist mittlerweile sehrnegativ geworden, also zieht espositive Ionen an: K + möchte nunwieder in die Zelle hinein.Würde man diese beiden Gradienten nuneinfach sich selbst überlassen, so würdensie sich irgendwann ausgleichen, einen stabilenZustand erreichen und ein Membranpotentialvon −85 mV würde entstehen.Wir wollen aber auf ein Ruhemembranpotentialvon −70 mV hinaus, es muss alsoStörkomponenten geben, die dies verhindern.Zum einen gibt es noch ein weitereswichtiges Ion, Na + (Natrium), fürdas die Membran zwar nicht besondersdurchlässig ist, das aber trotzdem langsamdurch die Zelle in die Membran einströmt.Das Natrium fühlt sich hierbei doppeltnach innen getrieben: Zum einen gibt esweniger Natrium im inneren des Neuronsals außen, zum anderen ist Natrium positiv,das Zellinnere aber negativ, ein zweiterGrund, in die Zelle zu wollen.Durch die geringe Natriumdiffusion insZellinnere nimmt die Natriumkonzentrationim Zellinneren zu, gleichzeitig wird das22 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.2 Das NeuronZellinnere aber weniger negativ, so dassder Einstrom von K + langsamer wird (wirsehen: Das ist ein komplizierter Mechanismus,in dem alles sich gegenseitig beeinflusst).Durch Natrium wird das Zellinneretendentiell weniger negativ gegenüberder Umwelt. Auch mit diesen beiden Ionenkönnte aber immer noch ein Stillstand erreichtwerden, in dem sich alle Gradientenausgleichen und nichts mehr passiert. Nunkommt aber das fehlende Mosaiksteinchen,auf das wir warten: Eine ”Pumpe“ (eigentlichdas Protein ATP) bewegt aktiv Ionenentgegen der Richtung, zu der sie eigentlichmöchten!Natrium wird aktiv aus der Zelle rausgepumpt,obwohl es entlang desKonzentrations- und des elektrischenGradienten in die Zelle möchte.Kalium hingegen diffundiert stark aus derZelle heraus, wird aber wieder aktivhineingepumpt.Aus diesem Grund nennen wir die Pumpeauch Natrium-Kalium-Pumpe. DiePumpe erhält sowohl für Natrium alsauch für Kalium den Konzentrationsgradientenaufrecht, so dass eine Art Fließgleichgewichtentsteht und das Ruhepotentialschlussendlich bei den beobachteten−70 mV landet. Zusammenfassend wirddas Membranpotential also aufrecht erhalten,indem die Membran für manche Ionengar nicht durchlässig ist und andereIonen aktiv entgegen der Konzentrationsundelektrischen Gradienten gepumpt werden.Nachdem wir nun wissen, dass jedemNeuron ein Membranpotential zueigen ist,wollen wir genau betrachten, wie ein NeuronSignale empfängt und versendet.2.2.2.2 Veränderungen imMembranpotential aktivierendas NeuronOben haben wir gelernt, dass Natrium undKalium durch die Membran hindurchdiffundierenkönnen, Natrium langsam, Kaliumschneller. Dies geschieht durch inder Membran enthaltene Kanäle, Natriumbzw.Kaliumkanäle. Neben diesen immergeöffneten Kanälen, die für die Diffusionverantwortlich sind und durch dieNatrium-Kalium-Pumpe ausgeglichen werden,gibt es auch Kanäle, die nicht immergeöffnet sind, sondern nur ”nach Bedarf“geöffnet werden. Da sich durch eine Öffnungdieser Kanäle die Konzentration vonIonen innerhalb und außerhalb der Membranverändern, ändert sich logischerweiseauch das Membranpotential.Diese steuerbaren Kanäle werden geöffnet,wenn der aufkumulierte eingehende Reizeinen gewissen Schwellwert überschreitet.Eingehende Reize können beispielsweisevon anderen Neuronen kommen oder abervon anderen Ursachen herrühren: So gibtes zum Beispiel spezialisierte Formen vonNeuronen, Sinneszellen, für die z.B. Lichteinfalleinen solchen Reiz darstellen kann.Fällt dann genug Licht ein, um denSchwellwert zu überschreiten, werden steuerbareKanäle geöffnet.Der besagte Schwellwert (das Schwellenwertpotential)liegt bei ca. −55 mV. Sobalddieses von den eingehenden ReizenD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 23


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comAbbildung 2.4: Auslösung eines Aktionspotentials über die Zeit.24 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.2 Das Neuronerreicht wird, wird das Neuron aktiviertund ein elektrisches Signal, ein Aktionspotentialwird ausgelöst. Dieses Signalwird dann weitergeleitet an diejenigen Zellen,die mit dem betrachteten Neuron verbundensind, also ihm ”zuhören“. Die Phasendes Aktionspotentials wollen wir etwasgenauer betrachten (Abb. 2.4 auf der linkenSeite):Ruhezustand: Nur die immer geöffnetenKalium- und Natriumkanäle liegen offen,das Membranpotential liegt bei−70 mV und wird vom Neuron aktivdort gehalten.Stimulus bis Schwellwert: Ein Reiz (Stimulus)eröffnet Kanäle, so dass Natriumeinströmen kann. Die Ladungdes Zellinneren wird positiver. Sobalddas Membranpotential über denSchwellenwert von −55 mV geht, wirddas Aktionspotential ausgelöst, indemsehr viele Natriumkanäle geöffnetwerden.Depolarisation: Natrium strömt ein. Wirerinnern uns, dass Natrium einströmenmöchte sowohl, weil davondeutlich weniger in der Zelle vorhandenist als außen, als auch, weil in derZelle ein negatives Milieu vorherrscht,durch das das positive Natrium angezogenwird. Durch den starken Einstromsteigt das Membranpotentialdrastisch an, bis auf ca. +30 mV. Diesist dann der elektrische Impuls, dasAktionspotential.Repolarisation: Natriumkanäle werdennun geschlossen, dafür werden dieKaliumkanäle geöffnet. Das positivgeladene Kalium will nun aus demebenfalls positiven Zellinneren heraus.Zusätzlich ist es im Zellinnerenwesentlich höher konzentriert alsaußen, was den Ausstrom nochbeschleunigt. Das Zellinnere wirdwieder negativer geladen als dieAußenwelt.Nachpotential: Sowohl Natrium- als auchKaliumkanäle werden wieder geschlossen.Zunächst ist das Membranpotentialnun leicht negativer als das Ruhepotential,was daher kommt, dass dieKaliumkanäle sich etwas träger schließen,was Kalium (positiv geladen) aufgrundseiner geringeren Konzentrationaußerhalb der Zelle ausströmenlässt. Nach einer Refraktärzeit von1 − 2 ms ist dann der Ruhezustandwiederhergestellt, so dass das Neuronauf neue Reize wieder mit einem Aktionspotentialreagieren kann. Die Refraktärzeitist, einfach ausgedrückt, eineZwangspause, welche ein Neuroneinhalten muss, um sich zu regenerieren.Je kürzer sie ist, desto öfter kannein Neuron pro Zeit feuern.Der so entstandene Impuls wird danndurch das Axon fortgeleitet.2.2.2.3 Im Axon wird ein Impuls aufsaltatorische WeiseweitergeleitetWir haben schon gelernt, dass das Axonzur Fortleitung des Aktionspotentials überlange Distanzen dient (zur Erinnerung:Eine Illustration eines Neurons inklusiveD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 25


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comAxon findet sich in Abb. 2.3 auf Seite 20).Das Axon ist ein fadenartiger Fortsatz desSomas. Bei Wirbeltieren ist es in der Regelvon einer Myelinscheide umgeben,welche aus Schwannschen Zellen (imPNS) oder Oligodendrozyten (im ZNS)besteht 1 , die das Axon elektrisch sehr gutisolieren. Zwischen diesen Zellen befindensich im Abstand von 0.1 − 2 Lücken, diesogenannten Ranvierschen Schnürringe,die jeweils dort auftreten, wo eineIsolationszelle zuende ist und die nächsteanfängt. An einem solchen Schnürringist das Axon logischerweise schlechter isoliert.Man mag nun annehmen, dass dieseschlecht isolierten Schnürringe von Nachteilfür das Axon sind: Dem ist abernicht so. An den Schnürringen ist ein Stoffaustauschzwischen intrazellulärem undextrazellulärem Raum möglich, der anTeilen des Axons, welche zwischen zweiSchnürringen liegen (Internodien) undso durch die Myelinscheide isoliert sind,nicht funktioniert. Dieser Stoffaustauschermöglicht die Erzeugung von Signalen,ganz ähnlich der Erzeugung des Aktionspotentialsim Soma. Die Weiterleitung einesAktionspotentials funktioniert nun folgendermaßen:Es läuft nicht kontinuierlichentlang des Axons, sondern springtvon einem Schnürring zum nächsten. Esläuft also eine Reihe von Depolarisationenentlang der Ranvierschnürringe. Ein Akti-1 Sowohl Schwannsche Zellen als auch Oligodendrozytensind Ausprägungen der Gliazellen, von denenes ca. 50 mal mehr gibt als Neuronen, unddie die Neuronen umgeben (Glia = Leim), voneinanderisolieren, mit Energie versorgen, etc.onspotential löst dominoartig das nächsteaus, meist sind hierbei sogar mehrereSchnürringe gleichzeitig aktiv. Durchdas ”Springen“ des Impulses von einemSchnürring zum nächsten kommt diese Impulsleitungauch zu ihrem Namen: SaltatorischeImpulsleitung.Es ist offensichtlich, dass der Impulsschneller voran kommt, wenn seineSprünge größer sind. So wird bei Axonenmit großen Internodien (2 mm) eineSignalausbreitungsgeschwindigkeit vonca. 180 Metern pro Sekunde erreicht. DieInternodien können aber nicht beliebiggroß werden, da das weiterzuleitendeAktionspotential sonst bis zum nächstenSchnürring zu sehr verblassen würde. DieSchnürringe haben also auch die Aufgabe,das Signal regelmäßig zu verstärken. AmEnde des Axons hängen dann – oft überDendriten und Synapsen verbunden –die Zellen, welche das Aktionspotenzialempfangen. Wie oben schon angedeutet,können Aktionspotentiale aber nicht nurdurch über die Dendriten eingehendeInformation von anderen Neuronenentstehen.2.3 Rezeptorzellen sindabgewandelte NeuroneAktionspotentiale können auch durch sensorischeInformationen, die ein Lebewesenaus seiner Umwelt mittels Sinneszellenaufnimmt, herrühren. Spezialisierte Rezeptorzellenkönnen für sie spezifischeReizenergien wie Licht, Temperatur und26 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.3 RezeptorzellenSchall oder das Vorhandensein bestimmterMoleküle wahrnehmen (wie es z.B. derGeruchssinn tut). Dies funktioniert, dadiese Sinneszellen eigentlich abgewandelteNeurone sind: Hier werden keine elektrischenSignale über Dendriten aufgenommen,sondern das Vorhandensein des fürdie Rezeptorzelle spezifischen Reizes sorgtdafür, dass sich Ionenkanäle öffnen und einAktionspotential ausgebildet wird. DieserVorgang des Umwandelns von Reizenergiein Veränderungen im Membranpotentialnennt sich Sensorische Transduktion.In aller Regel ist die Reizenergie selbstzu schwach, um direkt Nervensignale auszulösen,und so findet entweder währendder Transduktion oder durch den ReizleitendenApparat auch gleich eine Signalverstärkungstatt. Das resultierende Aktionspotentialkann von anderen Neuronenverarbeitet werden und gelangt dann inden Thalamus, der, wie wir schon gelernthaben, als Tor zum Cerebralen Cortex Sinneseindrückenach der momentanen Relevanzaussortieren und so einen Überflussan zu verwaltenden Informationen verhindernkann.2.3.1 Es existieren verschiedensteRezeptorzellen für viele Artenvon WahrnehmungenPrimärrezeptoren senden ihre Impulsedirekt ans Nervenssystem. Schmerzempfindungist hierfür ein gutes Beispiel. Hier istdie Reizstärke proportional zur Amplitudedes Aktionspotentials, technisch ausgedrücktfindet hier also eine Amplitudenmodulationstatt.Sekundärrezeptoren senden hingegendurchgehend Impulse. Diese Impulse steuerndann die Menge des zugehörigen Neurotransmitterszur Weitergabe des Reizes,der wiederum die Frequenz der Aktionspotentialedes empfangenden Neurons steuert.Hier handelt es sich um Frequenzmodulation,eine Kodierung des Reizes, beider man Zu- und Abnahme eines Reizesbesser wahrnehmen kann.Rezeptorzellen können einzeln vorkommenoder aber komplexe Sinnesorgane bilden(z.B. Augen oder Ohren). Es können sowohlReize im Körper empfangen werden(das machen dann Enterorezeptoren)wie auch Reize außerhalb desKörpers (hierfür sind die Exterorezeptorenzuständig).Nachdem wir nun skizziert haben, wie Informationaus der Umwelt aufgenommenwird, ist interessant zu betrachten, auf welcheWeise sie verarbeitet wird.2.3.2 Informationsverarbeitungfindet auf jeder Ebene desNervensystems stattEs ist nämlich keinesfalls so, dass alle Informationenins Gehirn geleitet werden, dortverarbeitet werden, und das Gehirn danachfür eine ”Ausgabe“ in Form von motorischenImpulsen sorgt (das einzige, wasein Lebewesen in seiner Umwelt wirklichtun kann, ist ja, sich zu bewegen). DieInformationsverarbeitung ist komplett dezentralangelegt. Um das Prinzip zu verdeutlichen,wollen wir kurz ein paar Beispielebetrachten, für die wir in unserer In-D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 27


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comformationsverarbeitungshierarchie wiedervom Abstrakten zum Grundlegenden wandern.⊲ Dass im Großhirn als höchstentwickelterInformationsverarbeitender Strukturin der Natur Informationsverarbeitungstattfindet, ist klar.⊲ In der Hierarchie deutlich tiefer liegtdas Mittelhirn und der Thalamus, denwir als Tor zur Großhirnrinde schonkennengelernt haben: Auch das vonihm betriebene Filtern von Informationennach aktueller Relevanz ist einesehr wichtige Art der Informationsverarbeitung.Doch auch der Thalamuserhält keine Reize von außen,die nicht bereits vorverarbeitet wurden.Machen wir einen Sprung zur unterstenEbene, den Sinneszellen.⊲ Bereits auf der untersten Ebene,den Rezeptorzellen, wird Informationnicht nur aufgenommen und weitergeleitet,sondern auch direkt verarbeitet.Einer der Hauptaspekte zudiesem Thema ist die Verhinderungvon ”Dauerreizen“ an das Zentralnervensystemdurch sensorische Adaption:Bei kontinuierlicher Reizungwerden sehr viele Rezeptorzellen automatischunempfindlicher. Rezeptorzellenstellen also keine direkte Abbildungvon spezifischer Reizenergie aufAktionspotentiale da, sondern sindabhängig von der Vergangenheit. WeitereSensoren ändern die Empfindlichkeitje nach Situation: Es gibtGeschmacksrezeptoren, die je nachErnährungszustand des Organismusmehr oder weniger stark auf denselbenReiz ansprechen.⊲ Selbst bevor ein Reiz zu den Rezeptorzellenvorstößt, kann durch einen vorgeschaltetensignalführenden Apparatschon Informationsverarbeitung stattfinden,beispielsweise in Form vonVerstärkung: Die Ohrmuschel und dasInnenohr haben eine spezifische schallverstärkendeForm, welche es – inVerbindung mit den Sinneszellen desHörsinns – ebenfalls ermöglich, dassder Nervenreiz nur logarithmisch mitder Intensität des gehörten Signals ansteigt.Dies ist bei näherer Betrachtungauch sehr notwendig, da derSchalldruck der Signale, für die dasOhr gemacht ist, über viele Zehnerpotenzenvariieren kann. Eine logarithmischeMessweise ist hier von Vorteil.Erstens wird Überlastung vermieden,und dass zweitens die Intensitätsmessungbei intensiven Signalendadurch weniger genau wird, machtauch nichts: Wenn neben einem geradeein Düsenjet startet, sind winzigeSchwankungen im Lärmpegel zu vernachlässigen.Um noch etwas mehr Bauchgefühl überSinnesorgane und Informationsverarbeitungim Organismus zu erhalten, sollennun kurz ”gängige“, also in der Naturhäufig anzutreffende Lichtsinnesorgane beschriebenwerden. Beim dritten beschriebenenLichtsinnesorgan, dem Einzellinsenauge,gehen wir dann auf Informationsverarbeitungein, die noch direkt im Auge stattfindet.28 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.3 Rezeptorzellen2.3.3 Eine Skizze häufigerLichtsinnesorganeKomplexauge:Hohe zeitl.,niedrigeörtlicheAuflösungFür viele Lebewesen hat es sich als extremnützlich erwiesen, elektromagnetischeStrahlung in bestimmten Bereichenwahrzunehmen. Konsequenterweise sindSinnesorgane entstanden, welche solchelektromagnetische Strahlung feststellenkönnen, und der Wellenlängenbereich dieserStrahlung, welcher für den Menschenwahrnehmbar ist, heißt dadurch sichtbarerBereich oder schlicht Licht. VerschiedeneWellenlängen dieser sichtbaren Strahlungnehmen wir Menschen durch verschiedeneFarben wahr. Der sichtbare Bereich derelektromagnetischen Strahlung ist nichtbei allen Lebewesen gleich, manche Lebewesenkönnen Farben (=Wellenlängenbereiche)nicht sehen, die wir sehen können,andere Lebewesen können sogar zusätzlicheWellenlängenbereiche (z.B. im UV-Bereich) wahrnehmen. Bevor wir zumMenschen kommen, wollen wir kurz – umetwas breiter angelegtes Wissen zum Sehsinnzu erhalten – zwei Sehsinnesorgane betrachten,die evolutionär gesehen vor demMenschen da waren.2.3.3.1 Komplexaugen undLochkameraaugen bieten nurzeitlich bzw. örtlich hoheAuflösungBetrachten wir als erstes das sogenannteKomplexauge (Abb. 2.5), auch Facettenaugegenannt, welches beispielsweisebei Insekten und Krustentieren vorkommt.Abbildung 2.5: Facettenaugen einer RaubfliegeDas Komplexauge besteht aus vielen kleinen,separaten Einzelaugen, die, wennman das Komplexauge von außen betrachtet,auch deutlich sichtbar sind und ein wabenähnlichesMuster erzeugen. Jedes Einzelaugeim Komplexauge verfügt über eineeigene Nervenfaser als Anbindung an dasInsektengehirn. Da wir die Einzelaugen sehenkönnen, ist klar, dass die Anzahl derBildpunkte, also die spatiale Auflösung beiKomplexaugen recht niedrig liegen muss:Das Bild ist unscharf. Komplexaugen bietenaber auch Vorteile, gerade für schnellfliegendeInsekten: Bestimmte Arten Komplexaugenverarbeiten mehr als 300 Bilderpro Sekunde (dem Menschen hingegen erscheinenschon Kinofilme mit 25 Bildernpro Sekunde als flüssige Bewegung).Lochkameraaugen kommen zum Beispielbei Krakenarten vor und funktionieren– man errät es – ähnlich einer Lochkamera.Es gibt ein winziges Lichteintrittsloch,welches ein scharfes Bild auf dahinter-D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 29Lochkamera:Hohe örtl.,niedrigezeitlicheAuflösung


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comliegende Sinneszellen projiziert, die räumlicheAuflösung ist hier also deutlich höherals beim Komplexauge. Aufgrund des winzigenEintrittsloches ist das Bild aber sehrlichtschwach.mehrere Schichten informationsverarbeitenderZellen vorverarbeitet. Wir wollenkurz verschiedene Punkte dieser Informationsvorverarbeitungbetrachten und gehendabei den Weg, den die vom Licht eingebrachteInformation nimmt:Einzellinsenauge:Hohezeitl. und örtl.Auflösung2.3.3.2 Einzellinsenaugen kombinierenbeide Stärken, sind aberkomplexer aufgebautDie bei Wirbeltieren verbreitete Art desLichtsinnesorgans ist das Einzellinsenauge:Es vermittelt ein scharfes, hochaufgelöstesBild der Umwelt, bei hoherbzw. variabler Lichtstärke. Dafür ist eskomplizierter aufgebaut. Wie beim Lochkameraaugefällt Licht durch eine Öffnungein (Pupille) und wird im Augeauf eine Schicht Sinneszellen projiziert(Netzhaut oder Retina). Im Unterschiedzum Lochkameraauge kann der Öffnungsgradder Pupille allerdings den Helligkeitsverhältnissenangepasst werden (dies geschiehtdurch den Iris-Muskel, der diePupille vergrößert oder verkleinert). DieseUnterschiede im Pupillenöffnungsgrad macheneine aktive Scharfstellung des Bildesnotwendig, weswegen das Einzellinsenaugenoch eine ebenfalls verstellbare Linseenthält.2.3.3.3 Die Retina ist nicht nurEmpfänger, sondern verarbeitetInformationenDie auftreffenden Lichtsignale werden inder Retina aufgenommen und direkt durchPhotorezeptoren empfangen das Lichtsignalund lösen Aktionspotentiale aus(es gibt verschiedene Rezeptoren fürverschiedene Farbanteile und Lichtintensitäten).Diese Rezeptoren sindder eigentlich lichtempfangende Teilder Retina und derart empfindlich,dass bereits das Auftreffen von einemeinzigen Photon ein Aktionspotentialauslösen kann. Mehrere Photorezeptorenleiten dann ihre Signale an eineeinzigeBipolarzelle weiter, hier findet also bereitseine Zusammenfassung der Informationstatt. Schlussendlich gelangtdas nun umgewandelte Lichtsignalwieder von jeweils mehreren Bipolarzellen2 in dieGanglienzellen. Es können verschiedenviele Bipolarzellen ihre Informationan eine Ganglienzelle weiterleiten. Jehöher die Zahl der Photorezeptoren,von denen die Ganglienzelle betroffenist, um so größer ist der Wahrnehmungsbereich,das Rezeptive Feld,welches die Ganglien abdeckt – undum so weniger Bildschärfe ist imBereich dieser Ganglienzelle gegeben.Hier werden also direkt in der Retinabereits Informationen aussortiert und2 Es gibt wieder verschiedene Arten Bipolarzellen,deren Betrachtung hier aber zu weit führen würde.30 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.4 Neuronenmengen in Lebewesendas Gesamtbild z.B. in Randsichtbereichenverunschärft. Bis jetzt habenwir die Informationsverarbeitung inder Retina aber als reine Top-Down-Struktur kennengelernt. Dies bringtuns nun zur Betrachtung derHorizontal- und Amakrinzellen. DieseZellen sind nicht von vorne nachhinten, sondern lateral verbundenund machen es möglich, dassLichtsignale sich direkt währendder Informationsverarbeitung in derRetina lateral beeinflussen – eineviel mächtigere Art der Informationsverarbeitungals komprimierenund verunschärfen. Horizontalzellenist es hierbei möglich, von einemPhotorezeptor angeregt, andere nahePhotorezeptoren ebenfalls anzuregenund gleichzeitig weiter entfernteBipolarzellen und Rezeptoren zuhemmen. Dies sorgt für die klareWahrnehmung von Konturen undhellen Punkten. Amakrinzellenkönnen weiter bestimmte Reizeverstärken, indem sie Informationenvon Bipolarzellen auf mehrereGanglienzellen verteilen oder auchGanglien hemmen.Wir sehen an diesem Anfang des Wegs visuellerInformation ins Hirn, dass Informationsverarbeitungzum einen vom erstenMoment der Informationsaufnahmestattfindet – und zum anderen parallel inMillionen von informationsverarbeitendenZellen stattfindet. Kein Systembestandteilruht jemals, und aus dieser massiven Verteilungder Arbeit zieht das Nervensystemseine Macht und Fehlerresistenz.2.4 Neuronenmengen inunterschiedlich hochentwickelten LebewesenHier nun ein Überblick, welche verschiedenenLebewesen was für eine Kapazitätan Neuronen besitzen (zum Großteil aus[RD05]):302 Neuronen benötigt das Nervensystemeines Fadenwurms, der einen beliebtenModellorganismus in der Biologiedarstellt. Fadenwürmer leben imErdboden und ernähren sich von Bakterien.10 4 Neuronen ergeben eine Ameise (derEinfachheit halber sei vernachlässigt,dass manche Ameisenarten auchmehr oder weniger leistungsfähigeNervensysteme aufweisen können).Durch verschiedene Lockstoffe undDüfte sind Ameisen zu komplexem Sozialverhaltenund zur Bildung von riesigenStaaten mit Millionen von Individuenin der Lage. Sieht man nichtdie Ameise, sondern einen solchenStaat als Individuum an, so kommtman ungefähr auf die kognitive Leistungsfähigkeiteines Schimpansen bishin zum Menschen.Mit 10 5 Neuronen können wir das Nervensystemeiner Fliege bauen. EineFliege kann im dreidimensionalenRaum in Echtzeit ausweichen, durcheinen Looping an der Decke landen,besitzt umfangreiche Sensorik durchFacettenaugen, Tasthaare, Nerven anden Beinenden und vieles mehr. EineD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 31


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.comFliege hat also ”in Hardware“ umfangreicheDifferential- und Integralrechnungenin hohen Dimensionen implementiert.Wir alle wissen, dass eineFliege schwer zu fangen ist. Natürlichwerden auch die Körperfunktionenvon Neuronen gesteuert, diese seienaber hier außen vor gelassen.Mit 0.8 · 10 6 Neuronen haben wir genugGehirnmasse für eine Honigbiene. Honigbienenbilden Staaten und besitzenerstaunliche Fähigkeiten im Bereichder Luftaufklärung und Orientierung.4 · 10 6 Neurone ergeben eine Maus, hiersind wir schon in der Welt der Wirbeltiereangelangt.1.5 · 10 7 Neurone reichen bereits für eineRatte, ein Tier, was als außerordentlichklug verschrien ist und oftals Teilnehmer für verschiedene anschaulicheIntelligenztests bezüglichder Tierwelt herangezogen wird. Rattenkönnen außerordentlich gut riechenund sich orientieren, zeigen außerdemSozialverhalten. In etwa derselbenGrößenordnung liegt das Gehirneines Frosches. Der Frosch besitzteinen komplizierten und funktionsreichenKörperbau, kann schwimmenund ist zu komplexen Verhaltensweisenfähig. Er kann besagte Fliegewährend einer Sprungbewegungim dreidimensionalen Raum durch seineAugen kontinuierlich zielerfasssenund durch seine Zunge mit vertretbarerWahrscheinlichkeit fangen.5 · 10 7 Neurone ergeben eine Fledermaus.Die Fledermaus kann sich intotaler Dunkelheit rein akustisch ineinem Raum orientieren, auf mehrereZentimeter genau. Die Fledermauskann sich selbst tarnende Insekten(z.B Motten tarnen sich durch einebestimmte Flügelstruktur, welcheSchall schlecht zurückwirft) währenddes Fluges akustisch orten undebenso während des Fluges fressen.1.6 · 10 8 Neurone benötigt das Gehirneines Hundes, der seit jeher Weggefährtedes Menschen ist. Kommenwir zu einem weiteren beliebtenGefährten des Menschen:3 · 10 8 Neurone, also ca. doppelt so vielewie ein Hund, besitzt eine Katze. Wiewir wissen, sind Katzen sehr elegante,geduldige Raubtiere, fähig zu einerVielzahl von Verhaltensweisen. Inderselben Größenordnung liegt übrigensder Octopus, von dem nur wenigewissen, dass er z. B. in Labyrinth-Orientierungstests der Ratte deutlichüberlegen ist.Für 6 · 10 9 Neurone gibt es bereits einenSchimpansen, eines der Tiere, die demMenschen schon sehr ähneln.10 11 Neurone besitzt ein Mensch. DerMensch besitzt meist sehr umfangreichekognitive Fähigkeiten und ist inder Lage zu sprechen, zu abstrahieren,zu erinnern und Werkzeuge sowie dasWissen von anderen Menschen zu nutzen,um fortgeschrittene Technologienund vielfältige soziale Strukturen zuentwickeln.32 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com2.5 Technische Neuronen als Karikatur der BiologieMit 2 · 10 11 Neuronen gibt es Nervensysteme,die mehr Neuronen besitzenals die des Menschen: Hier seien Elephantenund bestimmte Walarten genannt.Bemerkung: Bereits mit der oben (sehrdünn) beschriebenen Rechenleistung einerFliege können unsere aktuellen Computerschon nicht mehr mithalten.2.5 Übergang zu technischenNeuronen: <strong>Neuronale</strong><strong>Netze</strong> sind eine Karikaturder BiologieWie kommen wir nun von den biologischen<strong>Neuronale</strong>n <strong>Netze</strong>n zu den technischen?Durch radikalste Vereinfachung. Hierzumöchte ich nun die für die technische Seiterelevanten Erkenntnisse noch einmal kurzzusammenfassen:Wir haben gesehen, dass die biologischenNeurone miteinander auf gewichtete Weisevernetzt sind und ihr Signal bei Reizungelektrisch über das Axon übertragen.Von dort gelangen sie aber nichtdirekt in die Nachfolgeneurone, sondernüberwinden erst den synaptischen Spalt,in dem das Signal durch variierbare chemischeVorgänge noch einmal verändertwird. Im empfangenden Neuron werdendann die vielen durch den synaptischenSpalt nachverarbeiteten Inputs zu einemImpuls zusammengefasst bzw. aufkumuliert.Je nachdem, wie sehr das Neurondurch den kumulierten Input gereizt wird,gibt es dann selbst einen Impuls ab, odernicht – der Output ist also nichtlinear, erist nicht etwa proportional zum kumuliertenInput. Unsere kurze Zusammenfassungentspricht nun genau den wenigen Faktorenbiologischer <strong>Neuronale</strong>r <strong>Netze</strong>, welchewir in die technische Approximation übernehmenwollen:Vektorieller Input: Der Input von technischenNeuronen hat viele Komponenten,ist also ein Vektor. In der Naturempfängt ein Neuron ja auch Impulsevon durchschnittlich 10 3 bis 10 4 anderenNeuronen.Skalarer Output: Der Output eines Neuronsist ein Skalar, hat also nur eineKomponente. Viele skalare Outputsbilden dann wieder einen vektoriellenInput eines anderen Neurons. Diesbedeutet insbesondere, dass irgendwoim Neuron die vielen Inputkomponentenso zusammengefasst werdenmüssen, dass nur eine Komponenteübrig bleibt.Synapsen verändern Input: Auch in technischen<strong>Neuronale</strong>n <strong>Netze</strong>n werdendie Inputs vorverarbeitet, nämlichmit einer Zahl (dem Gewicht) multipliziert– also gewichtet. Die Menge allerdieser synaptischen Gewichte stellen– sowohl im biologischen als auchim technischen Sinne – den Informationsspeicherdes neuronalen <strong>Netze</strong>sdar.Aufkumulieren der Inputs: In der Biologiewerden die Inputs nach der chemischenVeränderung zu einem Impulszusammengefasst, also aufkumuliertD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 33


Kapitel 2 Biologische <strong>Neuronale</strong> <strong>Netze</strong>dkriesel.com– in der Technik geschieht dies oftdurch die gewichtete Summe, die wirnoch kennenlernen werden. Im Neuronarbeiten wir also anstatt mit einemVektor nach der Aufkumulierungmit nur einem Wert, einem Skalar,weiter.Nichtlineare Kennlinie: Auch unseretechnischen Neurone haben keinenzum Input proportionalen Output.Gewichte einstellbar: Die Gewichte, mitdenen die Inputs gewichtet werden,sind variabel, ähnlich den chemischenProzessen am synaptischen Spalt.Dies verleiht dem Netz eine große Dynamik,denn in den Gewichten bzw.der Art und Stärke der chemischenVorgänge in einem synaptischen Spaltwird das ”Wissen“ eines <strong>Neuronale</strong>n<strong>Netze</strong>s zu großen Teilen gespeichert.Unser aktuelles, nur salopp formuliertes,sehr einfaches Neuronenmodell erhält alsoeinen vektoriellen Input⃗x,mit Komponenten x i . Es kumuliert diesemultipliziert mit den zugehörigen Gewichtenw i auf:∑w i x i .iObiger Term wird auch gewichtete Summegenannt. Die nichtlineare Abbildung f bestimmtdann den skalaren Output y:y = f( ∑iw i x i).Nach dieser Überleitung wollen wir nununser Neuronenmodell genauer spezifizierenund ihm noch einige Kleinigkeiten hinzufügen.Auf welche Weise Gewichte eingestelltwerden können, werden wir anschließendebenfalls betrachten.ÜbungsaufgabenAufgabe 4: Es wird geschätzt, dass einmenschliches Gehirn etwa 10 11 Nervenzellenbesitzt, von denen jede etwa 10 3 –10 4 Synapsen aufweist. Gehen wir für dieseAufgabe von 10 3 Synapsen pro Neuronaus. Nehmen wir weiter an, eine einzelneSynapse könnte 4 Bit an Information speichern.Naiv gerechnet: Welche Speicherkapazitäthat das Gehirn also? Beachten Sie,dass die Information, welches Neuron mitwelchem anderen eine Verbindung besitzt,auch von Bedeutung ist.34 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Kapitel 3Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong>Formale Definitionen und umgangssprachliche Erklärungen der Bestandteile,die die technischen Adaptionen der biologischen <strong>Neuronale</strong>n <strong>Netze</strong> ausmachen.Erste Beschreibungen, wie man diese Bestandteile zu einem <strong>Neuronale</strong>n Netzzusammensetzen kann.Dieses Kapitel beinhaltet die formalen Definitionenfür den Großteil der Bausteine<strong>Neuronale</strong>r <strong>Netze</strong>, die wir später verwendenwerden. Nach dem Ende dieses Kapitelskann man ohne weiteres auch einzelneKapitel des Skriptums lesen, ohne die vorangehendenzu betrachten (auch wenn dasnatürlich nützlich wäre).Dies ist notwendig sowie besser zu schreibenund zu verstehen, da man die Gestaltdieser Elemente nahezu beliebig wählenkann. In der Regel sind diese Werte jedochnumerisch.3.1 Der Zeitbegriff bei<strong>Neuronale</strong>n <strong>Netze</strong>nBei manchen Definitionen verwenden wirin dieser Arbeit einen Begriff der Zeit bzw.der Durchlaufanzahl des <strong>Neuronale</strong>n <strong>Netze</strong>s.Die Zeitrechnung unterteilt sich hierbeiin diskrete Zeitschritte:Bemerkung (zu Definitionen): Bei dennachfolgenden Definitionen, insbesondere Definition 3.1 (Zeitbegriff): Die aktuelleden Funktionsdefinitionen, gebe ich statt Zeit (Jetzt-Zeit) wird dabei als (t) bezeichnet,der nächste Zeitschritt mit (t + 1),der üblichen Menge des Urbildes bzw.der Zielmenge (z.B. R oder C) die Eingabeelementebzw. das Zielelement (z.B. anderen analog. Beziehen sich verschiede-der vorherige mit (t − 1) und sämtlichenet j oder o i ) an.ne mathematische Größen (z.B. net j odero i ) in den folgenden Kapiteln auf einen bestimmtenZeitpunkt, so lautet die Schreibweisehierfür z.B. net j (t − 1) oder o i (t).Bemerkung: Biologisch ist das natürlichnicht sehr plausibel (bei unserem Gehirnwartet auch kein Neuron auf ein anderes),aber die Implementierung wird dadurchganz wesentlich vereinfacht.DiskreteZeitschritte◭(t)35


Ausgabefunktion(Erzeugt aus Aktivierung die Ausgabe,ist oft Identität)anderen NeuronenKapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.com3.2 Bestandteile <strong>Neuronale</strong>r<strong>Netze</strong>Eingaben andererNeuronenNeuro. Netz= Neurone+ gewichteteVerbindungw i,j ◮W◮Ein technisches <strong>Neuronale</strong>s Netzbesteht aus simplen Recheneinheiten,den Neuronen, sowie gerichteten,gewichteten Verbindungen zwischendiesen. Die Verbindungsstärke (bzw.das Verbindungsgewicht) zwischen zweiNeuronen i und j wollen wir als w i,jbezeichnen 1 .Definition 3.2 (<strong>Neuronale</strong>s Netz): Ein<strong>Neuronale</strong>s Netz ist ein sortiertes Tripel(N, V, w) mit zwei Mengen N, V sowieeiner Funktion w, wobei N die Menge derNeurone bezeichnet und V eine sortierteMenge {(i, j)|i, j ∈ N} ist, deren ElementeVerbindungen von Neuron i zu Neuronj heißen. Die Funktion w : V → R definiertdie Gewichte, wobei w((i, j)), dasGewicht der Verbindung von Neuron i zuNeuron j, kurz mit w i,j bezeichnet wird.Sie ist je nach Auffassung entweder undefiniertoder 0 für Verbindungen, welche indem Netz nicht existieren.Bemerkung: Die Gewichtungen lassensich also in einer quadratischen GewichtsmatrixW oder wahlweise einemGewichtsvektor W implementieren, wobeiim Falle der Matrix die Zeilennummerangibt, von wo die Verbindung ausgeht,und die Spaltennummer, welches Neuronihr Ziel ist. In diesem Fall markiert die1 Vorsicht bei Literaturstudium: Bei manchen Literaturstellenkönnen die i und j in w i,j vertauschtsein – hier gibt es keinen einheitlichen Standard.Generell bemühe ich mich aber, in diesem Skriptumdie Schreibweise zu finden, die ich häufigerund an prominenteren Literaturstellen antreffe.Propagierungsfunktion(oft gewichtete Summe, verarbeitetEingaben zur <strong>Netze</strong>ingabe)<strong>Netze</strong>ingabeAktivierungsfunktion(Erzeugt aus <strong>Netze</strong>ingabe und alterAktivierung die neue Aktivierung)AktivierungAusgabefunktion(Erzeugt aus Aktivierung die Ausgabe,ist oft Identität)Ausgabe zuanderen NeuronenAbbildung 3.1: Datenverarbeitung eines Neurons.Die Aktivierungsfunktion eines Neuronsbeinhaltet den Schwellenwert.Zahl 0 in der Tat eine nicht existierendeVerbindung. Diese Matrixdarstellung wirdauch Hinton-Darstellung genannt 2 .Die Neurone und Verbindungen sind ihrerseitsaus folgenden Bestandteilen undGrößen zusammengesetzt (ich gehe dabeiden Weg, den die Daten innerhalb einesNeurons nehmen, der Abb. 3.1 nach vonoben nach unten):2 Wieder Vorsicht bei Literaturstudium: Bei manchenLiteraturstellen können Achsen und Zeilenvertauscht sein. Auch hier gibt es keine Konsistenzüber die Gesamtliteratur.36 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com3.2 Bestandteile <strong>Neuronale</strong>r <strong>Netze</strong>VerwaltetEingaben3.2.1 Verbindungen übertragenInformationen, die von denNeuronen verarbeitet werdenÜber die Verbindungen werden Daten zwischenNeuronen übertragen, wobei dasVerbindungsgewicht entweder verstärkendoder hemmend wirkt. Die Definition vonVerbindungen ist bereits in der Definitiondes <strong>Neuronale</strong>n <strong>Netze</strong>s eingeschlossen.3.2.2 Die Propagierungsfunktionverwandelt vektorielleEingaben zur skalaren<strong>Netze</strong>ingabeWenn man ein Neuron j betrachtet, so findetman meistens eine ganze Menge Neurone,von denen eine Verbindung zu j ausgeht,die also Ausgaben an j weiterleiten.Die Propagierungsfunktion nimmt fürein Neuron j Ausgaben o i1 , . . . , o in andererNeurone i 1 , i 2 , . . . , i n entgegen (von deneneine Verbindung zu j existiert), und verarbeitetdiese unter Berücksichtigung derVerbindungsgewichte w i,j zur <strong>Netze</strong>ingabenet j , welche von der Aktivierungsfunktionweiterverwendet werden kann.Definition 3.3 (Propagierungsfunktion):Es sei I = {i 1 , i 2 , . . . , i n } die Menge derNeurone, bei denen gilt ∀z ∈ {1, . . . , n} :∃w iz,j. Die Propagierungsfunktion einesNeurons j ist dann definiert alsf prop : {o i1 , . . . , o in } × {w i1 ,j, . . . , w in,j}→ net j (3.1)Beliebt ist hier die Gewichtete Summe:Die Multiplikation der Ausgabe eines jedeni mit w i,j , und die Aufsummierung derErgebnisse:net j = ∑ i∈I(o i · w i,j ) (3.2)Die <strong>Netze</strong>ingabe ist das Ergebnis der Propagierungsfunktionund wird so im Grundeschon von der obigen Definition erfasst.Der Vollständigkeit halber aber sei definiert:Definition 3.4 (<strong>Netze</strong>ingabe): Sei j Neuronund gelten die Voraussetzungen ausder Definition der Propagierungsfunktion.Dann berechnet sich die <strong>Netze</strong>ingabe vonj, genannt net j , durch die Propagierungsfunktion:net j = f prop (o i1 , . . . , o in , w i1 ,j, . . . , w in,j)(3.3)3.2.3 Die Aktivierung ist derSchaltzustand“ eines”NeuronsNach dem Vorbild der Natur ist jedes Neuronzu jeder Zeit zu einem bestimmtenGrad aktiv, gereizt, oder was man sonst fürAusdrücke verwenden möchte. Von diesemAktivierungszustand hängen die Reaktionendes Neurons auf Eingaben ab. Der Aktivierungszustandgibt also den Grad derAktivierung eines Neurons an und wirdoft kurz als Aktivierung bezeichnet. Seineformale Definition wird von der gleichfolgenden Definition der Aktivierungsfunktioneingeschlossen. Allgemein kann manaber definieren:Wie aktivist einNeuron?D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 37


Kapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.coma j ◮StellehöchsterEmpfindungΘ◮Definition 3.5 (Aktivierungszustand / Aktivierungallgemein): Sei j Neuron. Der Aktivierungszustanda j , kurz Aktivierung genannt,ist j eindeutig zugeordnet, bezeichnetden Grad der Aktivität des Neuronsund ergibt sich aus der Aktivierungsfunktion.Unter Voraussetzung der Definition derAktivierungsfunktion ist der Aktivierungszustandvon j definiert als:a j (t) = f act (net j (t), a j (t − 1), Θ j )Die Größe Θ ist hier der nachfolgenderläuterte Schwellenwert.3.2.4 Neuronen werden aktiviert,wenn die <strong>Netze</strong>ingabe ihrenSchwellenwert überschreitetUm den Schwellenwert herum reagiert dieAktivierungsfunktion eines Neurons besondersempfindlich. Biologisch gesehen stelltder Schwellenwert die Reizschwelle dar, abder ein Neuron feuert. Der Schwellenwertwird ebenfalls weitestgehend in der Definitionder Aktivierungsfunktion mitdefiniert,allerdings kann man allgemein definieren:Definition 3.6 (Schwellenwert allgemein):Sei j Neuron. Der Schwellenwert Θ j istj eindeutig zugeordnet und markiert dieStelle der größten Steigung der Aktivierungsfunktion.3.2.5 Die Aktivierungsfunktionberechnet abhängig vonSchwellenwert und<strong>Netze</strong>ingabe, wie stark einNeuron aktiviert istWie wir schon gehört haben, hängt dieAktivierung a j eines Neurons j zu einembestimmten Zeitpunkt davon ab, wie aktiviertdas Neuron bereits war 3 und welcheEingaben es von außen erhalten hat.Definition 3.7 (Aktivierungsfunktion): Seij Neuron. Die Aktivierungsfunktion istdefiniert alsf act : net j (t) × a j (t − 1) × Θ j → a j (t)(3.4)und verarbeitet also die <strong>Netze</strong>ingabe net jund den alten Aktivierungszustand a j (t −1) zu einem neuen Aktivierungszustanda j (t), wobei der Schwellenwert Θ wie obenschon erläutert eine große Rolle spielt.Bemerkung: Im Unterschied zu anderenGrößen innerhalb des <strong>Neuronale</strong>n <strong>Netze</strong>s(insbesondere zu den bisher definierten) istdie Aktivierungsfunktion oft global für alleoder zumindest eine Menge von Neuronendefiniert, nur die Schwellenwerte unterscheidensich dann von Neuron zu Neuron.Auch sollten wir im Hinterkopf behalten,dass sich die Schwellenwerte z.B.durch einen Lernvorgang ändern sollten,so dass es insbesondere nötig werden kann,die Schwellenwerte auf die Zeit zu beziehenund z.B. Θ j als Θ j (t) zu schreiben3 Die vorherige Aktivierung muss nicht immer in dieBerechnung des neuen Aktivierungszustandes miteinbezogenwerden – wir werden für beide VariantenBeispiele kennenlernen.BerechnetAktivierung◭fact38 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com3.2 Bestandteile <strong>Neuronale</strong>r <strong>Netze</strong>(das habe ich hier der Übersichtlichkeit zuliebeerst einmal unterlassen). Die Aktivierungsfunktionwird auch oft als Transferfunktionbezeichnet.10.5Heaviside−FunktionT◮Beispiele für Aktivierungsfunktionen:Die einfachste Aktivierungsfunktion istdie binäre Schwellenwertfunktion(Abb. 3.2), welche nur zwei Werte annehmenkann (auch Heaviside-Funktiongenannt). Sie wechselt am Schwellenwertvon einem Wert auf den andern, ist aberansonsten konstant. Dies impliziert, dasssie am Schwellenwert nicht differenzierbarist und die Ableitung ansonsten 0ist. Dies macht z.B. das Lernen mitBackpropagation unmöglich (spätermehr dazu). Beliebt ist weiterhin dieauch Logistische Funktion genannteFermifunktion (Abb. 3.2)1, (3.5)1 + e−x welche einen Wertebereich von (0, 1) aufweist,sowie der Tangens Hyperbolicus(Abb. 3.2) mit einem Wertebereich von(−1, 1) – beide differenzierbar. Die Fermifunktionist einfach um einen TemperaturparameterT zu der Form11 + e −xT(3.6)erweiterbar, der, je kleiner man ihn wählt,die Funktion auf der x-Achse zusammenstaucht.So kann man sie beliebig an dieHeaviside-Funktion annähern. Es existierenübrigens auch Aktivierungsfunktionen,welche nicht eindeutig bestimmt sind, sondernnach einer Zufallsverteilung von derEingabe abhängen (stochastische Aktivierungsfunktionen).f(x)f(x)tanh(x)0−0.5−110.80.60.40.2010.80.60.40.20−0.2−0.4−0.6−0.8−1−4 −2 0 2 4xFermi−Funktion mit Temperaturparameter−4 −2 0 2 4xTangens Hyperbolicus−4 −2 0 2 4Abbildung 3.2: Verschiedene gängige Aktivierungsfunktionen,von oben nach unten:Heaviside- bzw. Binäre Schwellenwertfunktion,Fermifunktion, Tangens hyperbolicus. Die Fermifunktionwurde um einen Temperaturparametererweitert. Die ursprüngliche Fermifunktion isthierbei dunkel herausgestellt, die Temperaturparameterbei den modifizierten Fermifunktionenbetragen von außen nach innen 1 2 , 15 , 110 und125 .xD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 39


Kapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comGibt Infoszu anderenNeuronenf out ◮3.2.6 Eine Ausgabefunktion kanngenutzt werden, um dieAktivierung nochmals zuverarbeitenDie Ausgabefunktion eines Neurons j berechnetdie Werte, die an die anderen Neurone,zu welchen eine Verbindung von j besteht,weitergegeben werden. Formaler:Definition 3.8 (Ausgabefunktion):Neuron. Die AusgabefunktionSei jf out : a j → o j (3.7)berechnet dann den Ausgabewert o j desNeurons j aus seinem Aktivierungszustanda j .Bemerkung: Auch die Ausgabefunktionist i.d.R. global definiert.Beispiel: Oft ist diese Funktion die Identität,d.h. es wird direkt die Aktivierung a jausgegeben 4 :f out (a j ) = a j , also o j = a j (3.8)Solange nicht explizit anders angegeben,werden wir innerhalb dieser Arbeit dieIdentität als Ausgabefunktion verwenden.3.2.7 Lernverfahren passen ein Netzauf unsere Bedürfnisse anDa wir uns diesem Thema später noch sehrausführlich widmen werden und erst einmaldie Grundsätze des Aufbaus <strong>Neuronale</strong>r<strong>Netze</strong> kennen lernen möchten, sei hiernur kurz und allgemein definiert:4 Andere Definitionen der Ausgabe können sinnreichsein, wenn der Wertebereich einer Aktivierungsfunktionnicht ausreichend ist.Definition 3.9 (Lernregel, allgemein): EinLernverfahren ist ein Algorithmus, derdas <strong>Neuronale</strong> Netz verändert und ihm sobeibringt, für eine vorgegebene Eingabe einegewünschte Ausgabe zu produzieren.3.3 VerschiedeneNetztopologienNachdem wir nun den Aufbau der Bestandteile<strong>Neuronale</strong>r <strong>Netze</strong> kennengelernt haben,möchte ich einen Überblick über diegängigen Topologien (= Bauarten) von<strong>Neuronale</strong>n <strong>Netze</strong>n geben – also aus denBausteinen <strong>Netze</strong> bauen. Jede beschriebeneTopologie wird sowohl mit Abbildungals auch durch seine Hinton-Darstellung illustriert,damit der Leser sofort die Charakteristikasehen und bei der Betrachtunganderer <strong>Netze</strong> anwenden kann.Die gepunktet eingezeichneten Gewichtewerden in der Hinton-Darstellung als hellgraueKästchen dargestellt, die durchgezogenenals dunkelgraue. Die der Übersichtlichkeithalber hinzugefügten InputundOutputpfeile sind in der Hinton-Darstellung nicht zu finden. Um zu verdeutlichen,dass die Verbindungen von denZeilenneuronen zu den Spaltenneuronengehen, ist in der oberen linken Zelle derkleine Pfeil eingefügt.40 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com3.3 Verschiedene Netztopologien3.3.1 FeedForward-<strong>Netze</strong> bestehenaus Schichten undVerbindungen zur jeweilsnächsten SchichtNetz inSchichtenFeedForward-<strong>Netze</strong> (Abb. 3.3) sind indieser Arbeit die <strong>Netze</strong>, die wir zunächsterforschen werden (wenn auch später andereTopologien verwendet werden). DieNeurone sind in Schichten eingeteilt: EineEingabeschicht, n versteckte Verarbeitungsschichten(unsichtbar von außen,weswegen man die Neurone darinauch als versteckt bezeichnet) und eineAusgabeschicht. Die Verbindungenvon einem jeden Neuron dürfen bei einemFeedForward-Netz ausschließlich einNeuron der nächsten Schicht (in RichtungAusgabeschicht) treffen. Die fürein FeedForward-Netz zugelassenen Verbindungensind in Abb. 3.3 durchgezogendargestellt. Sehr oft begegnet manFeedForward-<strong>Netze</strong>n, in denen jedes Neuroni eine Verbindung zu allen Neuronender nachfolgenden Schicht besitzt (dieseSchichten nennt man dann untereinandervollverknüpft). Outputneurone werdenzur Vermeidung von Benennungskonfliktenoft mit Ω bezeichnet.Definition 3.10 (FeedForward-Netz): EinFeedForward-Netz (Abb. 3.3) besitzt klarabgetrennte Schichten von Neuronen: EineEingabeschicht, eine Ausgabeschicht undbeliebig viele innere, von außen nicht sichtbareVerarbeitungsschichten (auch versteckteSchichten bzw. hidden layer genannt).Verbindungen sind nur zu Neuronender jeweils nächsten Schicht erlaubt. i 1 i 2 h 1 h 2 h 3 Ω 1 Ω 2 i 1 i 2 h 1 h 2 h 3 Ω 1 Ω 2i 1i 2h 1h 2h 3Ω 1Ω 2Abbildung 3.3: Ein FeedForward-Netz mit dreiSchichten: Zwei Inputneurone, drei versteckteNeurone und zwei Outputneurone. Charakteristischin der Hinton-Darstellung für vollverknüpfteFeedForward-<strong>Netze</strong>: Die Blockbildung überder Diagonalen.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 41


Kapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.com3.3.1.1 ShortCut-Verbindungenüberspringen SchichtenShortCutsüberspringenSchichtenManche FeedForward-<strong>Netze</strong> gestatten sog.ShortCut-Connections (Abb. 3.4): Verbindungen,welche eine oder mehrere Ebenenüberspringen. Auch diese Verbindungendürfen ausschließlich in Richtung derAusgabeschicht zeigen.Definition 3.11 (FeedForward-Netzmit ShortCut-Connections): Wie beimFeedForward-Netz, doch dürfen Verbindungennicht nur die nächste, sondernauch jede andere nachfolgende Schichtzum Ziel haben.3.3.2 Rückgekoppelte <strong>Netze</strong>beeinflussen sich selbst h 1 i 1 Ω 1 h 2 i 2 Ω 2 h 3Man spricht von einer Rückkopplungoder Rekurrenz, wenn ein Neuron sichauf irgendeine Weise oder durch irgendeinenVerbindungsweg selbst beeinflussenkann. Bei rückgekoppelten oder rekurrenten<strong>Netze</strong>n sind nicht immer Input- oderOutputneurone explizit definiert, daherlasse ich die diesbezügliche Beschriftung inden Abbildungen weg und nummeriere dieNeurone nur durch.3.3.2.1 Direkte Rückkopplungenstarten und enden andemselben NeuronManche <strong>Netze</strong> lassen Verbindungen voneinem Neuron zu sich selbst zu, was alsdirekte Rückkopplung (manchmal auchSelbstrückkopplung oder Selbstrekurrenz) i 1 i 2 h 1 h 2 h 3 Ω 1 Ω 2i 1i 2h 1h 2h 3Ω 1Ω 2Abbildung 3.4: Ein FeedForward-Netzmit durchgezogen dargestellten Shortcut-Connections. Rechts der FeedForward-Blöckesind in der Hinton-Darstellung neue Verbindungenhinzugekommen.42 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com3.3 Verschiedene Netztopologien 1 2 3.3.2.2 Indirekte Rückkopplungenbeeinflussen ihr Startneuronnur über Umwege 3 4 5 6 7 1 2 3 4 5 6 71234567Abbildung 3.5: Ein FeedForward-ähnlichesNetz mit direkt rückgekoppelten Neuronen.Die direkten Rückkopplungen sind durchgezogendargestellt. Sie entsprechen in derHinton-Darstellung genau der Diagonalen derMatrix.Sind Verbindungen in Richtung der Eingabeschichtgestattet, so nennt man dieseindirekte Rückkopplungen. Ein Neuronj kann sich dann durch Umwege nach vorneselbst beeinflussen, indem es z.B. dieNeurone der nächsten Schicht beeinflusstund die Neurone dieser nächsten Schichtwieder j (Abb. 3.6 auf der folgenden Seite).Definition 3.13 (Indirekte Rückkopplung):Wieder vom FeedForward-Netz ausgehend,sind diesmal zusätzlich Verbindungen vonNeuronen zur vorherigen Schicht erlaubt,also dürfen die Werte im Bereich unter derDiagonalen von W ungleich 0 sein.3.3.2.3 Laterale Rückkopplungenverbinden Neuronen in ein- undderselben EbeneNeuronebeeinflussensich selbstbezeichnet wird (Abb. 3.5). Neurone hemmenund stärken sich so selbst, um an ihreAktivierungsgrenzen zu gelangen.Definition 3.12 (Direkte Rückkopplung):Wir erweitern wieder das FeedForward-Netz, diesmal um Verbindungen von einemNeuron j zu sich selbst, deren Gewichtedann den Namen w j,j tragen. Andersausgedrückt darf die Diagonale derGewichtsmatrix W ungleich 0 sein.Verbindungen von Neuronen innerhalb einerEbene heißen laterale Rückkopplungen(Abb. 3.7 auf der folgenden Seite).Oft hemmt hier jedes Neuron die anderenNeurone der Ebene und verstärktsich selbst, es wird dann nur das stärksteNeuron aktiv (Winner-Takes-All-Schema).Definition 3.14 (Laterale Rückkopplung):Ein lateral rückgekoppeltes Netz erlaubtVerbindungen innerhalb einer Schicht.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 43


Kapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.com 1 2 1 2 3 4 5 3 4 5 6 7 6 7 1 2 3 4 5 6 71234567 1 2 3 4 5 6 71234567Abbildung 3.6: Ein FeedForward-ähnliches Abbildung 3.7: Ein FeedForward-ähnlichesNetz mit indirekt rückgekoppelten Neuronen. Netz mit lateral rückgekoppelten Neuronen. DieDie indirekten Rückkopplungen sind durchgezogendirekten Rückkopplungen sind durchgezogendargestellt. Wie wir sehen, können hier dargestellt. Rückkopplungen existieren hier nurauch Verbindungen zu vorherigen Schichten ebenenweise. In der Hinton-Darstellung sammelnexistieren. Die zu den FeedForward-Blöckensich um die Diagonale gefüllte Quadratesymmetrischen Felder in der Hinton-Darstellungsind nun belegt.in Höhe der FeedForward-Blöcke an, die jedochdie Diagonale frei lassen.44 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com3.4 Das Biasneuron3.3.3 Vollständig verbundene <strong>Netze</strong>erlauben jede denkbareVerbindungVollständig verbundene <strong>Netze</strong> erlaubenVerbindungen zwischen allen Neuronen,außer direkten Rückkopplungen; außerdemmüssen die Verbindungen symmetrischsein (Abb. 3.8). Ein populäres Beispielsind die selbstorganisierenden Karten,welche in Kap. 10 vorgestellt werden.Definition 3.15 (Vollständiger Verbund):Hier darf prinzipiell jedes Neuron zu jedemeine Verbindung unterhalten – allerdingskann so auch jedes Neuron Eingabeneuronwerden, weshalb direkte Rückkopplungeni.d.R. hier nicht angewandt werden, und eskeine klar definierten Schichten mehr gibt.Die Matrix W darf also überall ungleich 0sein, außer auf ihrer Diagonalen.3.4 Das Biasneuron ist eintechnischer Trick,Schwellwerte alsVerbindungsgewichte zubehandelnWir wissen mittlerweile, dass Neurone invielen Netzparadigmen einen Schwellenwertbesitzen, der angibt, ab wann einNeuron aktiv ist. Der Schwellenwert ist alsoein Parameter der Aktivierungsfunktioneines Neurons. Dies ist zwar biologischam plausibelsten, es ist jedoch kompliziert,zwecks Training des Schwellenwerts zurLaufzeit auf die Aktivierungsfunktion zuzugreifen. 1 2 3 4 5 6 7 1 2 3 4 5 6 71234567Abbildung 3.8: Ein vollständig verbundenesNetz mit symmetrischen Verbindungen, ohne direkteRückkopplungen. Nur die Diagonale in derHinton-Darstellung bleibt frei.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 45


Kapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comMan kann allerdings SchwellenwerteΘ j1 , . . . , Θ jn für Neurone j 1 , j 2 , . . . , j nauch als Gewicht einer Verbindung voneinem immer feuernden Neuron realisieren:Zu diesem Zweck integriert manein zusätzliches, immer 1 ausgebendesBiasneuron in das Netz, verbindet esmit den Neuronen j 1 , j 2 , . . . , j n und gibtdiesen neuen Verbindungen die Gewichte−Θ j1 , . . . , −Θ jn , also die negativenSchwellenwerte.Definition 3.16: Ein Biasneuron ist einNeuron, welches immer 1 ausgibt und als BIASdargestellt wird. Es wird verwendet, umSchwellwerte als Gewichte zu repräsentieren,so dass beliebige Lernverfahren siedirekt mitsamt den Gewichten trainierenkönnen.Den Schwellenwert der Neuronej 1 , j 2 , . . . , j n setzt man dann auf 0. Nunsind die Schwellenwerte als Verbindungsgewichteimplementiert (Abb. 3.9 aufder rechten Seite) und können beimTraining von Verbindungsgewichtendirekt mittrainiert werden, was uns dasLernen erheblich vereinfacht.Einsetzen eines immer 1 ausgebendenBiasneurons, Erstellen von Verbindungenvon diesem zu den Neuronen j 1 , j 2 , . . . , j nund Gewichtung dieser Verbindungenw BIAS,j1 , . . . , w BIAS,jn mit −Θ j1 , . . . , −Θ jnkann man Θ j1 = . . . = Θ jn = 0 setzenund erhält ein äquivalentes <strong>Neuronale</strong>sNetz, bei dem sämtliche Schwellenwertedurch Verbindungsgewichte realisiertsind.Bemerkung: Der Vorteil des Biasneuronsist ohne Zweifel die vielfach einfachere Implementierungdes <strong>Netze</strong>s. Als Nachteil seigenannt, dass die Darstellung des <strong>Netze</strong>sschon bei nur wenigen Neuronen recht unansehnlichwird, von einer großen Neuronenanzahlganz zu schweigen. Übrigenswird ein Biasneuron auch oft On-Neurongenannt.Wir wollen mit dem Biasneuron so verfahren,dass es ab hier der Übersichtlichkeithalber nicht mehr mit abgebildet wird, wiraber wissen, dass es so etwas gibt und dassman die Schwellenwerte damit einfach alsGewichte behandeln kann.3.5 Darstellung von NeuronenBiasneuronersetztSchwellenw.durchGewichteAnders ausgedrückt: Wir verschieben dieEinrechnung des Schwellenwerts von derAktivierungsfunktion in die Propagierungsfunktion.Noch kürzer: Der Schwellenwertwird jetzt einfach von der <strong>Netze</strong>ingabesubtrahiert, ist also Teil der <strong>Netze</strong>ingabe.Formaler:Seien j 1 , j 2 , . . . , j n Neurone mitSchwellenwerten Θ j1 , . . . , Θ jn . DurchWir haben oben bereits gesehen, dass manin Neuronen ihren Namen oder aber ihrenSchwellenwert schreiben kann. Eine weiteresinnvolle Darstellungsmethode, welchewir auch in der weiteren Arbeit mehrfachanwenden werden, ist, Neurone nach ihrerDatenverarbeitungsart darzustellen. EinigeBeispiele ohne weitere Erläuterungenseien in Abb. 3.10 auf der rechten Seite46 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com3.6 Aktivierungsreihenfolgen Θ 1 BIAS −Θ 1 0 Θ 2 Θ 3−Θ 2−Θ 3 00Abbildung 3.9: Zwei äquivalente <strong>Neuronale</strong> <strong>Netze</strong>, links eins ohne, rechts eins mit Biasneuron. DieNeuronenschwellenwerte stehen in den Neuronen, Verbindungsgewichte an den Verbindungen. DerÜbersichtlichkeit zuliebe habe ich Gewichte der schon vorhandenen (rechts gepunktet dargestellten)Verbindungen nicht extra aufgeschrieben. ||c,x||Gauß ΣTanh ΣFermi Σ Σf act ΣL|H BIASAbbildung 3.10: Verschiedene Neuronenarten,denen wir im Text noch begegnen werden.3.6 Es ist nicht egal, inwelcher ReihenfolgeNeuronenaktivierungenberechnet werdenFür ein <strong>Neuronale</strong>s Netz ist es von großerBedeutung, in welcher Reihenfolge dieeinzelnen Neurone ihre Eingaben empfangen,verarbeiten, und Ergebnisse ausgeben.Hierbei werden zwei Modellklassen unterschieden:3.6.1 Synchrone Aktivierunggegeben – erläutert werden die Neuronenarten,sobald sie gebraucht werden.Alle Neurone ändern ihre Werte synchron,berechnen also simultan <strong>Netze</strong>ingaben,Aktivierung und Ausgabe undgeben diese weiter. Synchrone Aktivierungkommt dem biologischen Vorbild amD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 47


Kapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comBiologischplausibelBesser implementierbarnächsten, macht aber nur auf bestimmtenParallelrechnern Sinn und speziell keinenSinn für FeedForward-<strong>Netze</strong>. Dennochkann die parallele Aktivierung emuliertwerden, indem man einfach alte Neuronenaktivitätenzwischenspeichert und fürdie Berechnung derjenigen des nächstenZeitschrittes verwendet. So liegen sämtlichenBerechneten Werten des Zeitschrittes(t+1) nur diejenigen des Zeitschrittes t zugrunde.Diese Variante ist die allgemeinste.Definition 3.17 (Synchrone Aktivierung):Alle Neurone eines <strong>Netze</strong>s berechnengleichzeitig <strong>Netze</strong>ingaben mittels Propagierungsfunktion,Aktivierung mittels Aktivierungsfunktionund Ausgabe mittelsAusgabefunktion. Hiernach ist der Aktivierungszyklusabgeschlossen.3.6.2 Asynchrone AktivierungHier ändern die Neurone ihre Werte nichtsimultan, sondern zu verschiedenen Zeitpunkten.Hierfür gibt es verschiedene Ordnungen,von denen ich ausgewählte vorstelle:3.6.2.1 Zufällige Ordnungche Neurone pro Zyklus mehrfach aktualisiert,andere hingegen gar nicht.Bemerkung: Offensichtlich ist diese Aktivierungsordnungnicht immer sinnreich.3.6.2.2 Zufällige PermutationBei der Zufälligen Permutation wirdpro Zyklus jedes Neuron genau einmalberücksichtigt, das Ganze allerdings inzufälliger Reihenfolge.Definition 3.19 (Zufällige Permutation):Zunächst wird eine Permutation der Neuronezufällig berechnet, welche die Aktivierungsreihenfolgefestlegt. In dieser Reihenfolgewerden die Neurone dann sukzessiveabgearbeitet.Bemerkung: Auch diese Aktivierungsreihenfolgewird nicht oft eingesetzt, weil erstensdie Reihenfolge im Allgemeinen nichtsinnvoll ist und es zweitens sehr zeit- bzw.rechenaufwändig ist, bei jedem Zyklus eineneue Permutation zu berechnen. Wir werdenin Form der Hopfield-<strong>Netze</strong> (Kap. 8)zwar eine Topologie kennenlernen, welchenominell eine zufällige oder zufällig permutierteAktivierungsreihenfolge besitzt –die praktische Umsetzung sieht dort allerdingsso aus, dass man aus o.g. Gründeneine feste Reihenfolge verwendet.Definition 3.18 (Zufällige Aktivierungsordnung):Bei der zufälligen Aktivierungsordnungwird jeweils ein Neuron izufällig gewählt und dessen net i , a i undo i aktualisiert. Bei n vielen Neuronen istein Zyklus die n-malige Durchführung diesesSchrittes. Offensichtlich werden man-Bei allen Ordnungen können wahlweiseentweder die alten Aktivierungen der Neuronedes Zeitpunkts t als Ausgangspunktgenommen werden, oder aber, wo vorhanden,bereits die Aktivierungen des Zeitpunktst + 1, für den wir eigentlich geradedie Aktivierungen errechnen.48 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com3.7 Ein- und Ausgabe von DatenOft sinnvoll3.6.2.3 Topologische OrdnungDefinition 3.20 (Topologische Aktivierung):Bei der Topologischen Aktivierungsordnungwerden die Neurone proZyklus in fester Ordnung aktualisiert, welchedurch die Netztopologie definiert ist.In FeedForward-<strong>Netze</strong>n (für die das Verfahrenäußerst günstig ist) würden so erstdie Eingabeneurone aktualisiert, danachdie inneren Neurone, als letztes die Ausgabeneurone.Bemerkung: Dieses Verfahren kommt nurfür zyklenfreie, also rückkopplungsfreie<strong>Netze</strong> in Frage, da man sonst keine Aktivierungsreihenfolgefinden kann.3.6.2.4 Feste Aktivierungsordnungen inder ImplementierungOffensichtlich kann man sich auch festeAktivierungsordnungen definieren. Esist daher eine beliebte Methode bei derImplementierung von z.B. FeedForward-<strong>Netze</strong>n, die Aktivierungsreihenfolge einmalnach der Topologie zu ermitteln undzur Laufzeit diese ermittelte Reihenfolgeohne weitere Prüfung weiter zu verwenden.Dies ist jedoch bei <strong>Netze</strong>n, die ihre Topologieverändern können, nicht unbedingtsinnvoll.3.7 Kommunikation mit derAußenwelt: Ein- undAusgabe von Daten inund von <strong>Neuronale</strong>n<strong>Netze</strong>nZuletzt sei noch betrachtet, dass in viele(nicht alle) Arten von <strong>Neuronale</strong>n <strong>Netze</strong>nnatürlich auch Daten eingegeben werdenkönnen. Diese werden dann verarbeitetund können eine Ausgabe hervorrufen.Betrachten wir beispielsweise dasFeedForward-Netz aus Abb. 3.3 auf Seite41: Es hat zwei Eingabe- und zwei Ausgabeneurone,also auch zwei numerische Eingabenx 1 , x 2 und Ausgaben y 1 , y 2 . DieseSchreibweise wird natürlich für <strong>Netze</strong> mitvielen Ein- und Ausgabeneuronen mühselig– insofern machen wir es uns einfachund fassen die Ein- und Ausgabekomponentenfür n Ein- bzw. Ausgabeneuronein den Vektoren x = (x 1 , x 2 , . . . , x n ) undy = (y 1 , y 2 , . . . , y n ) zusammen.Definition 3.21 (Eingabevektor): EinNetz mit n vielen Eingabeneuronenbenötigt n Eingaben x 1 , x 2 , . . . , x n . Wirfassen diese als Eingabevektor x =(x 1 , x 2 , . . . , x n ) auf. Die Eingabedimensionbezeichnen wir also mit n. Datenwerden in ein <strong>Neuronale</strong>s Netz eingegeben,indem die Komponenten des Eingabevektorseinfach bei den Eingabeneuronen als<strong>Netze</strong>ingabe verwendet werden.Definition 3.22 (Ausgabevektor): EinNetz mit m vielen Ausgabeneuronenliefert m Ausgaben y 1 , y 2 , . . . , y m . Wirfassen diese als Ausgabevektor y =(y 1 , y 2 , . . . , y m ) auf. Die Ausgabedimen-◭x◭n◭yD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 49


Kapitel 3 Bausteine künstlicher <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comm◮sion bezeichnen wir also mit m. Datenwerden von einem <strong>Neuronale</strong>n Netz ausgegeben,indem die Komponenten des Ausgabevektorsvon den Ausgabewerten derAusgabeneurone übernommen werden.Wir haben nun die Grundbausteine der<strong>Neuronale</strong>n <strong>Netze</strong> definiert und näher betrachtet– ohne jedoch ein Netz einmal inAktion zu sehen. Wir wollen mit dieserrein erklärenden Ansicht zunächst etwasweiter fortfahren und ganz allgemein beschreiben,wie ein <strong>Neuronale</strong>s Netz lernenkönnte.ÜbungsaufgabenAufgabe 5: Ist es (Ihrer Meinung nach)sinnvoll, bei schichtenbasierten <strong>Netze</strong>n wiez.B. FeedForward-<strong>Netze</strong>n ein Biasneuronpro Schicht einzufügen? Erörtern Sie diesin Bezug auf die Darstellung und die Implementierungdes <strong>Netze</strong>s. Ändert sich etwasam Ergebnis des <strong>Netze</strong>s?Aufgabe 6: Zeigen Sie sowohl für die Fermifunktionf(x), als auch für den TangensHyperbolicus tanh(x), dass sich die Ableitungender Funktionen durch die Funktionselbst ausdrücken lassen, dass also die beidenBehauptungen1. f ′ (x) = f(x) · (1 − f(x)) und2. tanh ′ (x) = 1 − tanh 2 (x)gelten.50 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Kapitel 4Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong>Ansätze und Gedanken, auf welche Arten Maschinen etwas beizubringen ist.Korrigiert man <strong>Neuronale</strong> <strong>Netze</strong>? Bestärkt man sie nur? Lässt man sie garganz alleine ohne Hilfe lernen? Gedanken darüber, was wir während desLernvorganges überhaupt verändern möchten, wie wir es verändern, überFehlermessung und wann wir mit dem Lernen fertig sind.Wie schon beschrieben, besteht das interessantesteMerkmal <strong>Neuronale</strong>r <strong>Netze</strong>in ihrer Fähigkeit, sich Problemen durchTraining vertraut zu machen und, nachausreichendem Training, auch bis dato unbekannteProbleme derselben Klasse lösenzu können, was man als Generalisierungbezeichnet. Bevor wir konkrete Lernverfahrenkennenlernen, möchte ich in diesemKapitel zunächst grundsätzliche Gedankenzum Lernprozess anregen.4.1 Es gibt verschiedeneParadigmen zu lernenLernen ist ein weiter Begriff. Ein <strong>Neuronale</strong>sNetz könnte durch so vieles lernen,Woranlernt man? jedoch wird natürlich immer die Fragenach der Implementierbarkeit gestellt.Grundsätzlich verändert sich ein <strong>Neuronale</strong>sNetz mit der Veränderung seiner Bestandteile,die wir eben kennengelernt haben.Theoretisch könnte ein <strong>Neuronale</strong>sNetz also lernen, indem es1. neue Verbindungen entwickelt,2. vorhandene Verbindungen löscht,3. Verbindungsgewichte verändert,4. Schwellenwerte von Neuronen ändert,5. eine oder mehrere der drei Neuronenfunktionen(wir erinnern uns:Aktivierungs-, Propagierungs- undAusgabefunktion) abwandelt,6. neue Neurone entwickelt7. oder aber vorhandene Neurone löscht(und damit natürlich Verbindungen).Wie ebenfalls oben angedeutet, behandelnwir die Gewichtsveränderung zunächst alsdie gängigste. Weiterhin kann das Löschenvon Verbindungen hierdurch realisiert werden,dass man zusätzlich noch dafür Sorge51


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comLernendurchGewichtsänderungträgt, dass eine zum Löschen auf 0 gesetzteVerbindung nicht weiter trainiert wird.Man kann weiterhin Verbindungen entwickelndurch das Setzen einer nicht vorhandenenVerbindung (welche ja in der Verbindungsmatrixden Wert 0 innehat) aufeinen von 0 verschiedenen Wert. Für dieModifikation der Schwellenwerte verweiseich auf die Möglichkeit, diese als Gewichtezu implementieren (Abschnitt 3.4).Die Veränderung von Neuronenfunktionenist schwierig zu implementieren, nicht sehrintuitiv und auch nicht biologisch motiviert.Sie ist daher nicht verbreitet undwird hier zunächst nicht behandelt werden.Die Möglichkeiten, Neurone zu entwickelnoder zu löschen, liefern während desTrainings eines <strong>Neuronale</strong>n <strong>Netze</strong>s nichtnur gut eingestellte Gewichte, sondern optimierenauch noch die Netztopologie - siegewinnen daher immer mehr an Interesseund werden oft mit evolutionären Verfahrenrealisiert. Da wir aber einsehen, dasswir einen Großteil der Lernmöglichkeitenbereits durch Gewichtsveränderungen abdeckenkönnen, sind auch sie zunächstnicht Gegenstand dieser Arbeit.Wir lassen also unser <strong>Neuronale</strong>s Netz lernen,indem wir es die Verbindungsgewichtemodifizieren lassen nach Regeln, die wirin Algorithmen fassen können – ein Lernverfahrenist also immer ein Algorithmus,den wir einfach mithilfe einer Programmierspracheimplementieren können. Ichwerde später voraussetzen, dass wir definierenkönnen, was eine erwünschte, lernenswerteAusgabe ist (und an dieser stelleauch die Trainingsbeispiele formal definieren)und dass wir eine Trainingsmengean Lernbeispielen besitzen. Eine Trainingsmengesei folgendermaßen definiert:Definition 4.1 (Trainingsmenge): AlsTrainingsmenge P bezeichnen wir eineMenge von Trainingsbeispielen, welche wirzum Training unseres <strong>Neuronale</strong>s <strong>Netze</strong>sverwenden.Ich stelle nun die drei wesentlichen Paradigmendes Lernens anhand der Unterschiedein der Beschaffenheit der Trainingsmengevor.4.1.1 Unüberwachtes Lernen gibtdem Netz nur Eingabemuster,aber keine LernhilfenUnüberwachtes Lernen (engl. unsupervisedlearning) ist die biologischplausibelste Methode, die aber nicht füralle Fragestellungen geeignet ist. Gegebensind nur Eingabemuster; das Netz versucht,ähnliche Muster zu identifizierenund in ähnliche Kategorien zu klassifizieren.Definition 4.2 (Unüberwachtes Lernen):Die Trainingsmenge besteht nur aus Eingabemustern,das Netz versucht selbst,Ähnlichkeiten herauszufinden und Musterklassenzu bilden.Beispiel: Als bekanntes Beispiel sei wiederauf die selbstorganisierenden Kartenvon Kohonen (Kap. 10) verwiesen.◭PNetz lerntalleine52 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.1 Paradigmen des LernensNetz erhältLohn oderStrafeNetz erhältkorrekte LösungenzuBeispielen4.1.2 Bestärkendes Lernen gibtdem Netz Feedback, ob essich gut oder schlecht verhältBeim bestärkenden Lernen (engl. reinforcementlearning) wird dem Netznach erfolgtem Durchlauf immerhin einWahrheits- oder reeller Wert geliefert, derdefiniert, ob das Ergebnis richtig oderfalsch ist. Intuitiv ist klar, dass dieses Verfahrenfür viele Anwendungen zielstrebigerfunktionieren sollte als unüberwachtesLernen, erhält das Netz doch konkrete Anhaltspunktezur Lösungsfindung.Definition 4.3 (Bestärkendes Lernen): DieTrainingsmenge besteht aus Eingabemustern,nach erfolgtem Durchlauf wird demNetz ein Wert zurückgegeben, ob das Ergebnisfalsch oder richtig war, u.U. nochwie falsch oder richtig es war.4.1.3 Überwachtes Lernen hilft demNetz mit Trainingsbeispielenund zugehörigen LösungenBeim überwachten Lernen (engl. supervisedlearning) existiert eine Trainingsmengevon Eingabemustern sowie derenkorrekte Ergebnisse in Form der genauenAktivierung sämtlicher Ausgabeneurone.Für jedes in das Netz eingegebeneTrainingsmuster kann so beispielsweise dieAusgabe direkt mit der korrekten Lösungverglichen werden und anhand der Differenzdie Netzgewichtungen geändert werden.Ziel ist eine Veränderung der Gewichtedahingehend, dass das Netz nach demTraining nicht nur selbstständig Ein- undAusgabemuster assoziieren, sondern bis datounbekannte, ähnliche Eingabemuster einemplausiblen Ergebnis zuführen, also generalisierenkann.Definition 4.4 (Überwachtes Lernen): DieTrainingsmenge besteht aus Eingabemusternmit jeweiliger korrekter Lösung, sodass dem Netz nach Ausgabe ein genauerFehlervektor 1kann.zurückgegeben werdenBemerkung: Dieses Lernverfahren ist biologischnicht immer plausibel, aber exorbitantzielgerichteter als die anderen unddaher sehr praktikabel.Wir möchten hier zunächst die überwachtenLernverfahren allgemein betrachten,welche sich innerhalb dieser Abeitzunächst an folgendes Schema halten:Eingabe des Eingabemusters (Aktivierungder Eingabeneurone),Vorwärtspropagierung der Eingabedurch das Netz, Erzeugung derAusgabe,Vergleich der Ausgabe mit der korrektenAusgabe (Teaching Input), liefert Fehlervektor(Differenzvektor),Verbesserungen des <strong>Netze</strong>s werden aufbauendauf den Fehlervektor berechnet.Anwendung der Verbesserung umvorher berechneten Werte.die1 Den Begriff des Fehlervektors werden wir in Abschnitt4.2 noch definieren, wenn es an die mathematischeFormalisierung des Lernens geht.LernschemaD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 53


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.com4.1.4 Offline oder Online lernen?Zu beachten ist, dass das Lernen offlineerfolgen kann (eine Menge von Trainingsbeispielenwird präsentiert, danach werdendie Gewichte verändert, der Gesamtfehlerwird mit Hilfe einer Fehlerfunktion errechnetbzw. einfach aufkumuliert; nähereshierzu im Abschnitt 4.4) oder aber online(nach jedem präsentierten Beispiel werdendie Gewichte verändert). Beides bietet VorundNachteile, auf die wir bei den Lernverfahrennötigenfalls eingehen werden.Offline-Trainingsverfahren werden auchBatch-Trainingsverfahren genannt, daein Stapel Ergebnisse auf einmal korrigiertwird. Einen solchen Trainingsabschnitteines ganzen Stapels Trainingsbeispielesamt der zugehörigen Veränderungder Gewichtswerte nennt man Epoche.Definition 4.5 (Offline-Lernen): Man gibtmehrere Trainingsbeispiele auf einmal indas Netz ein, kumuliert die Fehler auf, undlernt für alle Trainingsbeispiele gleichzeitig.Definition 4.6 (Online-Lernen): Man lerntdirekt durch den Fehler eines jeden Trainingsbeispiels.4.1.5 Fragen, über die man sich vordem Lernen Gedankenmachen sollteDie Anwendung der Schemata setztnatürlich voraus, dass man sich vorherüber einige Fragen Gedanken gemachthat, die ich hier gewissermaßen als Checklisteeinbringen und im Laufe der Arbeitsukzessive beantworten möchte, soweitmöglich:⊲ Woher kommt die Lerneingabe und inwelcher Form erhalten wir sie?⊲ Auf welche Weise muss man dieGewichte modifizieren, so dass manmöglichst schnell und sicher lernt?⊲ Wie kann man objektiv messen, wieerfolgreich der Lernprozess ist?⊲ Kann man ermitteln, welches dasbeste“ Lernverfahren ist?”⊲ Kann man vorhersagen, ob ein Lernverfahrenterminiert, ob es also nachendlicher Zeit einen optimalen Zustanderreicht oder z.B. zwischen verschiedenenZuständen oszilliert?⊲ Wie wird das Gelernte im Netz gespeichert?⊲ Kann man verhindern, dass neu gelernteMuster alte erlernte Assoziationenwieder zerstören (das sog. Stabilitäts-Plastizitäts-Dilemma)?Bemerkung: Wir werden feststellen,dass alle diese Fragen nicht allgemeinbeantwortet werden können, sondern fürjedes Lernverfahren und jede Topologievon Netzwerk neu diskutiert werdenmüssen.4.2 Trainingsmuster undTeaching InputBevor wir unsere erste Lernregel kennenlernen,muss der Teaching Input ein-◭◭◭keine Patentlösungen!54 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.2 Trainingsmuster und Teaching InputGewünschteAusgabep◮t◮Ausgabevektor y aus. DasDefinition 4.8 (Teaching Input): Sei jAusgabeneuron. Der Teaching Input tjist definiert als der gewünschte, korrekteWert, den j nach der Eingabe eines bestimmtenTrainingsmusters ausgeben soll-Wunsch-Ausgabegeführt werden. Im (hier vorliegenden) Falledes überwachten Lernens setzen wir voraus,dass eine Trainingsmenge aus Trainingsmusternund dazugehörigen richtigenAusgabewerten vorliegt, die man nach erfolgtemTraining an den Ausgabeneuronensehen möchte. Diese Ausgabewerte werden,bis das Netz trainiert ist d.h. solange esfalsche Ausgaben erzeugt, als sogenannterTeaching Input bezeichnet, und zwar fürjedes Neuron einzeln. Für ein Neuron j mitfehlerhafter Ausgabe o j ist t j also die Bezeichnungfür den Teaching Input, die richtigeoder gewünschte Ausgabe zu einemTrainingsmuster p.Definition 4.7 (Trainingsmuster): AlsTrainingsmuster bezeichnen wir einenEingabevektor p mit Komponentenp 1 , p 2 , . . . , p n , dessen gewünschte Ausgabewir kennen. Indem wir das Trainingsmusterin das Netz eingeben, erhaltenwir eine Ausgabe, die wir mit demTeaching Input, also der gewünschtenAusgabe vergleichen. Die Menge derTrainingsmuster nennen wir P . Sieenthält eine endliche Anzahl geordneterPaare (p, t) von Trainingsmustern mitzugehörigem gewünschten Output.Bemerkung: Trainingsmuster heißen imenglischen Pattern, weswegen sie hier mitp bezeichnet werden. Sie besitzen in derLiteratur und in der weiteren Arbeit vieleSynonyme, wie z.B. Pattern, Trainingsbeispiel,Muster, usw.te. Analog zum Vektor p kann man auchTeaching Inputs t 1 , t 2 , . . . , t n der Neuronezu einem Vektor t zusammenfassen. t istimmer auf ein bestimmtes Trainingsmusterp bezogen und ist, wie oben schon gesagt,in der Menge P der Trainingsmusterenthalten.Definition 4.9 (Fehlervektor): Für mehrereAusgabeneurone Ω 1 , Ω 2 , . . . , Ω n wirddie Differenz von Ausgabevektor und TeachingInput unter einem TrainingsbeispielpE p =⎛⎜⎝⎞t 1 − y 1⎟. ⎠t n − y nals Fehlervektor, manchmal auch alsDifferenzvektor bezeichnet. Je nachdem,ob man offline oder online lernt, bezieht ersich auf ein bestimmtes Trainingsmuster,oder den auf bestimmte Weise genormtenFehler aus einer Menge von Trainingsmustern.Bemerkung: Ich fasse noch einmal kurzzusammen, was wir jetzt an diesbezüglichenVektoren definiert haben. Es gibteinenEingabevektor x, der in das <strong>Neuronale</strong>Netz eingegeben werden kann. Das<strong>Neuronale</strong> Netz gibt dann je nachNetzart einenTrainingsbeispiel p ist im Grunde nichtsweiter als ein Eingabevektor. Wir verwendenihn nur zum Trainieren, weilwir den dazugehörigen◭E pD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 55


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comWichtig!Teaching Input t kennen, der nichts anderesals der gewünschte Ausgabevektorzu dem Trainingsbeispiel ist. DerFehlervektor E p ist die Differenz zwischenTeaching Input t und tatsächlicherAusgabe y.Was also x und y für den allgemeinen Betriebdes <strong>Netze</strong>s sind, sind p und t für dasTraining des <strong>Netze</strong>s – und während desTrainings versuchen wir, y möglichst nahan t heranzubringen.Achtung: Noch ein Tip zur Nomenklatur.Wir haben die Ausgabewerte eines Neuronsi mit o i bezeichnet. Die Ausgabe einesAusgabeneurons Ω heißt also o Ω . Wir nennenaber Ausgabewerte des <strong>Netze</strong>s y Ω . DieseNetzausgaben sind natürlich auch nurNeuronenausgaben, allerdings von Ausgabeneuronen.Insofern gilty Ω = o Ω .für sämtliche anderen Probleme derselbenKlasse falsche Antworten liefert.Angenommen, wir wollen das Netz eineAbbildung R 2 → B 1 trainieren lassen, unddie Trainingsbeispiele aus Abb. 4.1 auf derrechten Seite ansetzen: Dann könnte essein, dass das Netz zum Schluss exakt diefarblich markierten Bereiche um die Trainingsbeispieleherum mit der Ausgabe 1markiert (Abb. 4.1 oben), und ansonstenüberall 0 ausgibt – es hat also genug Speicherkapazitätgehabt, sich auf die sechsTrainingsbeispiele mit einer 1 als Ausgabezu konzentrieren, was auf ein zu großesNetz mit zu viel freier Speicherkapazitätschließen lässt.Andersherum kann auch ein Netz zu wenigKapazität haben (Abb. 4.1 unten) – diesegrobe Darstellung der Eingangsdatenentspricht auch nicht der guten Generalisierung,die wir uns wünschen. Es gilt also,hier den Mittelweg zu finden (Abb. 4.1Mitte).4.3 Umgang mitTrainingsbeispielenWir haben gesehen, wie wir grundsätzlichlernen können und welche Schrittewir dafür durchführen müssen. Nun solltenwir noch die Wahl der Trainingsdatenund die Lernkurve betrachten. Insbesondereinteressant nach erfolgtem Lernvorgangist auch die Frage, ob das Netz vielleichtnur auswendig gelernt hat – alsounsere Trainingsbeispiele recht exakt derrichtigen Ausgabe zuführen kann, jedoch4.3.1 Es ist nützlich, die Menge derTrainingsbeispiele zuunterteilenEin Lösungsansatz für diese Probleme isthäufig, die Trainingsmenge zu teilen, undzwar⊲ in eine Trainingsmenge, mit der wirwirklich trainieren,⊲ und eine Testmenge, mit der wir unsereFortschritte testen56 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.3 Umgang mit Trainingsbeispielen– vorausgesetzt, wir haben ausreichendTrainingsbeispiele. Übliche Teilungsrelationensind z.B. 70% für Trainingsdatenund 30% für Testdaten (zufällig gewählt).Wir können das Training beenden, wenndas Netz auf den Trainings- und Testdatengute Werte liefert.Doch Achtung: Wenn man aufgrund einesschlechten Ergebnisses in den Testdatenan der Netzstruktur schraubt, bisauch diese gute Ergebnisse liefern, läuftman schnell Gefahr, das Netz auch aufdie Testdaten zuzuschneiden, so dass diesezumindest indirekt auch ins Trainingeingehen, auch wenn sie nicht explizitfür das Training genutzt werden. Abhilfeschafft ein dritter Validierungsdatensatz,der nach dem mutmaßlich erfolgreichenTraining zum reinen Validieren benutztwird.Bemerkung: Offensichtlich enthalten wirdem <strong>Neuronale</strong>n Netz dadurch, dass wirweniger Muster trainieren, Informationvor und laufen damit Gefahr, dass esschlechter lernt. Es geht uns hier abernicht um das 100% exakte reproduzierengegebener Beispiele, sondern um erfolgreichesGeneralisieren und um Approximationeiner ganzen Funktion – wofür es durchausvon Nutzen sein kann, weniger Informationenin das Netz zu trainieren.Abbildung 4.1: Veranschaulichung von Trainingsergebnissenderselben Trainingsmenge auf<strong>Netze</strong>n zu hoher (oben), richtiger (Mitte) oderzu niedriger Kapazität (unten).4.3.2 Reihenfolgen derMusterpräsentationMan kann auch verschiedene Strategienfinden, in welcher Reihenfolge man Musterpräsentiert: Präsentiert man sie zufällig,D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 57


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comNormierenzumVergleichenErr p ◮so gibt es keine Garantie, dass die Mustergleichverteilt erlernt werden. Immerdieselbe Musterreihenfolge hingegen provoziertz.B. bei rekurrenten <strong>Netze</strong>n (spätermehr dazu) ein Auswendiglernen der Muster.Abhilfe gegen beide Probleme würdehier eine zufällige Permutation schaffen,die aber – wie schon erwähnt – aufwändigzu berechnen ist.4.4 Lernkurve undFehlermessungΩ∈ODefinition 4.10 (Spezifischer Fehler): Derspezifische Fehler Err p wird über eineinziges Trainingsbeispiel, also online, gebildet.Weiter üblich sind der Root-Mean-Square (kurz: RMS) sowie der EuklidischeAbstand.Der Euklidische Abstand (Verallgemeinerungdes Satzes des Pythagoras) ist gutfür niedere Dimensionen, wo wir uns seinenNutzen auch noch bildlich vorstellenkönnen.Definition 4.11 (Euklidischer Abstand):Der Euklidische Abstand zweier Vektorent und y ist definiert zu√ ∑Err p = (t Ω − y Ω ) 2 . (4.2)Ω∈ODer Root-Mean-Square wird allgemeinhäufig verwendet, weil er auf grobe Ausreißermehr Rücksicht nimmt.Die Lernkurve beschreibt den zeitlichenVerlauf des Fehlers, der auf verschiedene Definition 4.12 (Root-Mean-Square): DerWeisen ermittelt werden kann – die MotivationRoot-Mean-Square zweier Vektoren t undfür die Erschaffung einer Lernkur-y ist definiert zuve liegt darin, dass man mit ihr darstellen√ ∑kann, ob das Netz Fortschritte macht oderΩ∈OErr p =Ω − y Ω ) 2.nicht. Der Fehler sollte hierbei normiert|O|(4.3)sein, also ein Abstandsmaß zwischen richtigemund aktuellem Output des <strong>Netze</strong>s darstellen.Für Offline-Lernen ist auch der gesamteBeispielsweise können wir den mus-Fehler über eine Trainingsepoche von In-terspezifischen, quadratischen Fehler mit teresse und Nutzen:Vorfaktor nehmen, wie wir ihn für die Herleitungvon Backpropagation of Error verwendenwerden (Seien Ω OutputneuroneErr = ∑ Err pp∈P(4.4)und O die Menge derselben.):Definition 4.13 (Gesamtfehler): Der GesamtfehlerErr wird über alle Trainings-Err p = 1 ∑(t Ω − y Ω ) 2 (4.1)2beispiele, also offline, gebildet.Analog können wir einen Gesamt-RMSund einen Gesamt-Euklidischen Abstandüber eine ganze Epoche bilden. Natürlichsind auch andere Fehlermaße als das euklidischeoder der RMS denkbar.Abhängig von unserem Fehlermessverfahrensieht natürlich unsere Lernkurve auch◭Err58 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.4 Lernkurve und Fehlermessunganders aus. Eine ideale Lernkurve siehtaus wie eine negative Exponentialfunktion,ist also proportional zu e −t (Abb. 4.2 aufder folgenden Seite). Insofern stellt mandie Lernkurve am anschaulichsten mit einerlogarithmischen Skala dar (Abb. 4.2,zweites Diagramm von unten) – bei dieserSkalierungskombination bedeutet eine absinkendeGerade einen exponentiellen Abfalldes Fehlers.Bei guter Arbeit des <strong>Netze</strong>s, einfachen Problemstellungenund logarithmischer Darstellungvon Err sieht man also bildlichgesprochen eine absinkende Gerade, dieunten oft ”Zacken“ bildet – hier stoßenwir an das Auflösungsvermögen unserer 64-Bit-Darstellung im Computer und habentatsächlich das Optimum dessen erlernt,was unser Netz lernen kann.Typische Lernkurven können auch einigewenige flache Bereiche aufweisen, also Stufenbeschreiben, dies ist kein Zeichen füreinen schlecht funktionierenden Lernvorgang.Wie wir weiterhin an der Abbildung4.2 sehen, kann man mit geeigneter Darstellungfast jede nur etwas sinkende Lernkurveschön aussehen lassen – insofern sollteman beim Lesen der Literatur etwas vorsichtigsein.4.4.1 Wann hört man auf zulernen?Nun ist die große Frage: Wann hört manauf zu lernen? Üblicherweise hört das Trainingauf, wenn derjenige, der vor dem trainierendenComputer sitzt, das Gefühl“ ”hat, der Fehler wäre gering genug. In derTat gibt es dafür wie so oft keine Patentlösungund so kann ich hier wieder nurDenkansätze geben, welche allerdings allefür eine objektivere Sicht auf das Vergleichenmehrerer Lernkurven setzen.Es stärkt beispielsweise das Vertrauen inein Ergebnis, wenn das Netz für mehrereverschiedene zufällige Initialisierungen immerungefähr die gleiche Endfehlerrate erreicht– mehrmals initialisieren und trainierenmacht das Ergebnis also ein wenigobjektiver.Auf der anderen Seite kann sich auch einBild ergeben, bei dem eine anfangs schnellerfallende Kurve nach längerem Lernenvon einer anderen Kurve noch überholtwird: Dies kann darauf hinweisen, dass entwederdie Lernrate der schlechteren Kurvezu hoch war oder aber die schlechtere einfachin einem Nebenminimum hängen gebliebenist, dieses aber schneller gefundenhat.Noch einmal zur Erinnerung: Größere Fehlerwertesind schlechter.Auf jeden Fall sei aber beachtet: Woraufsich viele beim Lernen verlassen (und sichdanach wundern, dass wenig funktioniert),ist, die Lernkurve nur in Bezug auf dieTrainingsdaten zu bilden – man sollte alsoder Objektivität halber nicht vergessen,die Testdaten der Übersichtlichkeit halberauf eine zweite Lernkurve aufzutragen, dieüblicherweise etwas schlechtere Werte liefertund auch stärker oszilliert, aber beiguter Generalisierung auch sinkt.Wenn das Netz dann irgendwann anfängt,die Beispiele auswendig zu lernen, kannObjektivitätD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 59


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.com0.000250.00020.000180.00020.000160.00014Fehler0.000150.0001Fehler0.000120.00018e−0056e−0055e−0054e−0052e−00500 100 200 300 400 500 600 700 800 900 1000Epoche01 10 100 1000Epoche111e−0051e−0051e−0101e−010Fehler1e−0151e−020Fehler1e−0151e−0201e−0251e−0251e−0301e−0301e−0350 100 200 300 400 500 600 700 800 900 1000Epoche1e−0351 10 100 1000EpocheAbbildung 4.2: Alle vier Abbildungen stellen dieselbe (idealisierte, da sehr glatte) Lernkurve dar.Achten Sie auf die wechselnden logarithmischen und linearen Skalierungen! Beachten Sie auch denkleinen ”Ungenauigkeits-Zacken“, sichtbar am Knick der Kurve im ersten und zweiten Diagrammvon unten.60 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.5 Gradientenbasierte Optimierungsverfahrenman so durch die Lernkurve Hinweise darauferhalten: Wenn die Lernkurve der Testbeispieleplötzlich rapide steigt, währenddie Lernkurve für die Trainingsdaten weitersinkt, kann dies ein Indikator für Auswendiglernenund schlechter werdende Generalisierungsein. Hier könnte man dannentscheiden, ob das Netz am nächstenPunkt der beiden Kurven bereits gut genuggelernt hat und der Endzeitpunkt desLernens vielleicht hier anzusetzen ist (diesesVerfahren wird Early Stopping genannt).Ich weise noch einmal darauf hin, dassdies alles nur Indikatoren und keine Wenn-Dann-Schlüsse sind.Ein Wort noch zur Anzahl der Lernepochen:Im Moment liest man in verschiedenenVeröffentlichungen oft eine Anzahlvon ≈ 10 6 bis ≈ 10 7 Epochen – warum versuchtman nicht mal mehr? Ganz einfach:Der aktuelle Standard-PC ist noch nichtschnell genug für 10 8 Epochen. Mit steigenderRechnergeschwindigkeit wird derTrend ganz von allein dorthin gehen.4.5 GradientenbasierteOptimierungsverfahrenUm die mathematische Grundlage für einigeder folgenden Lernverfahren zu schaffen,möchte ich zunächst kurz erklären, wasman unter einem Gradientenabstieg versteht– das Lernverfahren Backpropagationof Error beispielsweise baut auf diesenmathematischen Grundlagen auf und erbtso die Vor- und Nachteile des Gradientenabstiegs.Gradientenabstiegsverfahren werden imAllgemeinen verwendet, um Maxima oderMinima n-dimensionaler Funktionen auszumachen.In der Illustration (Abb. 4.3auf der folgenden Seite) beschränke ichmich übersichtlicherweise auf zwei Dimensionen,der Dimensionsanzahl sind aberprinzipiell keine Grenzen gesetzt.Hierbei ist der Gradient ein Vektor g,der für jeden differenzierbaren Punkt einerFunktion definiert ist, genau in dieRichtung des steilsten Anstiegs von diesemPunkt aus deutet und durch seinen Betrag|g| den Steigungsgrad in diese Richtungangibt. Der Gradient ist also die Verallgemeinerungder Ableitung für mehrdimensionaleFunktionen 2 . Folglich deutet dernegative Gradient −g genau in die Richtungdes steilsten Abstiegs. Der Operatorfür einen Gradienten ∇ wird als Nabla-Operator bezeichnet, die Gesamtschreibweisefür den Gradienten g des Punktes(x, y) einer zweidimensionalen Funktion flautet dabei z.B. g(x, y) = ∇f(x, y).Definition 4.14 (Gradient): Sei g Gradient.Dann ist g ein n-komponentigerVektor, der für jeden Punkt einer (differenzierbaren)n-dimensionalen Funktionf(x 1 , x 2 , . . . , x n ) bestimmt ist. Die Operatorschreibweisefür den Gradienten ist definiertalsg(x 1 , x 2 , . . . , x n ) = ∇f(x 1 , x 2 , . . . , x n )2 Ich möchte an dieser Stelle nicht näher darauf eingehen,wie die mehrdimensionale Ableitung ermitteltwird – interessierte Leser bitte ich in der üblichenAnalysis-Literatur zu recherchieren.◭∇Gradient istmehrdim.AbleitungD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 61


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comAbbildung 4.3: Veranschaulichung des Gradientenabstiegs auf zweidimensionaler Fehlerfunktion.Wir gehen entgegengesetzt von g, also mit dem steilsten Abstieg einem Tiefpunktentgegen, wobei die Schrittweite proportional zu |g| ist (je steiler der Abstieg, destogrößer die Schrittweite). Links ist die Fläche in 3D gezeigt, rechts die Schritte über dieHöhenlinien in 2D. Hier wird ersichtlich, wie eine Bewegung in Gegenrichtung von g inRichtung Minimum der Funktion erfolgt und proportional zu |g| ständig langsamer wird.Quelle: http://webster.fhs-hagenberg.ac.at/staff/sdreisei/Teaching/WS2001-2002/PatternClassification/graddescent.pdfg zeigt für jeden Punkt von f in Richtungdes stärksten Anstiegs von diesem Punktaus, wobei |g| dem Grad dieser Steigungentspricht.Als Gradientenabstieg bezeichnen wir, vonbeliebigem Startpunkt unserer Funktionaus entgegen dem Gradienten g schrittweisebergab zu gehen (anschaulich gesprochenin die Richtung, in die auch eine Kugelvom Startpunkt aus rollen würde), wobeidie Schrittgröße proportional zu |g| ist.Auf flachen Plateaus bewegen wir uns alsolangsam, bei großer Steigung schnell densteilsten Weg hinab. Geraten wir in einTal, so werden wir es je nach Größe unsererSchritte überspringen oder auf demgegenüberliegenden Hang wieder ins Talumkehren, um durch hin- und hergehendem tiefsten Punkt des Tals immer näherzu kommen, ähnlich der Bewegung unsererKugel innerhalb einer runden Schüssel.Definition 4.15 (Gradientenabstieg): Seif eine n-dimensionale Funktion und s =(s 1 , s 2 , . . . , s n ) gegebener Startpunkt. AlsGradientenabstieg bezeichnen wir, vonf(s) aus entgegen der Richtung von g, alsoin Richtung von −g mit Schritten in Größevon |g| in Richtung immer kleinerer Wertevon f zu gehen.Wir werden nun sehen, dass Gradientenabstiegsverfahrenzwar nicht fehlerfrei (Ab-Wir gehenGradient entgegen62 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.6 Beispielproblemstellungenschnitt 4.5.1), aber dennoch erfolgversprechendsind.4.5.1 Gradientenverfahren bringenverschiedene Probleme mitsich4.5.1.3 Verlassen guter MinimaAuf der anderen Seite ist der Gradientan einem steilen Hang sehr groß, so dassman große Schritte macht und u.U. ein gutesMinimum übersieht (Teil d der Abb.4.4).Gradienten-Abstieghat FehlerWie in Abschnitt 4.5 angedeutet, ist derGradientenabstieg (und damit Backpropagation)erfolgversprechend, jedoch nichtfehlerresistent, wobei eines der Problemeist, dass man nicht immer anhand des Ergebnissesersehen kann, ob ein Fehler passiertist.4.5.1.1 Konvergenz gegen suboptimaleMinimaJedes Gradientenabstiegsverfahren kannzum Beispiel in einem lokalen Minimumhängen bleiben (ein Beispiel findet sich inTeil a der Abb. 4.4 auf der folgenden Seite)– dieses Problem wächst mit der Größeder Fehlerfläche an und hierfür gibt es keineallgemeingültige Lösung.4.5.1.2 Stagnation auf flachen Plateaus4.5.1.4 Oszillation in steilen SchluchtenEin plötzlicher Wechsel von einem sehrstark negativen zu einem sehr stark positivenGradienten kann sogar zu einer Oszillationführen (Teil c der Abb. 4.4). Anund für sich hört man von diesem Fehlerin der Natur selten, so dass wir uns überMöglichkeiten b und d Gedanken machenkönnen.4.6 Beispielproblemstellungensind nützlich, um dasselbst programmierte<strong>Netze</strong> und Lernverfahrenzu testenAuch wird der Gradient beispielsweisebeim Durchlaufen eines flachen Plateausverschwindend klein (es ist eben kaum Steigungvorhanden (Teil b der Abb. 4.4), wassehr viele weitere Schritte nötig macht.Ein theoretisch möglicher Gradient von 0würde den Abstieg gar ganz zum Stillstandbringen.Wir haben nun das Lernen noch nicht sehr,aber zumindest ein wenig von der formalenSeite betrachtet – nun ist es an der Zeit,dass ich ein paar Beispielprobleme vorstelle,mit denen man sehr gut ausprobierenkann, ob ein implementiertes Netz und einLernverfahren korrekt arbeiten.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 63


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comErrc)b)a)d)Globales MinimumWAbbildung 4.4: Mögliche Fehler während eines Gradientenabstiegs: a) Finden schlechter Minima,b) Quasi-Stillstand bei kleinem Gradienten, c) Oszillation in Schluchten, d) Verlassen guter Minima.4.6.1 Boolesche FunktionenFür Ausgaben nahe 1 oder -1, also naheden Grenzwerten des Tangens Hyperbolicus(bzw. im Falle der Fermifunktion0 oder 1), benötigt das Netz sehr große<strong>Netze</strong>ingaben. Die einzige Chance, diese<strong>Netze</strong>ingaben zu erreichen, ist durch großeGewichte, die erlernt werden müssen: DerLernvorgang wird sehr verlängert. Es ist alsoklüger, als gewünschte Ausgaben in dieTeaching Inputs 0.9 bzw. −0.9 einzugebenoder aber zufrieden zu sein, wenn das Netzdiese anstatt 1 und −1 ausgibt.Gerne wird als Beispiel das genommen,was in den 1960er Jahren nicht ging: DieXOR-Funktion (B 2 → B 1 ), welches wirnoch ausführlich besprechen werden. Trivialerwarten wir hier die Ausgaben 1.0 bzw.−1.0 je nachdem , ob die Funktion XOR1 oder 0 ausgibt – und genau hier liegtder erste Anfängerfehler, den man machen 4.6.2 Die Paritätsfunktionkann.Beliebt als Beispiel für Singlelayerperceptronssind auch die Booleschen FunktionenAND und OR.Die Paritätsfunktion bildet eine Mengevon Bits auf 1 oder 0 ab, je nachdem,ob eine gerade Anzahl Inputbits auf 1 gesetztist oder nicht – es handelt sich alsogrundsätzlich um eine Funktion B n →B 1 . Sie ist durch leichte Lernbarkeit bisca. n = 3 gekennzeichnet (dargestellt inTab. 4.1 auf der rechten Seite), der Lernaufwandsteigt aber ab n = 4 rapide an.64 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.6 Beispielproblemstellungeni 1 i 2 i 3 Ω0 0 0 10 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0Tabelle 4.1: Darstellung der Paritätsfunktionmit drei Eingaben.Bemerkung: Der Leser möge doch einmaleine Wertetabelle für die 2-bit-Paritätsfunktionerstellen – was fällt auf?Abbildung 4.5: Skizze zum Trainingsbeispieldes 2-Spiralen-Problems4.6.3 Das 2-Spiralen-ProblemNehmen wir als Trainingsbeispiel für eineFunktion zwei ineinander gewundeneSpiralen (Abb. 4.5), wobei die Funktionnatürlich eine Abbildung R 2 → B 1 repräsentiert.Eine der Spiralen ist mit demOutputwert 1 belegt, die andere mit 0.Hier hilft Auswendiglernen nicht groß weiter,das Netz muss wirklich die Abbildungan sich verstehen. Auch dieses Beispielkann mit einem MLP gelöst werden.4.6.4 Das SchachbrettproblemWir kreieren uns wieder eine zweidimensionaleFunktion der Form R 2 → B 1 undgeben schachbrettartige Trainingsbeispielean (Abb. 4.6 auf der folgenden Seite), wobeiein eingefärbtes Feld eine 1 repräsentiert,alle anderen 0. Hier steigt die Schwierigkeitwieder mit Größe der Funktion:Während ein 3 × 3-Feld noch leicht zu lernenist, sieht es mit größeren Feldern schonschwierig aus.Das 2-Spiralen-Problem ist dem Schachbrettproblemsehr ähnlich, nur dass beiersterem mathematisch gesehen Polarkoordinatenstatt kartesischen Koordinatenverwendet werden. Eine letzte Kleinigkeitmöchte ich noch als Beispiel vorstellen: DieIdentität.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 65


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.com4.7 Die Hebbsche Lernregelist der Grundstein für diemeisten anderenLernregelnDie 1949 von Donald O. Hebb formulierteHebbsche Lernregel [Heb49] bildetden Grundstein für die meisten komplizierterenLernregeln, welche wir in dieserArbeit besprechen. Hierbei wird unterschiedenzwischen der Urform und der allgemeinerenForm, einer Art Grundgerüstfür viele andere Lernregeln.Abbildung 4.6: Skizze von Trainingsbeispielendes Schachbrettproblems4.7.1 Urform4.6.5 Die IdentitätsfunktionMit linearen Aktivierungsfunktionen wäredie Identitätsabbildung von R 1 nach R 1(natürlich fairerweise im Wertebereichder verwendeten Aktivierungsfunktion)für das Netz kein Problem, doch wir legenihm durch Verwendung unserer sigmoidenFunktionen Steine in den Weg, so dass esfür das Netz sehr schwierig ist, die Identitätzu lernen. Versuchen Sie es doch einmalspaßeshalber.Nun können wir unsere erste mathematischeLernregel betrachten.Definition 4.16 (Hebbsche Lernregel):Wenn Neuron j eine Eingabe von Neuron”i erhält und beide gleichzeitig stark aktivsind, dann erhöhe das Gewicht w i,j (alsodie Stärke der Verbindung von i nach j).“Mathematisch ausgedrückt lautet sie also:∆w i,j ∼ ηo i a j (4.5)wobei ∆w i,j die Änderung des Gewichtesvon i nach j bezeichnet, welche proportionalzu folgenden Faktoren ist:⊲ der Ausgabe o i des Vorgängerneuronsi,⊲ der Aktivierung a j des Nachfolgerneuronsj,⊲ sowie einer Konstante η, der Lernrate,auf die wir in Abschnitt 5.5.2 nochgenau eingehen.FrüheLernregel◭∆w i,j66 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com4.7 Hebbsche LernregelGewichtsänderungen ∆w i,j werden einfachauf das Gewicht w i,j aufaddiert.Bemerkung: Warum spreche ich in derumgangssprachlichen Formulierung zweimalvon Aktivierung, schreibe jedoch inder Formel von o i und a j , also von der Ausgabedes Neurons i und der Aktivierungdes Neurons j? Wir erinnern uns, dass sehroft die Identität als Ausgabefunktion verwendetwird und so a i und o i eines Neuronsoft identisch sind – weiterhin postulierteHebb seine Lernregel weit vor derSpezifikation technischer Neurone.Hebbschen Regel benennt nur die Proportionalitätder Gewichtsänderung zumProdukt zweier nicht näher definierterFunktionen, allerdings mit definierten Eingabewerten.∆w i,j = η · h(o i , w i,j ) · g(a j , t j ) (4.6)Hierbei ergibt das Produkt der Funktionen⊲ g(a j , t j ) undGewichtegehen gegenunendlichWenn man bedenkt, dass diese Lernregelgerne bei binären Aktivierungen verwendetwurde, ist klar, dass die Gewichte beimöglichen Aktivierungen (1, 0) entwederanwachsen oder gleichbleiben. Sie würdenalso über kurz oder lang ins unendliche gehen,da sie bei Fehlern nur nach oben“”korrigiert werden können. Dies kann ausgeglichenwerden, indem man die Aktivierungen(−1, 1) verwendet 3 . So werden die Gewichtebei Nichtübereinstimmung der Aktivierungvon Vorgänger- und Nachfolgerneuronverringert, sonst verstärkt.4.7.2 Verallgemeinerte FormBemerkung: Die meisten weiteren hier besprochenenLernregeln sind eine Spezialisierungder mathematisch allgemeinerenForm [MR86] der Hebbschen Lernregel.Definition 4.17 (Hebb-Regel, allgemeiner):Die verallgemeinerte Form der3 Das ist dann aber nicht mehr die ”Originalversion“der Hebbschen Lernregel.⊲ h(o i , w i,j )⊲ sowie wieder der konstanten Lernrateηdie Gewichtsänderung. Wie man sieht,nimmt h also die Ausgabe der Vorgängerzelleo i sowie das Gewicht von Vorgängerzu Nachfolger w i,j entgegen, während gdie tatsächliche und gewünschte Aktivierungdes Nachfolgers a j sowie t j (t stehthier für den erwähnten Teaching Input)erwartet. In dieser allgemeinen Definitionsind g und h, wie schon angemerkt, nichtkonkretisiert – wir werden uns daher jetztauf den vor Gleichung 4.6 angesprochenenPfad der Spezialisierung begeben und unsererstes Netzparadigma samt Lernverfahrenkennenlernen, nachdem wir nun einekurze Ansicht dessen gehabt haben, wieeine Lernregel aussehen kann und uns Gedankenzum Lernen an sich gemacht haben.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 67


Kapitel 4 Gedanken zum Training <strong>Neuronale</strong>r <strong>Netze</strong> (wichtige Grundlagen)dkriesel.comÜbungsaufgabenAufgabe 7: Berechnen Sie für die folgendenDatenpunkte den Mittelwert µ unddie Standardabweichung σ.p1 = (2, 2, 2)p2 = (3, 3, 3)p3 = (4, 4, 4)p4 = (6, 0, 0)p5 = (0, 6, 0)p6 = (0, 0, 6)68 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Teil IIÜberwacht lernendeNetzparadigmen69


Kapitel 5Das PerceptronDer Klassiker unter den <strong>Neuronale</strong>n <strong>Netze</strong>n. Wenn von einem <strong>Neuronale</strong>nNetz gesprochen wird, ist meistens ein Perceptron oder eine Variation davongemeint. Perceptrons sind mehrschichtige <strong>Netze</strong> ohne Rückkopplung, mitfesten Eingabe- und Ausgabeschichten. Beschreibung des Perceptrons, seinerGrenzen und seiner Erweiterungen, welche die Grenzen umgehen sollen.Herleitung von Verfahren, es lernen zu lassen, und Diskussion über derenProbleme.Wie schon in der Geschichte <strong>Neuronale</strong>r<strong>Netze</strong> erwähnt, wurde das Perceptronvon Frank Rosenblatt 1958 beschrieben[Ros58]. Rosenblatt legte als Komponentendes Perceptrons zunächst die schonbesprochene gewichtete Summe, sowie einenichtlineare Aktivierungsfunktion fest.Obwohl es keine wirklich feste Definitiondes Perceptrons gibt, ist meistensein FeedForward-Netz mit ShortCut-Connections gemeint, das eine Schichtvon Abtastneuronen (Retina) mit statischgewichteten Verbindungen zur nächstenSchicht besitzt, die wir Eingabeschichtnennen (Abb. 5.1 auf Seite 73); alle Gewichteab der Eingabeschicht dürfen aberverändert werden. Die der Retina nachgeordnetenNeuronen stellen Musterdetektorendar. Wir verwenden hier zunächst einbinäres Perceptron, bei dem jedem Outputneurongenau zwei mögliche Ausgabewertezur Verfügung stehen (z.B. {0, 1}oder {−1, 1}). Wir verwenden also einebinäre Schwellenwertfunktion als Aktivierungsfunktion,abhängig vom jeweiligenSchwellenwert Θ des Outputneurons.Gewissermaßen stellt eine binäre Aktivierungsfunktionalso eine IF-Abfrage dar,die man durch negative Gewichte auch negierenkann – man kann also mit dem Perceptronwirkliche logische Informationsverarbeitungdurchführen.Bemerkung: Ob das sinnvoll ist, sei einmaldahingestellt – Boolesche Logik kannman natürlich auch einfacher haben. Ichmöchte nur darstellen, dass Perceptronsdurchaus als simple logische Bausteinenutzbar sind und man mit geschicktenhintereinander- und zusammengeschaltetenPerceptrons theoretisch jede Boole-71


Kapitel 5 Das Perceptrondkriesel.comEingabeneuronleitet nurDaten weitersche Funktion realisieren kann. Wir werdenaber noch sehen, dass dies ohne Hintereinanderschaltungnicht möglich ist.Bevor wir das Perceptron an sich definieren,möchte ich zunächst einige Neuronenarten,welche wir in diesem Kapitel verwendenwerden, definieren.Definition 5.1 (Eingabeneuron): Ein Eingabeneuron(auch Inputneuron genannt)ist ein Identitätsneuron – esgibt genau das weiter, was es als Eingabeerhält. Es repräsentiert also die Identitätsfunktion,die wir durch das Symbol andeuten wollen. Wir stellen ein Eingabeneurondaher mit dem Symbol dar.Definition 5.2 (InformationsverarbeitendesNeuron): InformationsverarbeitendeNeurone verarbeiten die eingegebene Informationauf irgendeine Weise, repräsentierenalso nicht die Identitätsfunktion.Ein Binäres Neuron summiert alle Eingaben,die es erhält, durch die gewichteteSumme als Propagierungsfunktion auf,was wir mit dem Summenzeichen Σ skizzierenwollen. Die Aktivierungsfunktion desNeurons ist dann die binäre Schwellenwertfunktion,die mit L|H skizziert werdenkann. Dies bringt uns insgesamt zuL|Hder Symboldarstellung Σ . Analog werdenandere Neurone mit gewichteter Summeals Propagierungsfunktion, jedoch denAktivierungsfunktionen Tangens Hyperbolicus,Fermifunktion oder einer separat definiertenAktivierungsfunktion f act als ΣTanh ΣFermi Σf actdargestellt. Diese Neurone bezeichnen wirdann z.B. auch als Fermi-Neuron oderTanh-Neuron.Bemerkung: Ausgabeneurone werdenauch oft Outputneuron genannt.Nachdem wir nun die Bestandteile einesPerceptrons kennen, können wir es auchdefinieren.Definition 5.3 (Perceptron): Das Perceptron(Abb. 5.1 auf der rechten Seite)ist 1 ein FeedForward-Netz, in welchem eseine Retina gibt, die der reinen Datenaufnahmedient und fest gewichtete Verbindungenzur ersten Neuronenschicht (Eingabeschicht)besitzt. Der festen Gewichtsschichtfolgt mindestens eine trainierbareGewichtsschicht. Eine Neuronenschicht istzur jeweils nächsten vollverknüpft. Die ersteSchicht des Perceptrons besteht aus denoben definierten Eingabeneuronen.Oft enthält ein FeedForward-Netz auchShortCuts, was aber nicht exakt der ursprünglichenBeschreibung entspricht unddaher hier auch nicht der Definition hinzugefügtwird.Bemerkung (zur Retina): Wir sehen, dassdie Retina gar nicht in den unteren Teil derAbb. 5.1 mit einbezogen wird – in der Tatwird meist (vereinfachend und für die Implementierungausreichend) die erste Neuronenschichtnach der Retina als Eingabe-schicht betrachtet, da diese die Inputwerte1 Es mag dem einen oder anderen Leser sauer aufstoßen,dass ich behaupte, es gäbe keine Definitionfür ein Perceptron, das Perceptron aber im nächstenAbsatz definiere. Ich schlage daher vor, meineDefinition im Hinterkopf zu behalten, aber nur fürdiese Arbeit als wirklich gegeben anzusehen.Retina wirdvernachlässigt72 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Kapitel 5 Das Perceptrondkriesel.comdkriesel.com ΣL|H i 1 i 2 i 3 i 4 i 5 ΩAbbildung Abbildung 5.1: Aufbau 5.1: eines Aufbau Perceptrons eines Perceptrons mit einer mitSchicht einer Schicht variabler variabler Verbindungen in verschiedenenAnsichten. nen Ansichten. Die durchgezogene Die durchgezogene Gewichtsschicht Gewichtsschicht in deninunteren unteren beiden beiden Abbildungen ist ist trainierbarbar.in Links: AmOben: Beispiel Amder Beispiel Informationsabtastung der Informationsabtastung im Auge. im Auge.Mitte: Skizze desselben mit eingezeichneter fester Gewichtsschicht unter Verwendung der definiertenfunktionsbeschreibenden Designs für Neurone.Rechts oben: Skizze desselben mit eingezeichneter fester Gewichtsschicht unter Verwendung derdefinierten funktionsbeschreibenden Designs für Neurone.Unten: Ohne eingezeichnete feste Gewichtsschicht, mit Benennung der einzelnen Neuronen nachRechts unten: unserer Ohne Konvention. eingezeichnete Wir werden feste dieGewichtsschicht, feste Gewichtschicht mitimBenennung weiteren Verlauf der einzelnen der Arbeit Neuronen nicht mehrnach unserer betrachten. Konvention. Wir werden die feste Gewichtschicht im weiteren Verlauf der Arbeit nichtmehr betrachten.70 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 73


Kapitel 5 Das Perceptrondkriesel.comsowieso nur weitergibt. Die Retina selbstund die statischen Gewichte dahinter werdenalso nicht weiter erwähnt oder abgebildet,da sie sowieso nicht informationsverarbeitendsind. Die Abbildung eines Perceptronsbeginnt also bei den Inputneuronen. BIAS i 1w BIAS,Ω w i1 ,Ω w i2 ,Ω Ω i 21 trainierb.SchichtWichtig!5.1 Das Singlelayerperceptronbesitzt nur einetrainierbareGewichtsschichtHier gehen von der Eingabeschicht Verbindungenmit trainierbaren Gewichten zu einemAusgabeneuron Ω, welches ausgibt,ob das an den Eingabeneuronen eingegebeneMuster erkannt wird oder nicht. EinSinglelayerperceptron (kurz: SLP) besitztalso nur eine Ebene trainierbarer Gewichte(Abb. 5.1 auf der vorangehenden Seite).Definition 5.4 (Singlelayerperceptron):Als Singlelayerperceptron (SLP) wirdein Perceptron bezeichnet, welches nachder Schicht Eingabeneurone nur eine variableGewichtsschicht und eine SchichtAusgabeneurone Ω besitzt. Die technischeSicht eines SLPs findet sich in Abb. 5.2.Bemerkung: Es ändert am Prinzip desPerceptrons natürlich nichts wesentlich,wenn mehrere AusgabeneuroneΩ 1 , Ω 2 , . . . , Ω n vorkommen (Abb. 5.3):Ein Perceptron mit mehreren Ausgabeneuronenkann man auch als mehrereverschiedene Perceptrone mit derselbenEingabe ansehen.Abbildung 5.2: Ein Singlelayerperceptron mitzwei Eingabeneuronen und einem Outputneuron.Durch den aus dem Netz herausführenden Pfeilgibt das Netz die Ausgabe aus. In der Mitte befindetsich die trainierbare Schicht von Gewichten(beschriftet). Zur Erinnerung habe ich hiernoch einmal das Biasneuron mit abgebildet. Obwohldas Gewicht w BIAS,Ω ein ganz normales Gewichtist und auch so behandelt wird, habe ich eshier nur gepunktet gezeichnet – dies erhöht dieÜbersichtlichkeit bei größeren <strong>Netze</strong>n stark. InZukunft werden wir das Biasneuron nicht mehrmit abbilden. i 1 i 2 i 3 i 4 i 5 Ω 1 Ω 2 Ω 3Abbildung 5.3: Singlelayerperceptron mit mehrerenAusgabeneuronen74 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.2 Delta-Regel 5.1.1 Perceptron-Lernalgorithmusund Konvergenz-Theorem1 1 1.5 1 1 0.5Abbildung 5.4: Zwei Singlelayerperceptrons fürBoolesche Funktionen. Das obere Singlelayerperceptronrealisiert ein AND, das untere einOR. Die Aktivierungsfunktion des informationsverarbeitendenNeurons ist jeweils die binäreSchwellenwertfunktion, wo vorhanden stehen dieSchwellenwerte in den Neuronen.Der ursprüngliche Perceptron-Lernalgorithmus mit binärerAktivierungsfunktion in den Neuronen istbeschrieben in Alg. 1. Es ist bewiesen,dass der Algorithmus in endlicher Zeit konvergiert– das Perceptron also in endlicherZeit alles lernen kann, was ihm möglichist, zu repräsentieren (Perceptron-Konvergenz-Theorem, [Ros62]). DerLeser sollte sich hierbei nicht zu frühfreuen. Was das Perceptron repräsentierenkann, werden wir noch erforschen.Während der Erforschung der linearenSeparierbarkeit von Problemen werdenwir noch behandeln, dass zumindest dasSinglelayerperceptron leider viele Problemenicht repräsentieren kann.5.2 Die Delta-Regel alsgradientenbasiertesLernverfahren für SLPsAls triviale, zusammensetzbare Beispielesind die in Abb. 5.4 dargestellten BooleschenFunktionen AND und OR zu sehen.Wir möchten nun erfahren, wie wir einSinglelayerperceptron trainieren können,und betrachten hierzu zunächst denPerceptron-Lernalgorithmus und anschließenddie Delta-Regel.Im Folgenden weichen wir von unsererbinären Schwellenwertfunktion als Aktivierungsfunktionab, denn zumindest fürBackpropagation of Error brauchen wir,wie wir gleich sehen werden, eine diffe-renzierbare oder gar semilineare Aktivierungsfunktion– für die nun folgende Delta-Regel (ebenfalls hergeleitet in [MR86]) istsie nicht zwangsweise erforderlich, abernützlich. Auf diesen Umstand wird aberauch noch einmal an Ort und Stelle hingewiesen.Die Delta-Regel hat gegenüberf act nundiffbarD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 75


Kapitel 5 Das Perceptrondkriesel.comAlgorithmus 1 Perceptron-Lernalgorithmus. Der Perceptron-Lernalgorithmus verringertGewichte zu Ausgabeneuronen, welche 1 statt 0 ausgeben, und erhöht Gewichteim umgekehrten Fall.1: while ∃p ∈ P and Fehler zu groß do ⊲ P Menge der Trainingsmuster2: Gebe ein p in Netz ein, berechne Ausgabe y3: for jedes Ausgabeneuron Ω do ⊲ Für jedes Outputneuron prüfe Fälle4: if y Ω = t Ω then ⊲ Fall 1: Ausgabe richtig5: Keine Gewichtsänderung6: else ⊲ Ausgabe falsch7: if y Ω = 0 then ⊲ Fall 2: Ausgabe 0, sollte aber 1 sein8: for jedes Eingabeneuron i do ⊲ Von jedem Eingabeneuron aus...9: w i,Ω := w i,Ω + o i ⊲ ...Gewicht zu Ω um o i vergrößern10: end for11: end if12: if y Ω = 1 then ⊲ Fall 3: Ausgabe 1, sollte aber 0 sein13: for jedes Eingabeneuron i do ⊲ Von jedem Eingabeneuron aus...14: w i,Ω := w i,Ω − o i ⊲ ...Gewicht zu Ω um o i verkleinern15: end for16: end if17: end if18: end for19: end while76 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.2 Delta-Regeldem obigen Perceptron-Lernalgorithmusim Wesentlichen die Vorteile, für nichtbinäreAktivierungsfunktionen geeignet zusein und, bei großer Entfernung zum Lernziel,automatisch schneller zu lernen.Angenommen, wir besitzen ein Singlelayerperceptronmit zufällig gesetzten Gewichten,dem wir eine Funktion anhand vonTrainingsbeispielen beibringen möchten.Die Menge dieser Trainingsbeispiele nennenwir P – sie enthält, wie schon definiert,Paare (p, t) von Trainingsbeispielen p undzugehörigem Teaching Input t. Ich rufeauch noch einmal in Erinnerung, dass⊲ x Inputvektor und⊲ y Outputvektor eines <strong>Neuronale</strong>n <strong>Netze</strong>sist,⊲ Outputneurone Ω 1 , Ω 2 , . . . , Ω |O| genanntwerden und⊲ i Input sowie⊲ o Output eines Neurons ist.Ferner haben wir definiert, dass⊲ der Fehlervektor E p die Differenz (t−y) unter einem bestimmten Trainingsbeispielp darstellt.manchmal die Übersichtlichkeit ganz erheblich.Unser Lernziel ist jetzt natürlich, dass beiallen Trainingsbeispielen der Output y des<strong>Netze</strong>s annähernd gleich dem gewünschtenOutput t ist, also formal gilt∀p : y ≈ t bzw. ∀p : E p ≈ 0.Hierfür müssen wir erst lernen, den GesamtfehlerErr als Funktion der Gewichtezu betrachten: Der Gesamtfehler nimmt zuoder ab, je nachdem, wie wir die Gewichteändern.Die Feh-Definition 5.5 (Fehlerfunktion):lerfunktionErr : W → Rfasst die Menge 2 der Gewichte W als Vektorauf und bildet die Gewichtswerte aufden genormten Ausgabefehler ab (genormtdaher, weil man sämtliche Ausgabefehlersonst nicht in einem einzelnen e ∈ R abbildenkann, um einen Gradientenabstiegdarauf durchzuführen). Dass sich analog einespezifische Fehlerfunktion für eineinzelnes Muster p bilden lässt, ist offensichtlich.◭Err(W )Fehler alsFunktion◭Err p (W )⊲ Sei weiterhin wie gehabt O die Mengeder Ausgabeneurone und⊲ I die Menge der Eingabeneurone.Als weitere Namenskonvention wollen wirvereinbaren, dass z.B. für Output o und TeachingInput t ein zusätzlicher Index p gesetztwerden darf, um anzuzeigen, dass dieseGröße musterspezifisch ist – dies erhöhtWie wir bereits in Abschnitt 4.5 zum ThemaGradientenabstiegsverfahren gesehenhaben, berechnen Gradientenabstiegsverfahrenden Gradienten einer beliebig- aberendlichdimensionalen Funktion (hier der2 Der Tradition anderer Literatur folgend, habe ichW vorher als Gewichtsmatrix definiert – ich binmir dieses Konfliktes bewusst, er wird uns hieraber nicht weiter stören.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 77


Kapitel 5 Das Perceptron543210dkriesel.comNutzen außerhalb der bloßen Bedeutungals Proportionalitätskonstante bekommen.Ich möchte den Leser bitten, sich bis dahinnoch etwas zu gedulden.):−2−1w1012Abbildung 5.5: Beispielhafte Fehlerfläche eines<strong>Neuronale</strong>n <strong>Netze</strong>s mit zwei trainierbaren Verbindungenw 1 und w 2 . In der Regel haben <strong>Neuronale</strong><strong>Netze</strong> mehr als zwei Verbindungen, washier nicht so übersichtlich abzubilden gewesenwäre. Weiterhin ist die Fehlerfläche meist sehrviel zerklüfteter, was die Suche nach dem Minimumerschwert.Fehlerfunktion Err(W )) und gehen entgegendem Gradienten nach unten, bis einMinimum erreicht ist. Err(W ) ist auf derMenge sämtlicher Gewichte definiert, diewir hier als Vektor W ansehen. Es wird alsoversucht, den Fehler zu verringern bzw.zu minimieren, indem man, salopp gesagt,an den Gewichten dreht – man bekommtalso Informationen darüber, wie man dieGewichte verändern soll (die Veränderungaller Gewichte bezeichnen wir mit ∆W ),indem man die Fehlerfunktion Err(W )nach diesen ableitet:−2−101w2∆W ∼ −∇Err(W ). (5.1)Aufgrund dieser Proportionalität gibt eseine Proportionalitätskonstante η, so dassGleichheit gilt (η wird bald noch eine weitereBedeutung und wirklich praktischen2∆W = −η∇Err(W ). (5.2)Die Ableitung der Fehlerfunktion nach denGewichten schreiben wir jetzt als normalepartielle Ableitung nach einem Gewichtw i,Ω (es gibt nur variable Gewichte zu AusgabeneuronenΩ), um damit rechnerischetwas mehr anfangen zu können. Wir drehenalso an jedem einzelnen Gewicht undschauen, wie sich die Fehlerfunktion dabeiändert, leiten also die Fehlerfunktion nacheinem Gewicht w i,Ω ab und erhalten so dieInformation ∆w i,Ω , wie wir dieses Gewichtverändern sollen.∆w i,Ω = −η ∂Err(W )∂w i,Ω. (5.3)Nun stellt sich langsam die Frage: Wieist denn genau unsere Fehlerfunktion definiert?Es ist schlecht für uns, wenn sich vieleErgebnisse fern der gewünschten finden,die Fehlerfunktion sollte dann also großeWerte liefern – auf der anderen Seite ist esauch nicht gut, wenn viele Ergebnisse naheder gewünschten sind, es aber vielleichteinen sehr weit entfernten Ausreißer gibt.Es bietet sich also der Quadratische Abstandzwischen dem Ausgabevektor y unddem Teaching Input t an, der uns den fürein Trainingsbeispiel p spezifischen FehlerErr p über die Ausgabe aller OutputneuroneΩ liefert:Err p (W ) = 1 2∑(t p,Ω − y p,Ω ) 2 . (5.4)Ω∈O78 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.2 Delta-RegelWir quadrieren also die Differenzen derKomponenten der Vektoren t und y untereinem Muster p und summieren diese Quadrateauf. Die Fehlerdefinition Err und damitdie der Fehlerfunktion Err(W ) ergibtsich dann einfach durch die Aufsummierungder spezifischen Fehler Err p (W ) allerMuster p:Err(W ) = ∑ p∈PErr p (W ) (5.5)Summe über alle p{ ⎛ }} ⎞{= 1 ∑⎝ ∑ (t p,Ω − y p,Ω ) 2 ⎠ .2p∈P Ω∈O} {{ }Summe über alle Ω(5.6)Bemerkung: Der aufmerksame Leser wirdsich natürlich fragen, woher denn in Gleichung5.4 auf der linken Seite der Faktor 1 2plötzlich kommt, und wo denn, da die Gleichungdem euklidischen Abstand so ähnlichsieht, die Wurzel geblieben ist. Beidesfolgt aus einfacher Pragmatik: Es geht nurum die Fehlerminimierung. Die Wurzelfunktionist monoton und sinkt mit ihremArgument, also können wir sie auch demRechen- und Implementationsaufwand zuliebeweglassen, da wir sie für die Minimierungnicht brauchen. Ebenso ist egal,ob wir den zu minimierenden Term durchden Vorfaktor 1 2halbieren: Ich darf alsomit 1 2multiplizieren – aus der reinen Faulheitheraus, damit es sich im weiteren Verlaufunserer Rechnungen gegen eine 2 herauskürzt.Nun wollen wir fortfahren, die Delta-Regelfür lineare Aktivierungsfunktionen herzuleiten.Wir haben bereits behandelt, dassman etwas an den einzelnen Gewichtenw i,Ω dreht und schaut, wie sich der FehlerErr(W ) verändert – was der Ableitungder Fehlerfunktion Err(W ) nach eben diesemGewicht w i,Ω entspricht. Diese Ableitungentspricht (da sich der GesamtfehlerErr(W ) aus der Summe der spezifischenFehler ergibt) der Summe der Ableitungenaller spezifischen Fehler Err p nach diesemGewicht:∆w i,Ω = −η ∂Err(W )∂w i,Ω(5.7)= ∑ p∈P−η ∂Err p(W )∂w i,Ω. (5.8)An dieser Stelle möchte ich noch einmaldarüber nachdenken, wie ein <strong>Neuronale</strong>sNetz denn Daten verarbeitet. Im Grundewerden die Daten nur durch eine Funktiongeschickt, das Ergebnis der Funktiondurch eine weitere und so weiter und sofort. Lassen wir die Outputfunktion einmalaußen vor, so besteht der Weg vonNeuronenausgaben o i1 und o i2 , die vonNeuronen i 1 und i 2 in ein Neuron Ω eingegebenwerden, zunächst aus der Propagierungsfunktion(hier gewichtete Summe),aus der wir dann die <strong>Netze</strong>ingabe erhalten:o i1 , o i2 → f prop⇒ f prop (o i1 , o i2 )= o i1 · w i1 ,Ω + o i2 · w i2 ,Ω= net ΩDiese wird dann durch die Aktivierungsfunktiondes Neurons Ω geschickt, so dasswir den Output dieses Neurons erhalten,D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 79


Kapitel 5 Das Perceptrondkriesel.comder auch gleichzeitig eine Komponente desAusgabevektors y ist:net Ω → f act= f act (net Ω )= o Ω= y Ω .uns: Da Ω Ausgabeneuron, gilt o p,Ω =y p,Ω ). Ist der Output dem Teaching Inputnäher, so ist der spezifische Fehler kleiner.Wir können also das eine durch das andereersetzen, wobei wir diese Differenz auchδ p,Ω nennen (daher hat die Delta-Regel ihrenNamen):Wie wir sehen, resultiert dieser Output ausvielen ineinander geschachtelten Funktionen:o Ω = f act (net Ω ) (5.9)= f act (o i1 · w i1 ,Ω + o i2 · w i2 ,Ω). (5.10)∂Err p (W )∂w i,Ω= −(t p,Ω − o p,Ω ) · ∂o p,Ω∂w i,Ω(5.12)= −δ p,Ω · ∂o p,Ω∂w i,Ω(5.13)Dass wir den Output auch bis in dieEingabeneurone aufschlüsseln können, istklar (das ist hier nicht notwendig, dadiese bei einem SLP keine Informationsverarbeitungbetreiben). Wir wollen alsodie Ableitungen von Gleichung 5.8 aufder vorangehenden Seite durchführen undkönnen durch die Funktionsschachtelungdie Kettenregel anwenden, um die in Gleichung5.8 auf der vorangehenden Seite enthalteneAbleitung ∂Errp(W )∂w i,Ωzu zerlegen.∂Err p (W )= ∂Err p(W )· ∂o p,Ω. (5.11)∂w i,Ω ∂o p,Ω ∂w i,ΩBetrachten wir den ersten multiplikativenFaktor der obigen Gleichung 5.11,der die Ableitung des spezifischen FehlersErr p (W ) nach dem Output darstellt, alsodie Veränderung des Fehlers Err p mit demOutput o p,Ω : Es ist bei Betrachtung vonErr p (Gleichung 5.4 auf Seite 78) klar, dassdiese Veränderung sich genau mit der Differenzzwischen Teaching Input und Ausgabe(t p,Ω − o p,Ω ) verändert (wir erinnernDer zweite multiplikative Faktor der Gleichung5.11 und der folgenden ist die Ableitungdes Outputs des Neurons Ω zumMuster p nach dem Gewicht w i,Ω . Wieverändert sich also o p,Ω bei der Veränderungdes Gewichts von i nach Ω? Da wirnach der Forderung am Anfang der Herleitungnur eine lineare Aktivierungsfunktionf act haben, können wir genauso gut dieVeränderung der <strong>Netze</strong>ingabe bei Veränderungvon w i,Ω betrachten:∂Err p (W )∂w i,Ω= −δ p,Ω · ∂ ∑ i∈I (o p,iw i,Ω )∂w i,Ω.(5.14)∑Diese Ableitung ∂ i∈I (o p,iw i,Ω )∂w i,Ωkönnen wirnun vereinfachen: Die abzuleitende Funktion∑ i∈I (o p,iw i,Ω ) besteht aus vielen Summanden,und nur der Summand o p,i w i,Ωenthält die Variable w ∑ i,Ω , nach der wir ableiten.Es gilt also ∂ i∈I (o p,iw i,Ω )∂w i,Ω= o p,iund damit:80 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.2 Delta-Regel∂Err p (W )∂w i,Ω= −δ p,Ω · o p,i (5.15)= −o p,i · δ p,Ω . (5.16)Dies setzen wir in die Gleichung 5.8 aufSeite 79 ein und erhalten so unsere Modifikationsregelfür ein Gewicht w i,Ω :∆w i,Ω = η · ∑o p,i · δ p,Ω . (5.17)p∈PAllerdings: Wir haben die Herleitungschon von Anfang an als Offline-Regel begonnen,indem wir uns Gedanken gemachthaben, wie wir die Fehler aller Muster aufsummierenund jeweils nach der Präsentationaller Muster lernen. Dies ist der mathematischkorrekte Weg, aber aufwändigerzu implementieren und, wie wir späterin diesem Kapitel sehen werden, auchteilweise rechenaufwändiger während desTrainings.Für die ”Online-Learning-Version“ derDelta-Regel wird die Aufsummierung einfachweggelassen und direkt nach derPräsentation jedes Musters gelernt, wasuns auch die Schreibweise vereinfacht (siemuss nicht mehr auf ein Muster p bezogensein):∆w i,Ω = η · o i · δ Ω . (5.18)Diese Version der Delta-Regel möchte ichauch für die folgende Definition verwenden.Definition 5.6 (Delta-Regel): Bestimmenwir analog zu obiger Herleitung, dass dieFunktion h aus der Hebb-Regel (Gleichung4.6 auf Seite 67) nur den Ausgabewerto i des Vorgängerneurons i wieder ausgibtund die Funktion g die Differenz vongewünschter Aktivierung t Ω und tatsächlicherAktivierung a Ω ist, so erhalten wir dieDelta-Regel, auch bekannt als Widrow-Hoff-Regel:∆w i,Ω = η · o i · (t Ω − a Ω ) = ηo i δ Ω (5.19)Wenn man als Teaching Input diegewünschte Ausgabe anstatt Aktivierunganlegt, die Ausgabefunktion der Outputneuronealso keine Identität darstellt,erhält man∆w i,Ω = η · o i · (t Ω − o Ω ) = ηo i δ Ω (5.20)und δ Ω entspricht dann der Differenz zwischent Ω und o Ω .Bemerkung: Bei der Delta-Regel ist dieGewichtsänderung aller Gewichte zu einemAusgabeneuron Ω proportional⊲ zur Differenz der aktuellen Aktivierungbzw. Ausgabe a Ω bzw. o Ω unddem dazugehörigen Teaching Inputt Ω . Diesen Faktor möchten wir δ Ωnennen, er wird auch Delta“ gesprochen.”Offensichtlich gilt die Delta-Regel jedochnur für SLPs, da sich die Formel immer aufden Teaching Input bezieht und für innereVerarbeitungsschichten von Neuronen keinTeaching Input existiert.◭δDelta-Regelnur für SLPD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 81


Kapitel 5 Das Perceptrondkriesel.comEin. 1 Ein. 2 Ausgabe0 0 00 1 11 0 11 1 0Tabelle 5.1: Definition des logischen XORs.Links die Eingabewerte, rechts die definierteAusgabe.5.3 Ein SLP kann nur linearseparierbare Datenrepräsentieren i 1 i 2w i1 ,Ω w i2 ,Ω ΩXOR?Abbildung 5.6: Skizze für ein Singlelayerperceptron,welches die XOR-Funktion darstellen soll –solch ein SLP kann es aber nicht geben.Sei f die XOR-Funktion, welche zweibinäre Eingaben erwartet und eine binäreAusgabe erzeugt (genaue Definition sieheTabelle 5.1).Versuchen wir, durch ein SLP mit zweiEingabeneuronen i 1 , i 2 und einem AusgabeneuronΩ die XOR-Funktion darzustellen(Abb. 5.6).Wir verwenden hier die gewichtete Summeals Propagierungsfunktion, eine binäreAktivierungsfunktion mit Schwellenwert Θund die Identität als Ausgabefunktion. Ωmuss also in Abhängigkeit von i 1 und i 2den Wert 1 ausgeben, wenn gilt:net Ω = o i1 w i1 ,Ω + o i2 w i2 ,Ω ≥ Θ Ω (5.21)Gehen wir von einem positiven Gewichtw i2 ,Ω aus, so ist Ungleichung 5.21 äquivalentzu der Ungleichungo i1 ≥ 1 (Θ Ω − o i2 w i2 ,Ω) (5.22)w i1 ,ΩBei konstantem Schwellenwert Θ Ω stelltder rechte Teil der Ungleichung 5.22 eineGerade durch ein von den möglichen Ausgabeno i1 und o i2 der Eingabeneurone i 1und i 2 aufgespanntes Koordinatensystem(Abb. 5.7 auf der rechten Seite) dar.Für ein (wie für Ungleichung 5.22 gefordertes)positives w i2 ,Ω feuert das AusgabeneuronΩ bei den Eingabekombinationen,welche über der erzeugten Geradenliegen. Für ein negatives w i2 ,Ω würdees für alle Eingabekombinationen feuern,welche unter der Geraden liegen. Es seiangemerkt, dass nur die vier Eckpunktedes Einheitsquadrates mögliche Eingabensind, da die XOR-Funktion nur binäre Eingabenkennt.Um das XOR-Problem zu lösen, müssenwir also die Gerade so drehen und verschieben,dass sie die Eingabemenge A =82 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.3 Lineare SeparierbarkeitAbbildung 5.8: Lineare Separierung von n = 3Eingaben von Inputneuronen i 1 , i 2 und i 3 durch2-dimensionale Ebene.{(0, 0), (1, 1)} von der Eingabemenge B ={(0, 1), (1, 0)} abgrenzt - was offensichtlichnicht möglich ist.Abbildung 5.7: Lineare Separierung von n = 2Eingaben von Inputneuronen i 1 und i 2 durch 1-dimensionale Gerade. A und B bezeichnen dieZugehörigkeit der Eckpunkte zu den zu separierendenMengen der XOR-Funktion.Allgemein lassen sich die Eingabemöglichkeitenn vieler Eingabeneurone in einem n-dimensionalen Würfel darstellen, der voneinem SLP durch eine (n−1)-dimensionaleHyperebene separiert wird (Abb. 5.8) –nur Mengen, die durch eine solche Hyperebenetrennbar, also linear separierbarsind, kann ein SLP klassifizieren.Bemerkung: Es spricht leider viel dafür,dass der Prozentsatz der linear separierbarenProbleme mit steigendem n schnellabnimmt (siehe Tabelle 5.2 auf der folgendenSeite), was die Funktionalität des SL-Ps einschränkt – weiterhin sind Prüfungenauf lineare Separierbarkeit schwierig. FürSLP kannnicht allesWenige Aufg.linearseparierbarD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 83


Kapitel 5 Das Perceptrondkriesel.comnAnzahlbinärerFunktionendavon lin.separierbarAnteil1 4 4 100%2 16 14 87.5%3 256 104 40.6%4 65, 536 1, 772 2.7%5 4.3 · 10 9 94, 572 0.002%6 1.8 · 10 19 5, 028, 134 ≈ 0% 1 1 1 1.5 1 −2 0.5Tabelle 5.2: Anzahl der Funktionen bezüglichn binärer Eingaben und Anzahl und Anteil derdavon linear separierbaren Funktionen. Nach[Zel94, Wid89, Was89].XORAbbildung 5.9: <strong>Neuronale</strong>s Netz, welches dieXOR-Funktion realisiert. Schwellenwerte stehen(soweit vorhanden) innerhalb der Neurone.Mehr Ebenenschwierigere Aufgaben mit mehr Eingabenbenötigen wir also etwas Mächtigeres alsdas SLP.Beispiel: Das XOR-Problem stellt schoneine dieser Aufgaben dar, braucht dochein Perceptron, dass die XOR-Funktionrepräsentieren will, bereits eine verdeckteEbene (Abb. 5.9).5.4 Ein Multilayerperceptronenthält mehr trainierbareGewichtsschichtenMächtiger als ein SLP ist ein Perceptronmit zwei oder mehr trainierbarenGewichtsschichten (Multilayerperceptronbzw. MLP genannt). Wie wir wissen, kannein Singlelayerperceptron den Inputraumdurch eine Hyperebene (bei zweidimensionalemInputraum eine Geraden) teilen.Ein zweistufiges Perceptron (2 trainierba-re Gewichtsschichten, 3 Schichten Neurone)kann konvexe Polygone klassifizieren,indem es diese Geraden weiterbehandelt,zum Beispiel in der Form ”erkenne Muster,die über Gerade 1, unter Gerade 2 undunter Gerade 3 liegen“. Wir haben alsobildlich gesprochen ein SLP mit mehrerenAusgabeneuronen genommen und ein weiteresSLP ”angehangen“ (oberer Teil derAbb. 5.10 auf Seite 86). Ein Multilayerperceptronstellt einen universellen Funktionsapproximatordar, wie aus demCybenko-Theorem hervorgeht [Cyb89].Eine weitere trainierbare Gewichtsschichtverfährt genauso, nur eben mit den konvexenPolygonen, die nun wieder durch eineGewichtsschicht aufeinander addiert, voneinanderabgezogen oder mit anderen Operationennachbearbeitet werden können(unterer Teil der Abb. 5.10 auf Seite 86).84 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.4 Das MultilayerperceptronAllgemein kann mathematisch bewiesenwerden, dass schon ein Multilayerperceptronmit einer Schicht versteckter Neuroneeine Funktion mit endlich vielen Unstetigkeitsstellensowie deren erste Ableitungbeliebig genau approximieren kann – leiderist der Beweis aber nicht konstruktiv,und so ist es uns selbst überlassen, die richtigeNeuronenanzahl und Gewichte zu finden.Im Folgenden möchten wir für verschiedeneMultilayerperceptrons eine Kurzschreibweiseverwenden, welche weite Verbreitungfindet: So ist ein zweistufiges Perceptronmit 5 Neuronen in der Eingabeschicht,3 Neuronen in der verstecktenSchicht und 4 Neuronen in der Ausgabeschichtein 5-3-4-MLP.Definition 5.7 (Multilayerperceptron):Perceptrons mit mehr als einer Schichtvariabel gewichteter Verbindungen bezeichnenwir als Multilayerperceptron(MLP). Ein n-Layer-Perceptron bzw. n-stufiges Perceptron hat dabei genau n variableGewichtsschichten und n + 1 SchichtenNeurone (die Retina lassen wir außerAcht), die Neuronenschicht 1 ist hierbeidie Schicht Eingabeneurone.n klassifizierbare Menge1 Hyperebene2 konvexes Polygon3 jede beliebige Menge4 auch jede beliebige Menge,also kein weiterer VorteilTabelle 5.3: Hier wird dargestellt, mit welchemPerceptron sich Mengen welcher Art klassifizierenlassen, wobei das n die Anzahl der trainierbarenGewichtsschichten darstellt.die Neuronenschichten, manche die Gewichtsschichten.Manche zählen die Retinahinzu, manche zählen die trainierbaren Gewichtsschichten.Manche zählen (aus welchenGründen auch immer) die Ausgabeneuronenschichtnicht mit. Ich habe hierdie Definition gewählt, die meiner Meinungnach am meisten über die Lernfähigkeitenaussagt – und werde sie hier auchkonsistent durchhalten. Nochmal zur Erinnerung:Ein n-stufiges Perceptron besitztgenau n trainierbare Gewichtsschichten.3-Schichten-MLP reichtausDa dreistufige Perceptrons durch Vereinigungund Schnitt beliebig vieler konvexerPolygone Mengen beliebiger Form klassifizierenkönnen, bringt uns eine weitere Stufefür Funktionsdarstellungen durch <strong>Neuronale</strong><strong>Netze</strong> keinen Vorteil mehr.Bemerkung: Vorsicht beim Literaturlesen:An der Schichtendefinition scheidensich die Geister. Manche Quellen zählenEine Zusammenfassung, welche Perceptronswelche Art von Menge klassifizierenkönnen, findet sich noch einmal in Tabelle5.3. Wir werden uns jetzt der Herausforderungwidmen, Perceptrons mit mehr alseiner Gewichtsschicht zu trainieren.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 85


Kapitel 5 Das Perceptrondkriesel.com i 1 i 2 h 1 h 2 h 3 Ω i 1 i 2 h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 ΩAbbildung 5.10: Wie wir wissen, repräsentiert ein SLP eine Gerade. Mit 2 trainierbaren Gewichtsschichtenkann man mehrere Geraden zu konvexen Polygonen zusammensetzen (oben). Unter Verwendungvon 3 trainierbaren Gewichtsschichten kann man mit mehreren Polygonen beliebige Mengenmodellieren (unten).86 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.5 Backpropagation of Error5.5 Backpropagation of Errorverallgemeinert dieDelta-Regel auf MLPsIm Folgenden möchte ich die Backpropagationof Error-Lernregel (Kurz:Backpropagation, Backprop oder auchBP) herleiten und näher erläutern, mitder man mehrstufige Perceptrons, welchesemilineare 3 Aktivierungsfunktionenbesitzen, trainieren kann. Binäre Schwellenwertfunktionenund sonstige nichtdifferenzierbareFunktionen werden nichtmehr unterstützt, das macht aber nichts:Wir haben ja gesehen, dass man die Fermifunktionbzw. den Tangens Hyperbolicusdurch einen Temperatur-Parameter Tder binären Schwellenwertfunktion beliebigannähern kann. Weitgehend werde ichder Herleitung nach [Zel94] bzw. [MR86]folgen – ich möchte aber noch einmal daraufhinweisen, dass das Verfahren bereitsfrüher von Paul Werbos in [Wer74] publiziertwurde, jedoch wesentlich wenigerLeser fand als in [MR86].Backpropagation ist ein Gradientenabstiegsverfahren(mit all den Stärken undSchwächen des Gradientenabstiegs), wobeidie Fehlerfunktion Err(W ) hier sämtlichen Gewichte als Argument entgegennimmt(Abb. 5.5 auf Seite 78) und diesedem Ausgabefehler zuordnet, also n-dimensional ist. Auf Err(W ) sucht mandurch Gradientenabstieg einen Punkt geringenoder gar geringsten Fehlers. Backpropagationtrainiert also wie die Delta-3 Semilineare Funktionen sind monoton und differenzierbar– aber im Allgemeinen nicht linear.Regel die Gewichte des <strong>Neuronale</strong>n <strong>Netze</strong>s– und genau die Delta-Regel bzw. ihreGröße δ i für ein Neuron i wird durch Backpropagationvon einer auf mehrere trainierbareGewichtsschichten erweitert.Regel (Gleichung 5.20 auf Seite 81). Waswir verallgemeinern müssen, ist, wie schonangedeutet, die Größe δ für jedes Neuron.Zunächst: Wo befindet sich das Neuron,für das wir ein δ errechnen wollen? Esliegt nahe, ein beliebiges inneres Neuronh zu wählen, welches eine Menge K vonVorgängerneuronen k sowie eine MengeL von Nachfolgerneuronen l besitzt, welcheebenfalls innere Neurone sind (SieheAbb. 5.11 auf der folgenden Seite). Es istdabei irrelevant, ob die Vorgängerneuronebereits die Eingabeneurone sind.Wir führen nun das gleiche Spiel wie beider Herleitung der Delta-Regel durch undspalten Funktionen durch die Kettenregel.Ich werde bei dieser Herleitung nicht ganzso ausführlich sein, das Prinzip ist aberIm Vorfeld sei definiert, dass sich die<strong>Netze</strong>ingabe der einzelnen Neurone idurch die gewichtete Summe ergibt. Weiterhinseien o p,i , net p,i etc. wie schon beiHerleitung der Delta-Regel definiert alsdie gewohnten o i , net i , etc. unter demEingabemuster p, welches wir zum Trainierenverwenden. Auch sei die Ausgabefunktionwieder die Identität, es gilt alsoo i = f act (net p,i ) für jedes Neuron i.Da es sich um eine Verallgemeinerung derDelta-Regel handelt, benutzen wir wiederdas gleiche Formelgerüst wie bei der Delta-Verallgemeinernvon δD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 87


Kapitel 5 Das Perceptrondkriesel.com . . . kw k,h Σf act h w h,l . . . lAbbildung 5.11: Skizze der Lage unseres Neuronsh im <strong>Neuronale</strong>n Netz. Es liegt in derSchicht H, Vorgängerschicht ist K, nachfolgendeSchicht ist L.dem der Delta-Regel ähnlich (die Unterschiedeliegen eben wie gesagt im verallgemeinertenδ). Wir leiten also zunächst dieFehlerfunktion Err nach einem Gewichtw k,h ab.∂Err(w k,h )∂w k,h= ∂Err∂net h} {{ }=−δ hKHL·∂net h∂w k,h(5.23)Der erste Faktor der Gleichung 5.23 ist−δ h , welches wir gleich noch betrachtenwollen. Der zweite Faktor der Gleichungträgt im Zähler die <strong>Netze</strong>ingabe, also diegewichtete Summe, so dass wir diese auchdirekt ableiten können. Es fallen wieder alleSummanden der Summe weg bis auf denjenigen,der w k,h enthält. Dieser Summandheißt w k,h ·o k . Leitet man diesen ab, bleibtalso der Output des Neurons k übrig:∂net h∂w k,h= ∂ ∑ k∈K w k,ho k∂w k,h(5.24)= o k (5.25)Wie versprochen, behandeln wir nun das−δ h der Gleichung 5.23, welches wir wiedermit der Kettenregel aufspalten:δ h = − ∂Err∂net h(5.26)= − ∂Err ∂o h·∂o h ∂net h(5.27)Die Ableitung des Outputs nach der<strong>Netze</strong>ingabe (der zweite Faktor in Gleichung5.27) kommt natürlich der Ableitungder Aktivierungsfunktion nach der<strong>Netze</strong>ingabe gleich:∂o h= ∂f act(net h )(5.28)∂net h ∂net h= f act ′ (net h ) (5.29)Analog leiten wir nun den ersten Faktor inGleichung 5.27 ab. Diese Stelle möge sichder Leser bitte gut durch den Kopf gehenlassen. Wir müssen uns hierfür nur klarmachen,dass die Ableitung der Fehlerfunktionnach dem Output einer inneren Neuronenschichtabhängig ist vom Vektor sämtlicher<strong>Netze</strong>ingaben der Nachfolgeschicht.Dies schlägt in Gleichung 5.30 zu Buche:− ∂Err∂o h= − ∂Err(net l=1, . . . , net l=L )∂o h(5.30)88 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.5 Backpropagation of ErrorNach der Definition der mehrdimensionalenKettenregel 4 folgt dann sofort die Gleichung5.31:− ∂Err∂o h= ∑ l∈L(− ∂Err · ∂net )l∂net l o h(5.31)Die Summe in Gleichung 5.31 besitztzwei Faktoren. Mit diesen Faktoren, summiertüber die Nachfolgeschicht L, wollenwir uns nun beschäftigen. Wir rechnenden zweiten Faktor in der folgenden Gleichung5.33 einfach aus:∑l∈L∂net l∂o h= ∂ ∑ h∈H w h,l · o h∂o h(5.32)= w h,l (5.33)Analog gilt für den ersten Faktor nach derDefinition unseres δ:Wir setzen nun ein:− ∂Err∂net l= δ l (5.34)⇒ − ∂Err∂o h= ∑ δ l w h,l (5.35)l∈LEine graphisch aufbereitete Version der δ-Verallgemeinerung mit allen Aufspaltungenfindet sich in Abbildung 5.12 auf derfolgenden Seite.Dem Leser wird bereits aufgefallen sein,dass einige Zwischenergebnisse umrahmtwurden. Umrahmt wurden genau die4 Ich bitte hierzu die einschlägige Analysis-Literaturzu Rate zu ziehen.Zwischenergebnisse, die in der Gewichtsveränderungvon w k,h einen Faktor ausmachen.Führt man die obigen Gleichungenmit den umrahmten Zwischenergebnissenzusammen, so ergibt sich die gesuchte Gewichtsänderung∆w k,h zu∆w k,h = ηo k δ h mit (5.36)δ h = f act(net ′ h ) · ∑(δ l w h,l )l∈L– natürlich nur für den Fall, dass h eininneres Neuron ist (sonst gibt es ja auchkeine Nachfolgeschicht L).Den Fall, dass h Ausgabeneuron ist, habenwir ja schon in der Herleitung der Delta-Regel behandelt. Insgesamt ergibt sich alsounsere Verallgemeinerung der Delta-Regel, genannt Backpropagation of Error,zu:∆w k,h {= ηo k δ h mitf′δ h = act (net h ) · (t h − y h ) (h außen)f act(net ′ h ) · ∑l∈L (δ lw h,l ) (h innen)(5.37)Im Unterschied zur Delta-Regel ist also dieBehandlung des δ, je nachdem, ob es sichbei h um ein Ausgabe- oder aber inneres(also verdecktes) Neuron handelt, verschieden:1. Ist h Ausgabeneuron, giltδ p,h = f ′ act(net p,h ) · (t p,h − y p,h )(5.38)Das Gewicht w k,h von k nach h wirdalso unter unserem Übungsmuster pproportional zu⊲ Lernrate η,D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 89


Kapitel 5 Das Perceptrondkriesel.comδ h− ∂Err∂net h∂o h∂net h− ∂Err∂o hf ′ act(net h )− ∂Err∂net l∑l∈L ∂net l∂o hδ l∂ ∑ h∈H w h,l·o h∂o hw h,lAbbildung 5.12: Graphische Darstellung der Gleichsetzungen (durch langgezogene Gleichzeichen)und Kettenregel-Aufspaltungen (durch Pfeile) im Rahmen der Herleitung von Backpropagation. DieBlätter des Baumes spiegeln die in der Herleitung umrahmten Endergebnisse aus der Verallgemeinerungdes δ wieder.90 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.5 Backpropagation of Error⊲ Ausgabe o p,k des Vorgängerneuronsk,⊲ Gradient der Aktivierungsfunktionan der Stelle der<strong>Netze</strong>ingabe des Nachfolgerneuronsf act(net ′ p,h )und⊲ Differenz aus Teaching Input t p,hund Ausgabe y p,h des NachfolgerneuronshTeach. Inputfür äußeregeändert. In diesem Fall arbeitetGew.-SchichtBackpropagation also auf zwei Neuronenschichten,der Ausgabeschichtmit dem Nachfolgerneuron h und derSchicht davor mit dem Vorgängerneuronk.2. Ist h inneres, verdecktes Neuron, sogiltδ p,h = f act(net ′ p,h ) · ∑(δ p,l · w h,l )l∈L(5.39)⊲ Gradient der Aktivierungsfunktionan der Stelle der<strong>Netze</strong>ingabe des Nachfolgerneuronsf ′ act(net p,h ),⊲ sowie, und hier liegt der Unterschied,aus der gewichteten Summeder Gewichtsveränderungenzu allen Neuronen, die h nachfolgen,∑ l∈L (δ p,l · w h,l )geändert.Definition 5.8 (Backpropagation): Fassenwir die Formeln 5.38 auf Seite 89 und 5.39zusammen, so erhalten wir folgende Gesamtformelfür Backpropagation (dieBezeichner p werden der Übersichtlichkeithalber weggelassen):∆w k,h {= ηo k δ h mitf′δ h = act (net h ) · (t h − y h ) (h außen)f act(net ′ h ) · ∑l∈L (δ lw h,l ) (h innen)(5.40)Rückwärtspropagierungfür innereSchichtenAn dieser Stelle sei ausdrücklicherwähnt, dass Backpropagation nunauf drei Schichten arbeitet. Hierbei istdas Neuron k der Vorgänger der zuändernden Verbindung mit dem Gewichtw k,h , das Neuron h der Nachfolgerder zu ändernden Verbindung,und die Neurone l liegen in derSchicht nach dem Nachfolgerneuron.Das Gewicht w k,h von k nach h wirdalso unter unserem Übungsmuster pproportional zu⊲ Lernrate η,⊲ Ausgabe des Vorgängerneuronso p,k ,Offensichtlich ist also, dass Backpropagationzunächst die hinterste Gewichtsschichtdirekt mit dem Teaching Input bearbeitetund sich anschließend ebenenweise unterBerücksichtigung der jeweils vorhergehendenGewichtsänderungen weiter nach vornarbeitet. Der Teaching Input hinterlässt alsoSpuren in sämtlichen Gewichtsschichten.Bemerkung: Ich beschreibe hier geradeden ersten Teil (Delta-Regel) und zweitenTeil von Backpropagation (VerallgemeinerteDelta-Regel auf mehr Schichten) in einemZug, was vielleicht der Sache, nichtjedoch der Forschung daran gerecht wird.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 91


Kapitel 5 Das Perceptrondkriesel.comBackproperweitertDelta-RegelDer erste Teil ist offensichtlich, das werdenwir gleich im Rahmen einer mathematischenSpielerei sehen. Zwischen dem erstenund zweiten, rekursiven Teil liegen jedochJahrzehnte an Entwicklungszeit und-arbeit, denn wie bei vielen bahnbrechendenErfindungen merkte man auch diesererst nach der Entwicklung an, wie einleuchtendsie eigentlich ist.5.5.1 Der mathematische Rückweg:Reduktion vonBackpropagation aufDelta-RegelWie oben erläutert, ist die Delta-Regel einSpezialfall von Backpropagation für einstufigePerceptrons und lineare Aktivierungsfunktionen– diesen Umstand möchteich hier kurz näher erläutern und dieDelta-Regel aus Backpropagation entwickeln,um das Verständnis für beide Regelnnoch etwas zu schärfen. Wir habengesehen, dass Backpropagation durch∆w k,h = ηo k δ h mitδ h ={f′act (net h ) · (t h − y h ) (h außen)f ′ act(net h ) · ∑l∈L (δ lw h,l ) (h innen)(5.41)definiert ist. Da wir sie nur für einstufigePerceptrons verwenden, fällt der zweiteTeil von Backpropagation (heller dargestellt)ersatzlos weg, wir erhalten also:∆w k,h = ηo k δ h mitδ h = f ′ act(net h ) · (t h − o h )(5.42)Weiterhin wollen wir nur lineare Aktivierungsfunktionenverwenden, so dass f ′ act(heller dargestellt) konstant ist. Konstantenlassen sich bekanntlich zusammenfassen,wir fassen also die konstante Ableitungf ′ act und die (mindestens pro Lernzykluskonstante) Lernrate η (auch hellerdargestellt) direkt in η zusammen. Es ergibtsich also:∆w k,h = ηo k δ h = ηo k · (t h − o h ) (5.43)Dies entspricht genau der Definition derDelta-Regel.5.5.2 Die Wahl der Lernrate hatenormen Einfluss auf denLernprozeßWie mittlerweile vielfach gesehen, ist dieGewichtsänderung in jedem Fall proportionalzur Lernrate η. Die Wahl von η ist alsosehr entscheidend für das Verhalten vonBackpropagation und allgemein für Lernverfahren.Definition 5.9 (Lernrate): Die Geschwindigkeitund Genauigkeit eines Lernverfahrensist immer steuerbar von und proportionalzu einer Lernrate, welche als η ge-schrieben wird.Bemerkung: Wird η zu groß gewählt, sosind die Sprünge auf der Fehlerfläche zugroß und es könnten z.B. enge Täler, alsogute Werte, einfach übersprungen werden,zudem bewegt man sich sehr unkontrolliertüber die Fehleroberfläche. DasWunschmittel ist also ein kleines η, wasaber einen riesigen, oft inakzeptablen Zeitaufwandmit sich bringen kann.Wie schnellwird gelernt?◭η92 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.5 Backpropagation of ErrorDie Erfahrung zeigt, dass gute Werte fürdie Lernrate im Bereich5.5.2.2 Verschiedene Schichten –verschiedene Lernraten0.01 ≤ η ≤ 0.9liegen. Die Wahl von η hängt maßgeblichvon Problem, Netz und Trainingsdaten ab,so dass man kaum praktische Wahlhilfengeben kann. Beliebt ist jedoch, mit einemrelativ großen η, z.B. 0.9, den Anfang desLernens zu machen und η dann langsambis auf z.B. 0.1 zu verringern, während füreinfachere Probleme η oft einfach konstantgehalten werden kann.5.5.2.1 Variation der Lernrate über dieZeitWeiteres Stilmittel beim Training kann einevariable Lernrate sein: Eine großeLernrate lernt am Anfang gut, aberspäter nicht mehr genau, eine kleinere istaufwändiger, lernt aber genauer. Also verringertman einmal oder mehrere Maledie Lernrate um eine Größenordnung –während des Lernvorgangs.Bemerkung: Ein beliebter Fehler (derobendrein noch auf den ersten Blick sehrelegant wirkt) ist, die Lernrate kontinuierlichsinken zu lassen: Hier kommt es sehrleicht vor, dass der Abfall der Lernrategrößer ist als die Steigung eines Hügels derFehlerfunktion, die wir gerade erklimmen– was zur Folge hat, dass wir an dieserSteigung einfach hängen bleiben. Lösung:Lieber wie beschrieben die Lernrate stufenweiseverringern.Je weiter man sich während des Lernvorgangesvon der Ausgabeschicht wegbewegt,um so langsamer lernt Backpropagation– es ist also eine gute Idee, für die Gewichtsschichtennahe der Eingabeschichteine größere Lernrate zu nehmen als fürdiejenigen nahe der Ausgabeschicht. DerUnterschied kann hier ruhig bis zu einerGrößenordnung betragen.5.5.3 Initialkonfiguration einesMultilayerperceptronsNachdem wir jetzt das LernverfahrenBackpropagation of Error behandelt habenund wissen, wie wir ein einmal vorhandenesNetz trainieren, ist es noch sinnvollzu betrachten, wie wir denn überhaupt anso ein Netz gelangen können.5.5.3.1 Anzahl der Schichten: Meistzwei oder 3Fangen wir mit dem trivialen Umstandan, dass ein Netz eine Schicht Inputneuroneund eine Schicht Outputneurone habensollte, was uns zu mindestens zwei Schichtenführt.Weiterhin benötigen wir, wie wir bereitswährend unserer Untersuchung der linearenSeparierbarkeit erfahren haben, mindestenseine versteckte Schicht Neurone,falls unser Problem nicht linear separierbarist (wie wir gesehen haben, ist daswahrscheinlich).D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 93


Kapitel 5 Das Perceptrondkriesel.comEs kann, wie schon gesagt, mathematischbewiesen werden, dass dieses MLP miteiner versteckten Neuronenschicht bereitsbeliebige Funktionen beliebig genau approximierenkann 5 – doch müssen wir nichtnur die Repräsentierbarkeit eines Problemsdurch ein Perceptron betrachten,sondern auch die Lernbarkeit. Repräsentierbarkeitbedeutet, dass ein Perceptroneine Abbildung grundsätzlich realisierenkann – Lernbarkeit bezeichnet aber, dasswir sie ihm auch beibringen können.Insofern zeigt uns die Erfahrung, dasszwei versteckte Neuronenschichten bzw.zwei trainierbare Gewichtsschichten fürdie Realisierung eines Problems sehr nützlichsein können, da viele Probleme zwardurchaus von einer versteckten Schicht repräsentiertwerden können, jedoch leidernur schwer lernbar sind.Zwei versteckte Schichten sind weiterhinein guter Wert, da man drei versteckteSchichten nur extrem selten benötigt –zudem erzeugt jede weitere Schicht auchweitere Nebenminima der Fehlerfunktion,in denen wir hängenbleiben können. Einerfolgversprechender Weg ist also zusammenfassend,es erst mit einer verstecktenSchicht zu probieren und wenn das nichtklappt, mit zweien.5 Achtung: Wir haben keine Aussage über die Neuronenanzahlin der versteckten Schicht gemacht,nur über die theoretische Möglichkeit.5.5.3.2 Anzahl der Neurone solltegetestet werdenDie Zahl der Neurone (abseits vonEingabe- und Ausgabeschicht, die Anzahlder Eingabe- und Ausgabeneurone ist jadurch die Problemstellung bereits fest definiert)entspricht grundsätzlich der Zahlder freien Parameter des zu repräsentierendenProblems.Da wir ja schon die Netzkapazität in Bezugauf Auswendiglernen oder eine zuungenaue Problemrepräsentation erforschthaben, ist klar, dass unser Ziel so wenigwie möglich, aber so viel wie nötig freieParameter sind.Wie wir aber auch wissen, gibt es keine Patentformel,wie viele Neurone zu verwendensind – die sinnvollste Herangehensweisebesteht also darin, zunächst mit wenigenNeuronen zu trainieren und so langeneue <strong>Netze</strong> mit mehr Neuronen zu trainieren,wie das Ergebnis noch signifikant verbessertund vor allem die Generalisierungsleistungnicht beeinträchtigt wird (Bottom-Up-Ansatz).5.5.3.3 Wahl der AktivierungsfunktionEin weiterer sehr wichtiger Parameter fürdie Informationsverarbeitungsweise eines<strong>Neuronale</strong>n <strong>Netze</strong>s ist die Wahl der Aktivierungsfunktion.Für die Inputneuronensteht die Aktivierungsfunktion jafest, da sie nicht informationsverarbeitendsind.94 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.5 Backpropagation of ErrorEine Frage, die man sich zunächst stellenkann, ist, ob man überhaupt in derversteckten und der Ausgabeschicht diegleiche Aktivierungsfunktion verwendenmöchte – niemand hindert uns daran, hierzu variieren. In aller Regel ist die Aktivierungsfunktionaber für alle verstecktenNeurone untereinander gleich, ebenso fürdie Outputneurone.Für Aufgaben der Funktionsapproximationhat es sich als sinnvoll erwiesen,als Aktivierungsfunktion der verstecktenNeurone den Tangens Hyperbolicus (linkerTeil der Abb. 5.13 auf der folgenden Seite)zu verwenden, während eine lineare Aktivierungsfunktionin der Ausgabe verwendetwird – letzteres ist unbedingt erforderlich,damit wir kein begrenztes Ausgabeintervallerzeugen. Da die Outputschichtim Gegensatz zur ebenfalls linearen InputschichtSchwellenwerte besitzt, ist sietrotzdem informationsverarbeitend. LineareAktivierungsfunktionen in der Ausgabekönnen aber auch für riesige Lernschrittesorgen, und dafür, dass man gute Minimain der Fehleroberfläche überspringt. Dieskann verhindert werden, indem man dieLernrate an der Ausgabeschicht auf sehrkleine Werte setzt.Für Aufgaben der Mustererkennung 6ist ein unbegrenztes Ausgabeintervallnicht unbedingt erforderlich. Verwendetman überall den Tangens Hyperbolicus, soist das Ausgabeintervall etwas größer. DieFermifunktion (rechter Teil der Abb. 5.136 Mustererkennung wird in der Regel als Spezialfallder Funktionsapproximation mit wenigen diskretenAusgabemöglichkeiten gesehen.auf der folgenden Seite) im Gegensatz zumTangens Hyperbolicus hat weit vor demSchwellenwert (wo ihr Ergebnis nahe 0 ist)kaum Möglichkeiten etwas zu lernen. Hierist allerdings wieder viel Ermessensspielraumbei der Wahl der Aktivierungsfunktiongegeben. Sigmoide Funktionen habenallgemein aber den Nachteil, dass sie weitweg von ihrem Schwellenwert kaum nochetwas lernen, wenn man das Netz nicht etwasmodifiziert.5.5.3.4 Gewichte sollten klein undzufällig initialisiert werdenDie Initialisierung der Gewichte ist nichtso trivial wie man vielleicht denken mag:Initialisiert man sie einfach mit 0, wirdgar keine Gewichtsänderung stattfinden.Initialisiert man sie alle mit demselbenWert, werden sie im Training immer gleichermaßengeändert. Die einfache Lösungdieses Problems nennt man SymmetryBreaking. So wird die Initialisierung derGewichte mit kleinen, zufälligen Wertenbezeichnet.Beispiel: Als Bereich für die Zufallswertekönnte man das Intervall [−0.5; 0.5] verwenden,jedoch ohne die Null oder Werte,die sehr nah bei Null liegen.Bemerkung: Diese Zufallsinitialisierunghat einen schönen Nebeneffekt, nämlichdass der Durchschnitt der <strong>Netze</strong>ingabenwahrscheinlich nahe 0 ist.ZufälligeStartgewichteD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 95


Kapitel 5 Das Perceptrondkriesel.comtanh(x)10.80.60.40.20−0.2−0.4−0.6−0.8−1Tangens Hyperbolicus−4 −2 0 2 4xf(x)10.80.60.40.20Fermi−Funktion mit Temperaturparameter−4 −2 0 2 4xAbbildung 5.13: Zur Erinnerung noch einmal die Darstellung des Tangens Hyperbolicus (links)und der Fermifunktion (rechts). Die Fermifunktion wurde um einen Temperaturparameter erweitert.Die ursprüngliche Fermifunktion ist hierbei dunkel herausgestellt, die Temperaturparameter bei denmodifizierten Fermifunktionen betragen von außen nach innen 1 2 , 1 5 , 110 und 125 .5.5.4 Backpropagation wurdevielfach erweitert und variiertauf der rechten Seite), indem jeder neuenGewichtsänderung immer ein Anteil dervorherigen Änderung hinzuaddiert wird:Backpropagation ist vielfach erweitert worden– viele dieser Erweiterungen kann maneinfach als optionale Features von Backpropagationimplementieren, um größerenTestspielraum zu haben. Ich möchte imfolgenden einige von ihnen kurz beschreiben.5.5.4.1 Momentum-TermAngenommen, wir fahren auf Skiern einensteilen Hang hinab – was hindert uns, amRande des Hangs zum Plateau sofort stehenzubleiben?Genau – der Schwung. DerMomentum-Term [RHW86b] sorgt beiBackpropagation dafür, dass der Schrittweiteeine Art Trägheitsmoment (Momentum)hinzugefügt wird (Abb. 5.14(∆ p w i,j ) jetzt = ηo p,i δ p,j + α · (∆ p w i,j ) vorherDiese Schreibweise dient natürlich nurdem besseren Verständnis; in der Regelwird, wie bereits durch den Zeitbegriff definiert,der Zeitpunkt des aktuellen Durchlaufsdurch (t) bezeichnet, der vorherigeDurchlauf wird dann durch (t − 1) gekennzeichnet,was man sukzessive fortführt.Wir kommen also zur formalen Definitiondes Momentum-Terms:Definition 5.10 (Momentum-Term): DieVariation von Backpropagation durch denMomentum-Term ist wie folgt definiert:∆w i,j (t) = ηo i δ j + α · ∆w i,j (t − 1) (5.44)Bemerkung: Wir beschleunigen also aufPlateaus (verhindert Quasi-Stillstand aufPlateaus) und bremsen auf zerklüftetenTrägheits-Moment96 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.5 Backpropagation of Error5.5.4.2 Flat Spot EliminationAbbildung 5.14: Wir möchten den Gradientenabstiegdurchführen wie ein Skifahrer seine Abfahrt,der wohl kaum sofort an der Grenze zumPlateau anhalten wird.Es ist zu beachten, dass sowohl beim TangensHyperbolicus sowie der Fermifunktiondie Ableitung außerhalb unmittelbarerNähe zu Θ fast 0 ist. Dieser Umstandführt dazu, dass sich Neurone nur schwerwieder aus den Grenzwerten der Aktivierung(flat spots) entfernen können, wasdie Lernzeit extrem verlängern kann. DiesemProblem kann durch Modifikation derAbleitung, z.B. Addition einer Konstanten(z.B. 0.1), begegnet werden, was als Flatspot elimination bezeichnet wird.Bemerkung: Interessant: Man hat auchschon mit Konstanten als Ableitungen Erfolgeerzielt [Fah88].Neuronefahren sichfest5.5.4.3 Second Order Backpropagationα◮Flächen (gegen Oszillationen). WeiterhinSecond Order Backpropagation nachkann man den Effekt der Trägheit überDavid Parker [Par87] verwendet auchden Vorfaktor α variieren, übliche Wer-den zweiten Gradienten, also die zweitete befinden sich zwischen 0.6 und 0.9. Außerdemmacht das Momentum den posi-mehrdimensionale Ableitung der Fehlerfunktion,um genauere Schätzungen dertiven Effekt möglich, dass unser Skifahrerin einem Minimum ein paar mal hin-korrekten ∆w i,j zu erhalten. Höhere Ableitungenverbessern die Schätzungen nurund herpendelt, und schlussendlich in demnoch selten. So braucht man weniger Trainingszyklen,diese sind aber weitaus re-Minimum landet. Leider tritt trotz desschönen Aussehens im eindimensionalenchenaufwändiger.der ansonsten seltene Fehler des Verlassensguter Minima durch den Momentum- gemeinen werden weitere Ableitungen (al-Bei Methoden höherer Ordnung im All-Term häufiger auf – so dass auch hier wiederkeine Patentlösung gegeben ist (wir mehrdimensional sind) verwendet. ErwarsoHessesche Matrizen, da die Funktionengewöhnen uns ja langsam an diese Aussage).Anzahl der Lernepochen, machen die eintungsgemäßreduzieren die Verfahren diezelnen Epochen aber signifikant rechenaufwändiger– so dass am Ende die Lern-D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 97


Kapitel 5 Das Perceptrondkriesel.comErr WD ◮zeit oft sogar länger ist als mit Backpropagation.5.5.4.4 QuickpropagationDas Lernverfahren Quickpropagation[Fah88] verwendet die zweite Ableitungder Fehlerfunktion und sieht die Fehlerfunktionlokal als eine Parabel an, derenScheitelpunkt wir analytisch bestimmenund wohin wir direkt springen. DiesesLernverfahren ist also ein Verfahren zweiterOrdnung. Es funktioniert natürlichnicht bei Fehleroberflächen, die nicht lokaldurch eine Parabel approximierbar sind(ob das der Fall ist, kann man natürlichnicht immer direkt sagen).5.5.4.5 Weight DecayBei der Modifikation Weight Decay (zuDeutsch: Dämpfung der Gewichte) vonPaul Werbos [Wer88] wird der Fehlerum einen Term erweitert, der große Gewichtebestraft. Der Fehler unter WeightDecayErr WDsteigt also nicht nur mit dem eigentlichenFehler, sondern auch mit dem Quadratder Gewichte – was zur Folge hat, dassdas Netz beim Lernen die Gewichte kleinhält.Err WD = Err + β · 1 ∑(w) 22w∈W} {{ }Bestrafung(5.45)Dies ist von der Natur inspiriert, in dersynaptische Gewichte ebenfalls nicht unendlichstark werden können. Klein gehalteneGewichte sorgen außerdem häufigdafür, dass die Fehlerfunktion wenigerstarke Schwankungen beinhaltet, wasdas Lernen einfacher und kontrolliertermacht.Der Vorfaktor 1 2ist wieder aus einfacherPragmatik heraus entstanden. Der Faktorβ regelt die Stärke der Bestrafung: Wertevon 0.001 bis 0.02 werden hier oft verwendet.5.5.4.6 Pruning / Optimal BrainDamageWenn wir das Weight Decay lange genugdurchgeführt haben und feststellen, dassbei einem Neuron im Eingabelayer alleNachfolgegewichte Null oder fast Null sind,können wir das Neuron entfernen, habenein Neuron und einige Gewichte verlorenund reduzieren so die Chance, dass dasNetz auswendig lernt. Dieser Vorgang wirdals Pruning ( Stutzen“) bezeichnet.”Solch ein Verfahren, unnötige Gewichteund Neurone zu detektieren und wegzustreichen,nennt sich Optimal BrainDamage [lCDS90]. Es sei hier nur kurzbeschrieben: Der Fehler pro Outputneuronsetzt sich hierbei aus zwei konkurrierendenTermen zusammen. Während dereine wie gewohnt die Differenz zwischenOutput und Teaching Input berücksichtigt,versucht der andere, ein Gewicht gegen0 zu ”pressen“. Wird ein Gewicht nunGewichteklein halten◭βNetzstutzen98 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.6 Das 8-3-8-Kodierungsproblem und verwandte Problemestark benötigt, um den Fehler zu minimieren,gewinnt der erste Term – ist diesnicht der Fall, gewinnt der zweite. Neurone,die nur Nullgewichte besitzen, könnenzum Schluss wieder gestutzt werden.Es gibt noch viele weitere Variationenvon Backprop bzw. ganze Bücher eigenshierüber – da mein Ziel aber ist, einenÜberblick über <strong>Neuronale</strong> <strong>Netze</strong> zu bieten,möchte ich hier nur die obigen als Anstoßzum Weiterlesen nennen.Es ist bei manchen dieser Erweiterungenoffensichtlich, dass sienicht nur bei FeedForward-<strong>Netze</strong>nmit Backpropagation-Lernverfahrenangewendet werden können.Wir haben nun Backpropagation und dieFeedForward-Topologie kennen gelernt –nun fehlt uns noch Erfahrung, wie wirein Netz aufbauen. Diese Erfahrung ist imRahmen dieser Arbeit natürlich nicht vermittelbar,und um ein wenig davon zu erwerben,empfehle ich nun, ein paar der Beispielproblemstellungenaus Abschnitt 4.6anzugehen.5.6 Das8-3-8-Kodierungsproblemund verwandte ProblemeDas 8-3-8-Kodierungsproblem ist ein Klassikerunter den Testtrainingsproblemenfür Multilayerperceptrons. Wir besitzenin unserem MLP eine Eingabeschicht vonacht Neuronen i 1 , i 2 , . . . , i 8 , eine Ausgabeschichtvon acht Neuronen Ω 1 , Ω 2 , . . . , Ω 8 ,und eine versteckte Schicht von drei Neuronen.Dieses Netz repräsentiert also eineFunktion B 8 → B 8 . Die Trainingsaufgabeist nun, dass, wenn in ein Neuron i j derWert 1 eingegeben wird, genau im NeuronΩ j der Wert 1 ausgegeben wird (es soll jeweilsnur ein Neuron aktiviert werden, diesführt uns zu 8 Trainingsbeispielen).Sie werden bei Analyse des trainierten <strong>Netze</strong>ssehen, dass das Netz mit den 3 verstecktenNeuronen eine Art Binärkodierungrepräsentiert und die obige Abbildungso möglich ist (mutmaßliche Trainingszeithierfür sind ≈ 10 4 Epochen).Wir haben mit unserem Netz also eine Maschinegebaut, die Daten kodiert und dieseanschließend wieder dekodiert.Analog hierzu kann man ein 1024-10-1024 Kodierungsproblem trainieren – dochgeht das auch effizienter? Kann es beispielsweiseein 1024-9-1024 oder ein 8-2-8-Kodierungsnetz geben?Ja, selbst das geht, da das Netz nicht aufbinäre Kodierungen angewiesen ist: Ein 8-2-8-Netz funktioniert also für unsere Problemstellung.Die Kodierung, die diesesNetz realisiert, ist allerdings schwieriger zudurchschauen (Abb. 5.15 auf der folgendenSeite) und es muss auch wesentlich längertrainiert werden.Ein 8-1-8-Netz funktioniert nicht mehr,da die Möglichkeit vorhanden sein muss,dass die Ausgabe eines Neurons von einemanderen ausgeglichen wird, und bei nureinem versteckten Neuron natürlich keinAusgleichsneuron vorhanden ist.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 99


Kapitel 5 Das Perceptrondkriesel.comÜbungsaufgabenAbbildung 5.15: Skizze der Funktionsweise derKodierung eines 8-2-8 <strong>Netze</strong>s. Die Punkte repräsentierendie Vektoren der Aktivierung derbeiden inneren Neuronen. Wie Sie sehen, lassensich durchaus Aktivierungsformationen finden,so dass jeder der Punkte durch eine Geradevom Rest der Punkte separierbar ist. Diese Separierungist im Bild für einen der Punkte exemplarischdurchgeführt.Aufgabe 8: Ein 2-15-15-2-MLP soll durchein MLP mit nur einer einzigen verdecktenSchicht, aber gleich vielen Gewichtenersetzt werden. Berechnen Sie, wievieleNeurone dieses Netz in seiner verdecktenSchicht hat. Hinweis: Vergessen Sie dasBIAS-Neuron nicht.Aufgabe 9: In Abb. 5.4 auf Seite 75 sehenSie jeweils ein kleines Netz für die BooleschenFunktionen AND und OR. SchreibenSie Tabellen, die sämtliche Berechnungsgrößenin den <strong>Neuronale</strong>n <strong>Netze</strong>n beinhalten(z.B. <strong>Netze</strong>ingabe, Aktivierungen, etc).Exerzieren Sie die vier möglichen Eingabender <strong>Netze</strong> durch und notieren Sie dieWerte dieser Größen für die jeweiligen Eingaben.Verfahren Sie in gleicher Weise fürXOR-Netz (Abb. 5.9 auf Seite 84).Aufgabe 10:1. Nennen Sie alle Booleschen FunktionenB 3 → B 1 , welche linear separierbarsind, bzw. charakterisieren Sie siegenau.2. Nennen Sie diejenigen, die es nichtsind, bzw. charakterisieren Sie sie genau.Aufgabe 11: Ein einfaches 2-1-Netz sollmittels Backpropagation of Error und η =0.1 mit einem einzigen Muster trainiertwerden. Prüfen Sie, ob der FehlerErr = Err p = 1 (t − y)22konvergiert und wenn ja, zu welchem Wert.Wie sieht die Fehlerkurve aus? Das Muster(p, t) sei definiert zu p = (p 1 , p 2 ) =100 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com5.6 Das 8-3-8-Kodierungsproblem und verwandte Probleme(0.3, 0.7) und t Ω = 0.4. Initialisieren Siedie Gewichte zufällig im Intervall [1; −1].Aufgabe 12: Ein einstufiges Perceptronmit zwei Inputneuronen, Biasneuron undbinärer Schwellenwertfunktion als Aktivierungsfunktiontrennt den zweidimensionalenRaum durch eine Gerade g in zwei Teile.Berechnen Sie für ein solches Perceptronanalytisch einen Satz Gewichtswerte,so dass die folgende Menge P der 6 Musterder Form (p 1 , p 2 , t Ω ) mit ε ≪ 1 richtigklassifiziert wird.P ={(0, 0, −1);(2, −1, 1);(7 + ε, 3 − ε, 1);(7 − ε, 3 + ε, −1);(0, −2 − ε, 1);(0 − ε, −2, −1)}Aufgabe 13: Berechnen Sie einmal undnachvollziehbar den Vektor ∆W sämtlicherGewichtsänderungen mit dem VerfahrenBackpropagation of Error mit η = 1.Gegeben Sei ein 2-2-1-MLP mit Biasneuron,das Muster sei definiert zup = (p 1 , p 2 , t Ω ) = (2, 0, 0.1).Die Initialwerte der Gewichte sollen bei allenGewichten, welche Ω als Ziel haben,1 betragen – sämtliche anderen Gewichtesollten den Initialwert 0.5 besitzen. Wasfällt an den Änderungen auf?D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 101


Kapitel 6Radiale BasisfunktionenRBF-<strong>Netze</strong> nähern Funktionen an, indem sie Gaußglocken strecken, stauchenund anschließend räumlich versetzt aufsummieren. Beschreibung ihrerFunktion und ihres Lernvorganges, Gegenüberstellung mitMultilayerperceptrons.Radiale Basisfunktionennetze (RBF-<strong>Netze</strong>) nach Poggio und Girosi [PG89]sind ein Paradigma <strong>Neuronale</strong>r <strong>Netze</strong>,welches deutlich später entstand als dasder Perceptrons. Sie sind wie Perceptronsschichtartig aufgebaute <strong>Netze</strong>, allerdingsin diesem Fall mit exakt drei Schichten,also nur einer einzigen Schicht versteckterNeurone.Wie Perceptrons besitzen die <strong>Netze</strong> einereine FeedForward-Struktur und Vollverknüpfungzwischen den Schichten, undauch hier trägt die Inputschicht nicht zurInformationsverarbeitung bei. Auch sinddie RBF-<strong>Netze</strong> wie MLPs universelle Funktionsapproximatoren.Bei allen Gemeinsamkeiten: Was unterscheidetdie RBF-<strong>Netze</strong> nun von den Perceptrons?Es ist die Informationsverarbeitungselbst bzw. die Berechnungsvorschrifteninnerhalb der Neurone, welche nichtin der Inputschicht liegen. Wir werden alsogleich eine bis jetzt völlig unbekannteArt Neurone neu definieren.6.1 Bestandteile und Aufbaueines RBF-<strong>Netze</strong>sWir wollen nun zunächst einige Begrifferund um die RBF-<strong>Netze</strong> erst umgangssprachlichbetrachten und danach definieren.Ausgabeneurone in einem RBF-Netz enthaltennur die Identität als Aktivierungsfunktionund eine gewichteteSumme als Propagierungsfunktion.Sie machen also nichts weiter, als alles,was in sie eingegeben wird, aufzusummierenund die Summe auszugeben.Versteckte Neurone heißen auch RBF-Neurone (so wie die Schicht, in der siesich befinden, auch RBF-Schicht genanntwird). Jedes versteckte Neuron103


Kapitel 6 Radiale Basisfunktionendkriesel.comEingabewiederlinearc◮Position imEingaberaumWichtig!Summiertnur auferhält als Propagierungsfunktion eineNorm, welche den Abstand zwischender Eingabe in das Netz und demsogenannten Ort des Neurons (Zentrum)errechnet. Diese wird in eineradiale Aktivierungsfunktion eingegeben,die die Aktivierung des Neuronsberechnet und ausgibt.Definition 6.1 (RBF-Eingabeneuron): DieDefinition und Darstellung ist identischmit der Eingabeneuron-Definition 5.1 aufSeite 72.Definition 6.2 (Zentrum eines RBF-Neurons):Das Zentrum c h eines RBF-Neurons h ist der Punkt im Eingaberaum,in dem das RBF-Neuron angesiedelt ist. Jenäher der Eingabevektor am Zentrumsvektoreines RBF-Neurons liegt, umso höherist in der Regel seine Aktivierung.Definition 6.3 (RBF-Neuron): Die sogenanntenRBF-Neurone h besitzen einePropagierungsfunktion f prop , welcheden Abstand zwischen dem Zentrum c heines Neurons und dem Eingabevektory feststellt. Dieser Abstand repräsentiertdann die <strong>Netze</strong>ingabe. Die <strong>Netze</strong>ingabewird dann durch eine Radialbasisfunktionf act geschickt, welche die Aktivierungbzw. Ausgabe des Neurons ausgibt. RBF-Neurone werden durch das Symbol ||c,x||Gaußdargestellt.Definition 6.4 (RBF-Ausgabeneuron):RBF-Ausgabeneurone Ω besitzen diegewichtete Summe als Propagierungsfunktionf prop , und die Identität als Aktivierungsfunktionf act . Wir stellen sie durchdas Symbol Σ dar. Definition 6.5 (RBF-Netz):Netz besitzt exakt dreider folgenden Reihenfolge:schicht aus Eingabeneuronen,te Schicht (auch RBF-Schichtaus RBF-Neuronen und dieschicht aus RBF-Ausgabeneuronen.Schicht ist mit der nächstenShortCuts existieren nicht (Abb.der rechten Seite) – es handeltum eine reine FeedForward-Topologie.Verbindungen zwischen Eingabeschichtund RBF-Schicht sind ungewichtet,ten die Eingabe also nur weiter.bindungen zwischen RBF- undschicht sind gewichtet. DieDefinition eines RBF-<strong>Netze</strong>sauf nur ein Ausgabeneuron,den Perceptrons ist aber klar,dies verallgemeinern lässt. Einkennt das RBF-Netz nicht. WirMenge der Eingabeneurone mitge der versteckten Neurone mitMenge der Ausgabeneurone mitnen.Die inneren Neurone heißen daherBasisneurone, weil aus derenrekt folgt, dass alle Eingabevektoren,che den gleichen Abstand vomnes Neurons haben, auch dengabewert produzieren (Abb.106).Ein RBF-Schichten inDie Eingabe-die versteck-genannt)Ausgabe-Jedevollverknüpft,6.1 aufsich alsoDielei-Die Ver-Ausgabe-ursprünglichebezog sichanalog zudass sichBiasneuronwollen dieI, die Men-H und dieO bezeich-RadialeDefinition di-wel-Zentrum ei-gleichen Aus-6.2 auf Seite3 Schichten,FeedForward◭H104 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.1 Bestandteile und Aufbau ||c,x|| ||c,x|| ||c,x|| ||c,x|| ||c,x||GaußGauß Gauß GaußGauß Σ Σ Σi 1 , i 2 , . . . , i |I|h 1 , h 2 , . . . , h |H|Ω 1 , Ω 2 , . . . , Ω |O|Abbildung 6.1: Ein beispielhaftes RBF-Netz mit zwei Eingabeneuronen, fünf versteckten Neuronenund drei Ausgabeneuronen. Die Verbindungen zu den versteckten Neuronen besitzen keine Gewichte,sie leiten die Eingabe nur weiter. Rechts der Skizze ist die Benennung der Neurone zu finden, welchesich analog zu der bekannten Benennung der Neurone im MLP verhält: Inputneurone heißen i,versteckte Neurone h, Ausgabeneurone Ω. Die zugehörigen Mengen bezeichnen wir mit I, H undO.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 105


Kapitel 6 Radiale Basisfunktionendkriesel.comDie Ausgabewerte der verschiedenen Neuroneder RBF-Schicht bzw- der verschiedenenGaußglocken werden nun in der drittenSchicht aufsummiert: Faktisch werden,auf den ganzen Eingaberaum bezogen, alsoGaußglocken aufsummiert.Eingabe→ Abstand→ Gaußglocke→ Summe→ AusgabeAbbildung 6.2: Sei c h das Zentrum eines RBF-Neurons h. Dann liefert die Aktivierungsfunktionf acth für alle Eingaben, welche auf dem Kreisliegen, den gleichen Wert.6.2 Informationsverarbeitungeines RBF-<strong>Netze</strong>sDie Frage ist nun, was durch dieses Netzrealisiert wird und wo der Sinn liegt. Gehenwir doch einmal das RBF-Netz vonoben nach unten durch: Der Input wirddurch die ungewichteten Verbindungenin ein RBF-Neuron eingebracht. Diesesschickt den Inputvektor durch eine Norm,so dass ein Skalar herauskommt. DieserSkalar (der aufgrund der Norm übrigensnur positiv sein kann) wird durch eine RadialeBasisfunktion, also zum Beispiel eineGaußglocke (Abb. 6.3 auf der rechten Seite)verarbeitet.Stellen wir uns vor, wir haben ein zweites,drittes und viertes RBF-Neuron und daherinsgesamt vier unterschiedlich lokalisierteZentren. Jedes dieser Neurone misst nuneinen anderen Abstand von der Eingabezum eigenen Zentrum und liefert de factoselbst bei gleicher Gaußglocke andereWerte. Da diese zum Schluß in der Ausgabeschichtnur aufkumuliert werden, istleicht einsehbar, dass man durch Zerren,Stauchen und Verschieben von Gaußglockenund durch das anschließende Aufkumulierenjede beliebige Oberfläche modellierenkann. Die Entwicklungsterme für dieSuperposition der Gaußglocken liegen hierbeiin den Gewichten der Verbindungenvon RBF-Schicht zu Outputschicht.Die Netzarchitektur bietet weiterhin dieMöglichkeit, Höhe und Breite der Gaußglockenfrei zu bestimmen oder zu trainieren– was dieses Netzparadigma nochvielfältiger macht. Methoden und Vorgehensweisenhierzu werden wir noch kennenlernen.6.2.1 RBF-Neurone verarbeitenInformation durch Normenund RadialbasisfunktionenNehmen wir zunächst ein einfaches 1-4-1-RBF-Netz als Beispiel. Es ist hier klar,106 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.2 Informationsverarbeitung eines RBF-<strong>Netze</strong>sh(r)10.80.60.4Gauss−Glocke in 1D10.80.60.40.20h(r)Gauss−Glocke in 2D0.20−2 −1.5 −1 −0.5 0 0.5 1 1.5 2r−2−1x01−2−10y12Abbildung 6.3: Zwei einzelne Gaußglocken im Ein- und Zweidimensionalen. In beiden Fällen giltσ = 0.4 und in beiden Fällen ist das Zentrum der Gaußglocke im Nullpunkt. Der Abstand r zumZentrum (0, 0) berechnet sich schlicht aus dem Satz des Pythagoras: r = √ x 2 + y 2 .dass wir eine eindimensionale Ausgabe erhaltenwerden, die wir als Funktion darstellenkönnen (Abb. 6.4 auf der folgendenSeite). Das Netz besitzt weiterhin Zentrenc 1 , c 2 , . . . , c 4 der vier inneren Neuroneh 1 , h 2 , . . . , h 4 , und somit Gaußglocken, diezum Schluss im Ausgabeneuron Ω aufsummiertwerden. Das Netz besitzt auch vierWerte σ 1 , σ 2 , . . . , σ 4 , welche die Breite derGaußglocken beeinflussen. Die Höhe derGaußglocke wird hingegen von den nachfolgendenGewichten beeinflusst, da damitdie einzelnen Ausgabewerte der Glockenmultipliziert werden.Da wir eine Norm zum Berechnen des Abstandsdes Inputvektors zum Neuronenzentrumeines Neurons h verwenden, habenwir verschiedene Wahlmöglichkeiten:Oft wird der Euklidische Abstand zur Abstandsberechnunggewählt:r h = ||x − c h || (6.1)√ ∑= (x i − c h,i ) 2 (6.2)i∈IWir erinnern uns: Mit x haben wir den Eingabevektorbenannt. Hierbei durchläuftder Index i die Eingabeneurone und damitdie Komponenten des Eingabevektors unddes Neuronenzentrums. Wie wir sehen, bildetder Euklidische Abstand die Quadrateder Differenzen aller Vektorkomponenten,summiert sie auf und zieht aus der Summedie Wurzel, was im zweidimensionalendem Satz des Pythagoras gleich kommt.Bemerkung: Aus der Definition einerNorm folgt direkt, dass der Abstand nurpositiv sein kann, weswegen wir genaugenommenden positiven Teil der Aktivierungsfunktionverwenden. Übrigens sindauch andere Aktivierungsfunktionen alsD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 107


Kapitel 6 Radiale Basisfunktionendkriesel.com1.41.210.80.6y0.40.20−0.2−0.4−0.6−2 0 2 4 6 8xAbbildung 6.4: Vier verschiedene durch RBF-Neurone gebildete Gaußglocken im Eindimensionalenwerden von einem Outputneuron des RBF-<strong>Netze</strong>s aufsummiert. Die Gaußglocken haben verschiedeneHöhen, Breiten und Orte. Die Zentren c 1 , c 2 , . . . , c 4 lagen bei 0, 1, 3, 4, die Breiten σ 1 , σ 2 , . . . , σ 4bei 0.4, 1, 0.2, 0.8. Ein Beispiel für den zweidimensionalen Fall findet sich in Abb. 6.5 auf der rechtenSeite.Nachdem wir nun den Abstand r h des In-putvektors x zum Zentrum ch des RBF-Neurons h kennen, muss dieser Abstanddurch die Aktivierungsfunktion f act geschicktwerden – wir verwenden hier, wieschon gesagt, eine Gaußglocke:( )r h ◮die Gaußglocke möglich, in aller Regel werdenFunktionen gewählt, die im Intervall[0; ∞] monoton abfallen.f act (r h ) = e−r 2 h2σ 2 h(6.3)Bemerkung (zur Nomenklatur): Es istklar, dass sowohl Zentrum c h als auchdie Breite σ h als Bestandteil der Aktivierungsfunktionf act gesehen werden könnenund nach dieser Ansicht die Aktivierungsfunktionennicht alle mit f act bezeichnetwerden dürften. Eine Lösung wäre, dieAktivierungsfunktionen nach dem Musterf act1 , f act2 , . . . , f act|H| mit H als Mengeder versteckten Neurone durchzunummerieren– was die Erklärungen aber unübersichtlichmacht. Insofern verwende ich einfachfür alle Aktivierungsfunktionen dieBezeichnung f act und betrachte σ und cals Größen, die zwar für einzelne Neuronedefiniert, aber nicht direkt in der Aktivierungsfunktionenthalten sind.Bemerkung: Dem Leser fällt bestimmtauf, dass die Gaußglocke bei ihren vielenVerwendungen in anderer Literatur oft108 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.2 Informationsverarbeitung eines RBF-<strong>Netze</strong>s1.5 2 h(r)0.5 1−0.5 0−1Gaussglocke 11.5 2 h(r)0.5 1−0.5 0−1Gaussglocke 2−2−1x01−2−101y2−2−1x01−2−101y21.5 2 h(r)0.5 1−0.5 0−1Gaussglocke 31.5 2 h(r)0.5 1−0.5 0−1Gaussglocke 4−2−1x01−2−101y2−2−1x01−2−101y2 ||c,x|| ||c,x|| ||c,x|| ||c,x||GaußGaußGaußGauß Σ21.751.51.2510.750.50.250−0.25−0.5−0.75−1Aufsummierung der 4 Gaussglocken−2−1.5−1x−0.500.511.52 −2−1.5−1−0.500.5y11.52Abbildung 6.5: Vier verschiedene durch RBF-Neurone gebildete Gaußglocken im Zweidimensionalenwerden von einem Outputneuron des RBF-<strong>Netze</strong>s aufsummiert. Für den Abstand gilt wiederr = √ x 2 + y 2 . Die Höhen w, Breiten σ und Zentren c = (x, y) sind: w 1 = 1, σ 1 = 0.4, c 1 =(0.5, 0.5), w 2 = −1, σ 2 = 0.6, c 2 = (1.15, −1.15), w 3 = 1.5, σ 3 = 0.2, c 3 = (−0.5, −1),w 4 = 0.8, σ 4 = 1.4, c 4 = (−2, 0).D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 109


Kapitel 6 Radiale Basisfunktionendkriesel.commit einem multiplikativen Faktor versehenwird – aufgrund der sowieso vorhandenenMultiplikation durch die nachfolgendenGewichte und der Aufwiegbarkeit vonKonstantenmultiplikationen brauchen wirdiesen Faktor jedoch hier nicht (zumal dasIntegral der Gaußglocke für unsere Zweckenicht immer 1 sein darf) und lassen ihn dahereinfach weg.6.2.2 Einige analytische Gedankenim Vorfeld zum TrainingDie Ausgabe y Ω eines RBF-Ausgabeneurons Ω ergibt sich also,indem wir die Funktionen einesRBF-Neurons zusammensetzen zuy Ω = ∑ h∈Hw h,Ω · f act (||x − c h ||) . (6.4)Nehmen wir an, wir besitzen wie beimMultilayerperceptron eine Menge P , die|P | viele Trainingsbeispiele (p, t) enthält.Dann erhalten wir |P | viele Funktionender Formy Ω = ∑ h∈Hw h,Ω · f act (||p − c h ||) , (6.5)6.2.2.1 Gewichte können einfach alsLösung eines Gleichungssystemsausgerechnet werdenWir sehen also, dass wir |P | viele Gleichungengegeben haben. Betrachten wirnun die Breiten σ 1 , σ 2 , . . . , σ k , die Zentrenc 1 , c 2 , . . . , c k und die Trainingsbeispiele psamt Teaching Input t als gegeben. Gesuchtsind die Gewichte w h,Ω , wovon es|H| Stück für ein einzelnes AusgabeneuronΩ gibt. Wir können unser Problem alsoals Gleichungssystem sehen, da das einzige,was wir im Moment verändern möchten,die Gewichte sind.Dies bringt uns dazu, eine Fallunterscheidungzu treffen bezüglich der Anzahl derTrainingsbeispiele |P | und der Anzahl derRBF-Neurone |H|:|P | = |H|: Ist die Zahl der RBF-Neuronegleich der Zahl der Muster, also |P | =|H|, so können wir die Gleichung aufeine MatrixmultiplikationT = M · G (6.6)⇔ M −1 · T = M −1 · M · G (6.7)⇔ M −1 · T = E · G (6.8)⇔ M −1 · T = G (6.9)Gewichteeinfachausrechnennämlich für jedes Trainingsbeispiel p eine.Das Ziel des Aufwands ist es natürlich wieder,die Ausgabe y für alle Trainingsmusterp gegen den zugehörigen Teaching Inputt gehen zu lassen.zurückführen, wobei⊲ T der Vektor der Teaching Inputsfür alle Trainingsbeispieleist,⊲ M die |P | × |H|-Matrix der◭T◭M110 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.2 Informationsverarbeitung eines RBF-<strong>Netze</strong>sG◮Ausgaben von allen |H| RBF-Neuronen zu |P | vielen Beispielen(Wir erinnern uns: |P | = |H|,die Matrix ist quadratisch unddaher invertierbar),⊲ G der Vektor der gewünschtenGewichte und⊲ E eine Einheitsmatrix passendE◮zu G.Wir können also die Gewichte mathematischgesehen einfach ausrechnen:Im Fall |P | = |H| haben wir pro Trainingsbeispielgenau ein RBF-Neuronzur Verfügung. Das heißt nichts anderes,als dass das Netz nach erfolgtemErrechnen der Gewichte die |P |vielen Stützstellen, die wir haben, exakttrifft, also eine exakte Interpolationdurchführt – für ein solchesGleichungs-Ausrechnen benötigen wiraber natürlich kein RBF-Netz, so dasswir zum nächsten Fall übergehen wollen.Bemerkung: Exakte Interpolationist nicht mit dem bei den MLPserwähnten Auswendiglernen zuverwechseln: Erstens reden wir imMoment noch gar nicht über dasTrainieren von RBF-<strong>Netze</strong>n, zweitenskann es auch sehr gut für uns unddurchaus gewollt sein, wenn dasNetz zwischen den Stützstellen exaktinterpoliert.|P | < |H|: Das Gleichungssystem ist unterbestimmt,es existieren mehr RBF-Neurone als Trainingsbeispiele, also|P | < |H|. Dieser Fall tauchtnatürlich normalerweise nicht sehroft auf. In diesem Fall gibt es eineLösungsvielfalt, die wir gar nicht imDetail brauchen: Wir können uns ausvielen offensichtlich möglichen Sätzenvon Gewichten einen auswählen.|P | > |H|: Für die weitere Betrachtungam interessantesten ist jedoch derFall, dass es signifikant mehr Trainingsbeispielegibt als RBF-Neurone,also gilt |P | > |H| – wir wollen alsowieder die Generalisierungsfähigkeitder <strong>Neuronale</strong>n <strong>Netze</strong> nutzen.Wenn wir viel mehr Trainingsmusterals RBF-Neurone haben, können wirfairerweise nicht mehr davon ausgehen,dass jedes Trainingsmuster exaktgetroffen wird. Wenn wir die Punktealso nicht exakt treffen könnenund daher auch nicht nur interpolierenkönnen wie im obigen Idealfall|P | = |H|, so müssen wir versuchen,eine Funktion zu finden, dieunsere Trainingsmenge P so genauwie möglich approximiert: Wir versuchenwie beim MLP, die Summe derFehlerquadrate auf ein Minimum zureduzieren.Wie fahren wir also im Fall |P | > |H|mit der Berechnung fort? Wie obenmüssen wir, um das Gleichungssystemzu lösen, eine MatrixmultiplikationT = M · G (6.10)mit einer Matrix M lösen. Problemist aber, dass wir die |P | × |H|-D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 111


Kapitel 6 Radiale Basisfunktionendkriesel.comM + ◮Matrix M dieses mal nicht invertierenkönnen, weil sie nicht quadratischist (es gilt |P | ≠ |H|). Hiermüssen wir also, um überhaupt weiterzukommen,die Moore-Penrose-Pseudoinverse mitM + = (M T · M) −1 · M T (6.11)verwenden. Die Moore-Penrose-Pseudoinverse ist nicht die Inverseeiner Matrix, kann aber in diesemFall so verwendet werden 1 . Wirerhalten Gleichungen, die denen imFall |P | = |H| sehr ähnlich sind:T = M · G (6.12)⇔ M + · T = M + · M · G (6.13)⇔ M + · T = E · G (6.14)⇔ M + · T = G (6.15)Ein weiterer Hauptgrund für dieVerwendung der Moore-Penrose-Pseudoinversen ist hier, dass sie diequadratische Abweichung minimiert(was unser Ziel ist): Die Schätzungdes Vektors G in Gleichung 6.15entspricht dem aus der Statistikbekannten Gauß-Markov-Modellzur Minimierung des quadratischenFehlers.Bemerkung: In den obigen Gleichungen6.11 und folgenden sei das T inM T (der transponierten Matrix M)bitte nicht mit dem T des Vektors allerTeaching Inputs zu verwechseln.1 Insbesondere gilt M + = M −1 , falls M invertierbar.Auf die Begründung für diese Umstände undVerwendungsmöglichkeiten von M + möchte ichhier nicht weiter eingehen – diese sind aber in derLinearen Algebra einfach zu finden.6.2.2.2 Die Verallgemeinerung aufmehrere Ausgaben ist trivialund wenig rechenintensivWir haben also jeweils einen mathematischexakten Weg gefunden, die Gewichtedirekt zu errechnen. Was passiert nun beimehreren Ausgabeneuronen, also |O| > 1,wobei O wie gewohnt die Menge der AusgabeneuroneΩ ist?In diesem Fall ändert sich, wie wir schonangedeutet haben, nicht viel: Diese weiterenAusgabeneurone haben ja einen eigenenSatz Gewichte, während wir die σ undc der RBF-Schicht nicht ändern. Für einRBF-Netz ist es also für gegebene σ und ceinfach, sehr viele Outputneurone zu realisieren,da wir nur für jedes neue OutputneuronΩ einzeln den Vektor der zu ihmführenden GewichteG Ω = M + · T Ω (6.16)errechnen müssen, wobei die sehraufwändig zu errechnende Matrix M +immer gleich bleibt: Das Hinzufügen vonmehr Ausgabeneuronen ist also, was dieBerechnungskomplexität angeht, rechtpreiswert.6.2.2.3 Berechnungsaufwand undGenauigkeitBei realistischen Problemstellungen gilt jedochin aller Regel, dass es wesentlichmehr Trainingsbeispiele als RBF-Neuronegibt, also |P | ≫ |H|: Man kann ohne weiteresden Wunsch haben, mit 10 6 Trainingsbeispielenzu trainieren. Wir können zwarAusgabedimensionpreiswert112 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.3 Training von RBF-<strong>Netze</strong>nM + aufwändigund ungenautheoretisch mathematisch korrekt an derTafel die Terme für die richtige Lösungfinden (in sehr sehr langer Zeit), die Berechnungam Computer erweist sich aberoft als ungenau und sehr zeitaufwändig(Matrixinversionen haben einen großen Rechenaufwand).Weiterhin ist unsere Moore-Penrose-Pseudoinverse, trotz numerischerStabilität, noch keine Garantie dafür,dass der Outputvektor dem Teachingvektorentspricht, da bei den aufwändigenBerechnungen sehr viele Ungenauigkeitenauftreten können, obwohl die Rechenwegemathematisch natürlich korrekt sind:Unsere Computer können uns diepseudoinversen Matrizen auch nurnäherungsweise liefern (wenn auchgute Näherungen). De facto erhaltenwir also auch nur eine Näherung derrichtigen Gewichte (womöglich mit vielenaufgeschaukelten Ungenauigkeiten) unddamit auch nur eine (vielleicht sehrgrobe oder gar unerkennbare) Näherungder Outputwerte an den gewünschtenOutput.Falls wir genug Rechenpower besitzen, umeinen Gewichtsvektor analytisch zu bestimmen,sollten wir ihn also auf jedenFall nur als Startwert für unseren Lernvorgangbenutzen, womit wir zu den wirklichenTrainingsverfahren kommen – abersonst wäre es ja auch langweilig, oder?6.3 Kombinationen ausGleichungssystem undGradientenverfahren sindzum Training sinnvollAnalog zum MLP führen wir also zumFinden passender Gewichte einen Gradientenabstiegdurch, und zwar über diebereits hinlänglich bekannte Delta-Regel.Backpropagation ist hier gar nicht notwendig,da wir nur eine einzige Gewichtsschichttrainieren müssen – ein Umstand,der sehr rechenzeitfreundlich ist.Wie wir wissen, lautet die Delta-Regel ansich∆w h,Ω = η · δ Ω · o h , (6.17)wobei wir in unserem Fall nun einsetzen:∆w h,Ω = η · (t Ω − y Ω ) · f act (||p − c h ||)(6.18)Ich möchte noch einmal ausdrücklich daraufhinweisen, dass es sehr beliebt ist, dasTraining in zwei Phasen zu unterteilen,indem man zunächst einen Gewichtssatzanalytisch berechnet und diesen mit derDelta-Regel nachtrainiert.Oft wird das Training sogar in drei Phasengegliedert: Es bleibt nämlich noch dieFrage zu klären, ob man offline oder onlinelernt. Hier kann man Ähnliches sagenwie bei Multilayerperceptrons: Es wird oftzunächst online gelernt (schnellere Bewegungüber die Fehleroberfläche). Anschließend,wenn man der Meinung ist, sichder Lösung zu nähern, werden in einerNachtrainingDelta-RegelTrainingin PhasenD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 113


Kapitel 6 Radiale Basisfunktionendkriesel.comσ und cvariierendritten Lernphase noch einmal die Fehleraufkumuliert und für eine noch genauereAnnäherung offline gelernt. Ähnlich wiebei den MLPs erreicht man aber hier mitvielen Methoden gute Erfolge.Wir haben aber schon angedeutet, dassman auch andere Dinge an einem RBF-Netz optimieren kann als nur die Gewichtevor der Outputschicht – betrachten wir alsoeinmal die Möglichkeiten, die σ und czu variieren.6.3.1 Zentren und Breiten vonRBF-Neuronen zu bestimmen,ist nicht immer trivialEs ist klar, dass man die Approximationsgenauigkeitvon RBF-<strong>Netze</strong>n erhöhenkann, indem man die Breiten und Positionender Gaußglocken im Inputraum an daszu approximierende Problem anpasst. Esgibt mehrere Methoden, mit den Zentrenc und Breiten σ der Gaußglocken zu verfahren:Feste Wahl: Die Zentren und Breitenkann man fest und ohne Rücksicht aufdie Muster wählen – hiervon sind wirbis jetzt ausgegangen.Bedingte, feste Wahl: Wieder werdenZentren und Breiten fest gewählt,man besitzt allerdings Vorwissenüber die zu approximierendeFunktion und kann sich etwas danachrichten.Adaptiv zum Lernprozess: Zweifellos dieeleganteste Variante, aber natürlichauch die anspruchsvollste. Eine Realisierungdieses Ansatzes wird in diesemKapitel nicht besprochen, istaber im Zusammenhang mit einer anderenNetztopologie zu finden (Abschnitt10.6.1).6.3.1.1 Feste WahlIn jedem Fall ist es das Ziel, den Eingangsraummöglichst gleichmäßig abzudecken.Hier kann man dann Breiten von 2 3desAbstandes der Zentren zueinander wählen,so dass sich die Gaußglocken zu ca. einemDrittel“ 2 überlappen (Abb. 6.6 auf ”der rechten Seite). Je dichter wir die Glockensetzen, desto genauer, aber desto Rechenaufwändigerwird das Ganze.Dies mag sehr unelegant aussehen, allerdingskommen wir in Bereichen derFunktionsapproximation kaum um diegleichmäßige Abdeckung herum – hierbringt es uns nämlich im Allgemeinen wenig,wenn die zu approximierende Funktionan einigen Stellen sehr genau repräsentiertwird, an anderen Stellen aber nur 0als Rückgabewert geliefert wird.Allerdings erfordert eine hohe Eingangsdimensiongigantisch viele RBF-Neurone,was den Rechenaufwand exponentiell zurDimension in die Höhe schnellen läßt –und dafür sorgt, dass wir sechs- bis zehndimensionaleProbleme bei RBF-<strong>Netze</strong>n bereitshochdimensional“ nennen (ein MLP”2 Es ist klar, dass eine Gaußglocke mathematischunendlich breit ist, ich bitte also den Leser, diesesaloppe Formulierung zu entschuldigen.Eingabedimensionsehr teuer114 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.3 Training von RBF-<strong>Netze</strong>nAbbildung 6.6: Beispiel einer gleichmäßigenAbdeckung eines zweidimensionalen Inputraumesdurch Radialbasisfunktionen.Abbildung 6.7: Beispiel einer ungleichmäßigenAbdeckung eines zweidimensionalen Inputraumes,über den wir Vorwissen besitzen, durchRadialbasisfunktionen.macht hier beispielsweise überhaupt keineProbleme).6.3.1.2 Bedingte, feste WahlAngenommen, unsere Trainingsbeispielesind nicht gleichmäßig über den Eingangsraumverteilt – dann liegt es nahe, dieZentren und Sigmas der RBF-Neuroneanhand der Musterverteilung auszurichten.Man kann also seine Trainingsmustermit statistischen Verfahren wie einerClusteranalyse analysieren und so herausfinden,ob es statistische Gegebenheitengibt, nach denen wir unsere Verteilungder Zentren und Sigmas richten sollten(Abb. 6.7).Eine trivialere Möglichkeit wäre es, |H|viele Zentren auf zufällig aus der Mustermengeausgewählte Positionen zu setzen:Es bestünde also bei dieser Vorgehensweisefür jedes Trainingsmuster p die Möglichkeit,direkt Zentrum eines Neurons zu sein(Abb. 6.8 auf der folgenden Seite). Das istauch noch nicht sehr elegant, aber keineschlechte Lösung, wenn es schnell gehensoll. Bei dieser Vorgehensweise werden dieBreiten in der Regel fest gewählt.Wenn wir Grund zu der Annahme haben,dass die Menge der TrainingsbeispieleHäufungspunkte besitzt, können wir Clusteringverfahrenbenutzen, um diese zu finden.Es gibt verschiedene Arten, Clusterin einer beliebigdimensionalen Menge vonD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 115


Kapitel 6 Radiale Basisfunktionendkriesel.comAbbildung 6.8: Beispiel einer ungleichmäßigenAbdeckung eines zweidimensionalen Inputraumesdurch Radialbasisfunktionen. Die Breitenwurden fest gewählt, die Zentren der Neuronezufällig über die Trainingsmuster verteilt. DieseVerteilung kann natürlich leicht zu unrepräsentativenErgebnissen führen, wie auch deutlich andem allein stehenden Datenpunkt unten links zusehen ist.Punkten zu finden, von denen wir einigeim Exkurs A kennenlernen werden. Einneuronales Clusteringverfahren sind die sogenanntenROLFs (Abschnitt A.5), undauch Self Organizing Maps haben sich alssinnvoll im Zusammenhang mit der Positionsbestimmungvon RBF-Neuronen erwiesen(Abschnitt 10.6.1). Bei den ROLFskönnen sogar Anhaltspunkte für sinnvolleRadien der RBF-Neurone gefunden werden.Auch mit Learning Vector Quantisation(Kap. 9) wurden schon gute Ergebnisseerzielt. Alle diese Verfahren habennichts direkt mit den RBF-<strong>Netze</strong>n zu tun,sondern dienen der reinen Erzeugung vonVorwissen – wir behandeln sie daher nichtin diesem Kapitel, sondern eigenständig inden genannten Kapiteln.Ein weiterer Ansatz ist, auf Bewährteszurückzugreifen: Wir können an den Positionender Zentren drehen und schauen,wie sich unsere Fehlerfunktion Err damitverändert – einen Gradientenabstieg, wievon den MLPs gewohnt. Wir können auchauf gleiche Weise schauen, wie der Fehlervon den Werten σ abhängt. Analogzur Herleitung von Backpropagation bildenwir also die Ableitungen∂Err(σ h c h )∂σ hund ∂Err(σ hc h )∂c h.Da die Herleitung dieser Terme sich analogzu der von Backpropagation verhält,wollen wir sie hier nicht ausführen.Die Erfahrung zeigt aber, dass es keinesehr überzeugenden Ergebnisse liefert,wenn wir betrachten, wie sich der Fehlerabhängig von den Zentren und Sigmasverhält. Auch wenn die Mathematik uns116 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.4 Wachsende RBF-<strong>Netze</strong>lehrt, dass Verfahren dieser Art erfolgversprechendsind, ist der Gradientenabstieg,wie wir wissen, problembehaftet bei sehrzerklüfteten Fehleroberflächen.Genau hier liegt der Knackpunkt: RBF-<strong>Netze</strong> bilden naturgemäß sehr zerklüfteteFehleroberflächen, denn wenn wir an einemc oder σ etwas verändern, verändernwir das Aussehen der Fehlerfunktion sehrstark.6.4 Wachsende RBF-<strong>Netze</strong>passen dieNeuronendichteautomatisch anBei wachsenden RBF-<strong>Netze</strong>n ist dieAnzahl |H| der RBF-Neurone nicht konstant.Man wählt vorab eine bestimmteZahl |H| Neurone, sowie deren Zentrenc h und Breiten σ h (beispielsweise anhandeines Clusteringverfahrens) und erweitertbzw. reduziert diese anschließend. Im Folgendenwerden nur einfache Mechanismenangeschnitten, genauere Informationen findenSie unter [Fri94].6.4.1 Neurone werden Stellengroßen Fehlers hinzugefügtNach Bildung dieser Startkonfiguration berechnetman analytisch den Vektor der GewichteG. Man errechnet als nächstes allespezifischen Fehler Err p bezüglich der MengeP der Trainingsbeispiele und sucht denmaximalen spezifischen Fehlermax (Err p).PDie Erweiterung des <strong>Netze</strong>s ist einfach:An die Stelle dieses größten Fehlers setzenwir nun ein neues RBF-Neuron. Hierbeimüssen wir natürlich ein wenig aufpassen:Bei kleinen σ beeinflussen sich die Neuronenur bei wenig Entfernung zueinander.Bei großen σ hingegen findet aufgrund derÜberlappung der Gaußglocken eine großeBeeinflussung der schon vorhandenen Neuronedurch das neue Neuron statt.Es liegt also nahe, dass wir beim Hinzufügeneines neuen Neurons die bereitsvorhandenen RBF-Neurone etwas anpassen.Diese Anpassung geschieht salopp gesagt,indem man die Zentren c der anderen Neuroneetwas von dem neuen Neuron wegbewegtund deren Breite σ etwas verkleinert.Danach wird der aktuelle Outputvektory des <strong>Netze</strong>s mit dem Teaching Inputt verglichen und der GewichtsvektorG durch Training verbessert. Anschließendkann man, sofern erforderlich, wieder einneues Neuron einfügen. Dieses Verfahreneignet sich insbesondere für Funktionsapproximationen.6.4.2 Begrenzung derNeuronenanzahlEs ist hierbei unbedingt darauf zu achten,dass das Netz nicht ins Unendliche wächst,Neuronauf FehlersetzenD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 117


Kapitel 6 Radiale Basisfunktionenwas sehr schnell passieren kann. Es ist alsosinnvoll, sich im Vorhinein eine Maximalanzahlfür Neurone |H| max zu definieren.dkriesel.com6.5 Gegenüberstellung vonRBF-<strong>Netze</strong>n undMultilayerperceptronsUnwichtigeNeurone raus6.4.3 Weniger wichtige Neuronewerden gelöschtDies bringt uns zu der Frage, ob mannoch weiterlernen kann, wenn diese Grenze|H| max erreicht ist. Auch hier ist demLernen noch kein Riegel vorgeschoben:Man sucht sich das unwichtigste“ Neuron”und löscht es. Ein Neuron ist beispielsweisefür das Netz nicht wichtig, wenn es einanderes Neuron gibt, welches fast genaudas gleiche tut: Es kommt oft vor, dasssich zwei Gaußglocken genau überlappen,an solchen Stellen würde beispielsweise eineinziges Neuron mit entsprechend größererHöhe seiner Gaußglocke genügen.Automatisierte Verfahren für das Findenvon weniger relevanten Neuronen zu entwickeln,ist aber sehr stark problemabhängigund sei an dieser Stelle dem Programmiererüberlassen.Mit RBF-<strong>Netze</strong>n und Multilayerperceptronshaben wir nun bereits zwei Netzparadigmenfür ähnliche Problemstellungenkennengelernt und ausführlich betrachtet.Wir wollen diese beiden Paradigmen dahereinander gegenüberstellen und ihre VorundNachteile vergleichen.Wir nehmen den Vergleich von Multilayerperceptronsund RBF-<strong>Netze</strong>n anhand verschiedenerAspekte vor.Eingabedimension: Bei RBF-<strong>Netze</strong>n istin hochdimensionalen Funktionsräumenetwas Vorsicht geboten, da dasNetz sehr schnell sehr speicher- undrechenaufwändig werden kann – hiermacht ein Multilayerperceptron wenigerProbleme, da dessen Neuronenanzahlnicht exponentiell mit der Eingabedimensionwächst.Wahl der Zentren: Allerdings ist dieWahl der Zentren c bei RBF-<strong>Netze</strong>n(trotz der hier vorgestellten Ansätze)nach wie vor ein großes Problem –bitte nutzen Sie bei deren Anwendungalso wirklich jedes Vorwissen,das sie haben. Solche Problemehaben wir beim MLP nicht.Ausgabedimension: Vorteil der RBF-<strong>Netze</strong> ist, dass es dem Training wenigmacht, wenn das Netz eine hoheOutput-Dimension aufweist – einLernverfahren wie Backpropagationbei einem MLP wird dabei sehr indie Länge gezogen.Extrapolation: Vorteil und Nachteil vonRBF-<strong>Netze</strong>n ist die mangelnde Extrapolationsfähigkeit:Ein RBF-Netz liefertweit weg von den Zentren derRBF-Schicht das Ergebnis 0. Dies ist118 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com6.5 Gegenüberstellung von RBF-<strong>Netze</strong>n und MultilayerperceptronsWichtig!gut und schlecht: Zum einen extrapoliertes eben nicht, es ist im Gegensatzzum MLP hierfür nicht verwertbar(wobei wir beim MLP nie wissenkönnen, ob die extrapolierten Wertevernünftig sind, die Erfahrung zeigtaber, dass MLPs hier gutmütig sind).Zum anderen hat das Netz aber imGegensatz zum MLP die Möglichkeit,uns durch diese 0 zu sagen Ich weiss ”es nicht“, was sehr vom Vorteil seinkann.Läsionstoleranz: Für den Output einesMLPs ist es nicht so wichtig, wennirgendwo ein Gewicht oder Neuronfehlt, er wird insgesamt ein wenigschlechter werden. Fehlt ein Gewichtoder Neuron beim RBF-Netz, so sindweite Teile des Outputs so gut wie unbeeinflusst– eine Stelle des Outputsist jedoch sehr betroffen, weil eben direkteine Gaußglocke fehlt. Hier kannman also wählen zwischen starkem lokalemFehler bei Läsion und schwachem,aber globalem Fehler.ÜbungsaufgabenAufgabe 14: Mit einem |I|-|H|-|O|-RBF-Netz mit festen Breiten und Zentren derNeurone soll eine Zielfunktion u approximiertwerden. Hierfür sind |P | viele Trainingsbeispieleder Form (p, t) der Funktionu gegeben. Es gelte |P | > |H|. DieBestimmung der Gewichte soll analytischüber die Moore-Penrose-Pseudoinverse erfolgen.Geben Sie das Laufzeitverhaltenbezüglich |P | und |O| möglichst genau an.Hinweis: Für Matrixmultiplikationen undMatrixinvertierungen existieren Verfahren,welche effizienter sind als die kanonischenVerfahren. Für bessere Abschätzungen recherchierenSie nach solchen Verfahren(und deren Komplexität). Geben Sie beiIhrer Komplexitätsberechnung die verwendetenVerfahren samt ihrer Komplexitätan.Verbreitung: Hier ist das MLP ”im Vorteil“,da RBF-<strong>Netze</strong> wesentlich wenigerangewandt werden – ein Umstand,der von professionellen Stellen nichtimmer verstanden wird (was niedrigdimensionaleEingaberäume angeht).MLPs haben anscheinend eine wesentlichhöhere Tradition und funktionierenzu gut, als dass es nötig wäre, sichein paar Seiten in dieser Arbeit überRBF-<strong>Netze</strong> durchzulesen :-).D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 119


Kapitel 7Rückgekoppelte <strong>Netze</strong>Gedanken über <strong>Netze</strong>, welche eigene interne Zustände besitzen. Ansätze desLernens mit derartigen <strong>Netze</strong>n, Skizzierung ihrer Dynamik.Kann mehrals MLPRückgekoppelte <strong>Netze</strong> im Allgemeinen bezeichnen<strong>Netze</strong>, die die Fähigkeit haben,sich durch Rückkopplungen selbst zu beeinflussen,beispielsweise indem die Ausgabedes <strong>Netze</strong>s in die folgenden Berechnungsschrittemit eingeht. Es gibt viele Artenrückgekoppelter <strong>Netze</strong> von nahezu beliebigerGestalt, fast alle überschneidendals rückgekoppelte <strong>Neuronale</strong> <strong>Netze</strong>bezeichnet – demzufolge verwende ich fürdie wenigen hier vorgestellten Paradigmenden Namen rückgekoppelte Multilayerperceptrons.Dass man mit einem rückgekoppelten Netzmehr berechnen kann als mit einem normalenMLP, ist offensichtlich: Setzt mandie Rückkopplungsgewichte auf 0, reduziertman das rückgekoppelte Netz ja aufein normales MLP. Insbesondere erzeugtdie Rückkopplung verschiedene netzinterneZustände, so dass auch auf gleiche Eingabenim Kontext des Netzzustands verschiedeneAusgaben ausgegeben werdenkönnen.Rückgekoppelte <strong>Netze</strong> an sich besitzen einegroße Dynamik, die mathematisch sehrschwer zu erfassen und äußerst umfangreichzu betrachten ist. Das Ziel dieses Kapitelswird es nur sein, kurz zu betrachten,wie Rückkopplungen aufgebaut seinkönnen und netzinterne Zustände erzeugtwerden können. So werde ich nur kurzzwei Paradigmen rückgekoppelter <strong>Netze</strong>vorstellen, und anschließend grob derenTraining umreißen.Bei einem rückgekoppelten Netz könnenfür eine zeitlich konstante Eingabe xverschiedene Dinge passieren: Zum einenkann das Netz konvergieren, sich also ineinen festen Zustand bringen und irgendwanneine feste Ausgabe y ausgeben, oderes konvergiert eben nicht bzw. nach so langerZeit, dass wir es nicht mehr mitbekommen,was eine ständige Veränderung vony zur Folge hat.Falls es nicht konvergiert, kann man beispielsweisedie Ausgabe auf Periodikaoder Attraktoren (Abb. 7.1) untersuchenZustandsdynamik121


Kapitel 7 Rückgekoppelte <strong>Netze</strong> (baut auf Kap. 5 auf)dkriesel.com7.1 JordannetzeAbbildung 7.1: Der Rössler-Attraktor– wir können hier die komplette Vielfaltvon dynamischen Systemen erwarten,weswegen ich auch speziell auf die Literaturzu dynamischen Systemen verweisenmöchte.Durch weitergehende Betrachtungen kannman dann herausfinden, was passiert,wenn bei rückgekoppelten <strong>Netze</strong>n der Inputverändert wird.Vorgestellt werden sollen in diesem Kapiteldie verwandten Paradigmen rückgekoppelter<strong>Netze</strong> nach Jordan und Elman.Ein Jordannetz [Jor86] ist ein Multilayerperceptronmit einer Menge Kvon sogenannten Kontextneuronenk 1 , k 2 , . . . , k |K| – pro Output-Neuronexistiert ein Kontextneuron (illustriertin Abb. 7.2 auf der rechten Seite). EinKontextneuron macht im Grunde nichtsanderes, als einen Output zwischenzuspeichern,so dass er im nächsten Zeitschrittverwertet werden kann. Es gibt alsogewichtete Verbindungen von jedemAusgabeneuron zu einem Kontextneuron.Die gespeicherten Werte werden durchVollverknüpfungen von den Kontextneuronenzur Eingabeschicht wieder an daseigentliche Netz zurückgegeben.In der ursprünglichen Definition eines Jordannetzessind die Kontextneurone auchnoch über ein Verbindungsgewicht λ zusich selbst rückgekoppelt – in den meistenAnwendungen wird diese Rückkopplungaber weggelassen, da das Jordannetzohne diese zusätzlichen Rückkopplungenschon sehr dynamisch und schwer analysierbarist.Definition 7.1 (Kontextneuron): Ein Kontextneuronk nimmt einen Outputwert einesanderen Neurons i zu einem Zeitpunktt entgegen und gibt diesen im Zeitpunkt(t + 1) wieder in das Netz ein.Definition 7.2 (Jordannetz): Ein Jordannetzist ein Multilayerperceptron, welchespro Outputneuron ein Kontextneuron besitzt.Die Menge der Kontextneurone nennenwir K. Die Kontextneurone sind voll-Ausgabeneuronewerdengepuffert122 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com7.2 Elmannetze i 1 i 2 h 1 h 2 h 3 Ω 1 Ω 2 k 2 k 1Abbildung 7.2: Darstellung eines Jordannetzes. Die Ausgabe des <strong>Netze</strong>s wird in den Kontextneuronengepuffert und beim nächsten Zeitschritt zusammen mit der neuen Eingabe in das <strong>Netze</strong>ingebracht.verknüpft in Richtung der Eingabeschichtdes <strong>Netze</strong>s.7.2 Elmannetzedem Rückweg also wieder eine Vollverknüpfung).Es existiert also der gesamteinformationsverarbeitende Teil 1 des MLPsnoch einmal als ”Kontextversion“ – wasdie Dynamik und Zustandsvielfalt nocheinmal wesentlich erhöht.Fast alleswirdgepuffertAuch die Elmannetze (eine Variationder Jordannetze) [Elm90] haben Kontextneurone– allerdings pro informationsverarbeitenderNeuronenschicht eine SchichtKontextneurone (Abb. 7.3 auf der folgendenSeite). Die Ausgaben eines jedenversteckten Neurons oder Ausgabeneuronswerden also in die zugehörige Kontextschichtgeleitet (wieder pro Neuron genauein Kontextneuron) und von da imnächsten Zeitschritt wieder in die kompletteNeuronenschicht eingegeben (aufGegenüber Jordannetzen haben Elmannetzeoft den Vorteil, etwas zielgerichteter zuagieren, da jede Schicht auf ihren eigenenKontext zurückgreifen kann.Definition 7.3 (Elmannetz): Ein Elmannetzist ein MLP, welches pro informationsverarbeitendemNeuron ein Kontextneuronbesitzt. Die Menge der Kontextneuronenennen wir K. Pro informationsver-1 Wir erinnern uns: die Inputschicht ist nicht informationsverarbeitendD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 123


Kapitel 7 Rückgekoppelte <strong>Netze</strong> (baut auf Kap. 5 auf)dkriesel.com i 1 i 2 h 1 h 2 h 3 Ω 1 Ω 2 k h1 k Ω1 k h2 k Ω2 k h3Abbildung 7.3: Darstellung eines Elmannetzes. Der ganze informationsverarbeitende Teil des <strong>Netze</strong>sist sozusagen zweimal vorhanden. Die Ausgabe eines jeden Neurons (bis auf die der Eingabeneurone)wird gepuffert und in die zugeordnete Schicht wieder eingegeben. Ich habe die Kontextneuronezur Übersichtlichkeit anhand ihrer Vorbilder im eigentlichen Netz benannt, das muss man aber nichtso machen.124 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com7.3 Training rückgekoppelter <strong>Netze</strong>arbeitender Neuronenschicht existiert alsoeine Kontextschicht mit exakt gleichvielenKontextneuronen. Jedes Neuron besitzteine gewichtete Verbindung zu exakteinem Kontextneuron, während die Kontextschichtin Richtung ihrer Ursprungsschichtvollverknüpft ist.Interessant ist nun, das Training rückgekoppelter<strong>Netze</strong> zu betrachten, da z.B. dasnormale Backpropagation of Error nichtauf rückgekoppelten <strong>Netze</strong>n funktionierenkann. Dieser Teil ist wieder etwas informellergehalten, so dass ich dort keine formalenDefinitionen verwenden werde.7.3 Training rückgekoppelter<strong>Netze</strong>Um das Training so anschaulich wiemöglich darzustellen, müssen wir einigeVereinfachungen verabreden, die das Lernprinzipan sich aber nicht beeinträchtigen.Gehen wir für das Training also davonaus, dass die Kontextneurone zu Anfangmit einer Eingabe initiiert werden, dasie sonst eine undefinierte Eingabe haben(das ist keine Vereinfachung, sondern wirdtatsächlich gemacht).Weiterhin verwenden wir für unsere Trainingsgehversucheein Jordannetz, welcheskeine versteckte Neuronenschicht hat, sodass die Outputneurone direkt wieder Inputliefern. Dies ist eine starke Vereinfachung,da in der Regel kompliziertere <strong>Netze</strong>verwendet werden. Dies verändert soweitaber nichts am Lernprinzip.7.3.1 Unfolding in TimeErinnern wir uns an unser eigentlichesLernverfahren für MLPs, Backpropagationof Error, das die Deltawerte rückwärts propagiert.Im Falle rückgekoppelter <strong>Netze</strong>würden die Deltawerte also zyklisch immerwieder rückwärts durch das Netz propagiert,was das Training schwieriger macht.Zum einen kann man nicht wissen, welcheder vielen generierten Deltawerte für einGewicht nun für das Training gewählt werdensollen, also sinnvoll sind, zum anderenkönnen wir auch nicht unbedingt wissen,wann das lernen nun beendet werden soll.Der Vorteil von rückgekoppelten <strong>Netze</strong>nist eine große Zustandsdynamik innerhalbdes Netzbetriebs – der Nachteil rückgekoppelter<strong>Netze</strong> ist, dass diese Dynamik auchdem Training zuteil wird und dieses somiterschwert.Ein Lernansatz wäre der Versuch, die zeitlichenZustände des <strong>Netze</strong>s aufzufalten(Abb. 7.4 auf Seite 127): Man löst die Rekursionenauf, indem man ein gleichförmigesNetz über die Kontextneurone setzt,also die Kontextneurone sozusagen dieAusgabeneurone des angefügten <strong>Netze</strong>sbilden. Allgemeiner ausgedrückt, Verfolgtman die Rekurrenzen zurück und hängtso ”frühere“ Instanzen von Neuronen inein das Netz ein. So erzeugt man einGroßes, vorwärtsgerichtetes Netz, verliertaber im Gegenzug die Rekurrenzen undD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 125


Kapitel 7 Rückgekoppelte <strong>Netze</strong> (baut auf Kap. 5 auf)dkriesel.comJeweils anKontextschichtgleichesNetz hängenkann so das Netz mit Verfahren für nichtrekurrente<strong>Netze</strong> trainieren In jede Ko- ”pie“ der Eingabeneurone wird hierbei dieEingabe als Teaching Input eingegeben.Dies kann man für eine diskrete AnzahlZeitschritte tun. Wir nennen diesesTrainingsparadigma Unfolding in Time[MP69]. Nach der Auffaltung ist einTraining durch Backpropagation of Errormöglich.ist die begrenzte Rechengenauigkeit normalerComputer, die bei derartig vielengeschachtelten Rechnungen sehr schnellerschöpft ist (der Einfluss von Backpropagationwird, je weiter man von den Ausgabeschichtenweg kommt, immer kleiner,so dass man an diese Grenze stößt). Weiterhinkann das Verfahren bei mehrerenEbenen Kontextneurone sehr große zu trainierende<strong>Netze</strong> produzieren.Offensichtlich erhält man für ein Gewichtw i,j aber mehrere Änderungswerte ∆w i,j,mit denen man auf verschiedene Weiseverfahren kann: Aufkumulieren, Durchschnittsberechnung,etc. Kumuliert mansie einfach auf, können sich u.U. zu großeÄnderungen pro Gewicht ergeben, falls alleÄnderungen das gleiche Vorzeichen haben.Demzufolge ist auch der Durchschnittnicht zu verachten. Man könnte auch einendiscounting factor einführen, der den Einflussweiter in der Vergangenheit liegender∆w i,j abschwächt.Unfolding in Time ist besonders dann sinnvoll,wenn man den Eindruck hat, dassdie nähere Vergangenheit wichtiger für dasNetz ist als die weiter entfernte, da Backpropagationin den von der Ausgabe weiterentfernten Schichten nur wenig Einflusshat (wir erinnern uns: Der Einflussvon Backpropagation wird immer kleiner,je weiter man von der Ausgabeschicht weggeht).7.3.2 Teacher ForcingWeitere Verfahren sind die deckungsgleichenTeacher Forcing und Open LoopLearning. Sie schneiden während des Lernensdie Rückkopplung auf: Während desLernens tun wir einfach so, als gäbe esdie Rückkopplung nicht, und legen den TeachingInput während des Trainings anden Kontextneuronen an. Auch so wird einBackpropagation-Training möglich. Nachteil:Ein Teaching Input bei Kontextneuronenoder allgemein nicht-ausgabe-Neuronen ist ja nicht verfügbar.7.3.3 Rekurrentes BackpropagationEin weiteres beliebtes Verfahren ohne beschränktenZeithorizont ist rekurrentesBackpropagation, das dem Problem mitHilfe von Lösungsmethoden für Differentialgleichungenzu Leibe rückt [Pin87].TeachingInput anKontextneuroneNachteile: Das Training des so auseinandergefalteten<strong>Netze</strong>s kann sehr langedauern, da man unter Umständen einegroße Anzahl Schichten produziert. Einnicht mehr vernachlässigbares Problem7.3.4 Training mit EvolutionGerade bei rückgekoppelten <strong>Netze</strong>n habensich aufgrund des ohnehin langen126 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com7.3 Training rückgekoppelter <strong>Netze</strong> i 1 i 2 i 3 k 1 k 2 Ω 1 Ω 2 ..... i 1 i 2 i 3 k 1 k 2 Ω 1 Ω 2Abbildung 7.4: Darstellung des Unfolding in Time bei einem kleinen beispielhaften rückgekoppeltenMLP. Oben: Das rückgekoppelte MLP. Unten: Das aufgefaltete Netz. Um der Übersichtlichkeitzu dienen, habe ich im aufgefalteten Netz nur dem untersten Teilnetz Benennungen hinzugefügt.Gepunktete Pfeile, welche in das Netz hineinführen, markieren Eingaben. Gepunktete Pfeile, welcheaus dem Netz herausführen, markieren Ausgaben. Jede ”Netzkopie“ repräsentiert einen Zeitschrittdes <strong>Netze</strong>s, unten ist der aktuellste Zeitschritt.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 127


Kapitel 7 Rückgekoppelte <strong>Netze</strong> (baut auf Kap. 5 auf)dkriesel.comTrainings evolutionäre Algorithmenbewährt, da diese nicht nur in Bezug aufRückkopplungen keinen Beschränkungenunterliegen, sondern bei geeigneter Wahlder Mutationsmechanismen auch weitereVorteile haben: So können zum BeispielNeurone und Gewichte angepasst und sodie Netztopologie optimiert werden (esmuss dann nach dem Lernen natürlich keinJordan- oder Elmannetz herauskommen).Bei normalen MLPs hingegen sind die Evolutionsstrategienweniger gefragt, da sienatürlich viel mehr Zeit benötigen als eingerichtetes Lernverfahren wie Backpropagation.128 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Kapitel 8HopfieldnetzeIn einem magnetischen Feld übt jedes Teilchen Kraft auf jedes andere Teilchenaus, so dass sich die Teilchen insgesamt so ausrichten, wie es am energetischgünstigsten für sie ist. Wir kopieren diesen Mechanismus der Natur, umverrauschte Eingaben zu ihren richtigen Vorbildern zu korrigieren.Ein weiteres überwacht lernendes Beispielaus dem Zoo der <strong>Neuronale</strong>n <strong>Netze</strong> wurdevon John Hopfield entwickelt: die nachihm benannten Hopfieldnetze [Hop82].Hopfield und seine physikalisch motivierten<strong>Netze</strong> haben viel zur Renaissance der<strong>Neuronale</strong>n <strong>Netze</strong> beigetragen.Diesen Eigenzustand kennen wir bei denNeuronen als Aktivierung. Die Teilchenbzw. Neurone drehen sich also alle und animierensich dadurch wieder gegenseitig zurDrehung. Unser <strong>Neuronale</strong>s Netz ist alsosozusagen eine Wolke von Teilchen.8.1 Hopfieldnetze sindinspiriert durch Teilchenin einem magnetischenFeldDie Idee für die Hopfieldnetze ist aus demVerhalten von Teilchen im Magnetismusentstanden: Jedes Teilchen ”redet“ (durchdie magnetischen Kräfte) mit jedem anderen(also eine Vollverknüpfung), wobeies aber jeweils versucht, einen energetischgünstigen Zustand (sozusagen ein Minimumder Energiefunktion) zu erreichen.Ausgehend von der Tatsache, dass die Teilchendie Minima in der Energiefunktionselbsttätig aufspüren, hatte Hopfield nundie Idee, den ”Drehwinkel“ der Teilchenzu nutzen, um Informationsverarbeitungzu betreiben: Warum nicht die Teilchenauf selbstdefinierten Funktionen Minimasuchen lassen? Selbst wenn wir nur zweidieser Drehwinkel (Spins) verwenden, alsoeine binäre Aktivierung, werden wir feststellen,dass das entwickelte Hopfieldnetzerstaunliche Dynamik besitzt.129


Kapitel 8 Hopfieldnetzedkriesel.com ↑ ↓ ↑ ↓ ↑ ↓ ↑Abbildung 8.1: Darstellung eines beispielhaftenHopfieldnetzes. Die Pfeile ↑ und ↓ markierendie binären ”Drehwinkel“. Durch die vollständigeVerknüpfung der Neurone können keine Schichtenvoneinander abgegrenzt werden, so dass einHopfieldnetz einfach eine Menge von Neuronenumfasst.8.2 In einem Hopfieldnetzbeeinflussen sich alleNeurone symmetrischgegenseitigDie Vollverknüpfung sorgt dafür, dass wireine volle quadratische Matrix an Gewichtenunter den Neuronen haben. Was dieGewichte bedeuten, wollen wir gleich erforschen.Weiter werden wir gleich durchschauen,nach welchen Regeln die Neuronesich drehen, also ihren Zustand ändern.Die Vollverknüpfung sorgt weiterhin dafür,dass wir keine Input-, Output- oder verstecktenNeurone kennen. Wir müssen unsalso Gedanken machen, wie wir etwas indie |K| Neurone eingeben.Definition 8.1 (Hopfieldnetz): Ein Hopfieldnetzbesteht aus einer Menge K vonvollverknüpften Neuronen ohne direkteRückkopplungen. Die Aktivierungsfunktionder Neurone ist die binäre Schwellenwertfunktionmit Ausgaben ∈ {1, −1}.Definition 8.2 (Zustand eines Hopfieldnetzes):Die Gesamtheit der Aktivierungszuständealler Neurone ist der Zustanddes <strong>Netze</strong>s. Der Netzzustand kann also alsBinärstring z ∈ {−1, 1} |K| aufgefasst werden.K◮VollständigverknüpfteNeuronenmengeKurz gesagt besteht ein Hopfieldnetz alsoaus einer Menge K von untereinandervollverknüpften Neuronen mit binärer Aktivierung(wir verwenden ja nur zwei Drehwinkel),wobei die Gewichte zwischen deneinzelnen Neuronen symmetrisch sind undein Neuron keine Direktverbindung zu sichselbst aufweist (Abb. 8.1). Der Zustandvon |K| vielen Neuronen mit zwei möglichenZuständen ∈ {−1, 1} lässt sich alsodurch eine Zeichenkette x ∈ {−1, 1} |K| beschreiben.8.2.1 Eingabe und Ausgabe einesHopfieldnetzes werden durchNeuronenzuständerepräsentiertWir haben gelernt, dass das Netz, alsodie Menge der |K| vielen Teilchen, voneinem Zustand aus selbsttätig ein Minimumsucht. Ein Inputmuster eines Hopfieldnetzesist genau so ein Zustand: EinBinärstring x ∈ {−1, 1} |K| , welcher dieNeurone initialisiert. Das Netz sucht dann130 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com8.2 Aufbau und FunktionsweiseEingabe undAusgaben =Netzzuständekonvergiertimmerzur Eingabe das Minimum auf seiner Energieoberfläche(das wir vorher durch Eingabevon Trainingsbeispielen selbst definierthaben).Woher wissen wir nun, dass das Minimumgefunden ist? Auch das ist einfach: Wenndas Netz stillsteht. Man kann beweisen,dass ein Hopfieldnetz mit symmetrischerGewichtsmatrix und Nullen in der Diagonaleimmer konvergiert [CG88] , es wirdalso irgendwann still stehen. Die Ausgabeist dann ein Binärstring y ∈ {−1, 1} |K| ,nämlich die Zustandszeichenkette des <strong>Netze</strong>s,das ein Minimum gefunden hat.Betrachten wir nun die Inhalte der Gewichtsmatrixund die Regeln für den Zustandswechselder Neurone etwas genauer.Definition 8.3 (Eingabe und Ausgabe einesHopfieldnetzes): Die Eingabe in einHopfieldnetz ist ein Binärstring x ∈{−1, 1} |K| , welcher den Netzzustand initialisiert.Nach erfolgter Konvergenz des <strong>Netze</strong>sist der aus dem neuen Netzzustand erzeugteBinärstring y ∈ {−1, 1} |K| die Ausgabe.8.2.2 Bedeutung der GewichteHierbei gilt umgangsprachlich für ein Gewichtw i,j zwischen zwei Neuronen i undj:Ist w i,j positiv, versucht es die beidenNeurone zur Gleichheit zu zwingen,je größer w i,j , desto stärker ist derZwang. Wenn das Neuron i den Zustand1 hat, das Neuron j aber denZustand −1, vermittelt ein hohes positivesGewicht den beiden Neuronen,dass es energetisch günstiger ist, wennsie gleich sind.Ist w i,j negativ, verhält es sich analog,nur werden hier i und j zur Unterschiedlichkeitgedrängt. Ein Neuroni mit Zustand −1 würde versuchen,ein Neuron j in den Zustand 1 zudrängen.Null-Gewichte sorgen dafür, dass sich diebeiden beteiligten Neurone nicht beeinflussen.Die Gesamtheit der Gewichte beschreibtalso offensichtlich den Weg zum nächstenMinimum der Energiefunktion vom aktuellenNetzzustand aus – wir wollen nun untersuchen,auf welche Weise die Neuronediesen Weg einschlagen.Wir haben gesagt, dass die Neurone ihreZustände, also ihre Ausrichtung von −1nach 1 oder umgekehrt ändern. Diese Drehungenfinden abhängig von den aktuellenZuständen der anderen Neurone undvon den Gewichten zu diesen statt. Die Gewichtesind also in der Lage, die Gesamtveränderungdes <strong>Netze</strong>s zu steuern. Die Gewichtekönnen positiv, negativ oder 0 sein.8.2.3 Ein Neuron wechselt denZustand anhand desEinflusses der anderenNeuroneDie Funktionsweise des einmal trainiertenund mit einem Anfangszustand initialisier-D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 131


Kapitel 8 Hopfieldnetzedkriesel.comf(x)10.50−0.5−1Heaviside−Funktion−4 −2 0 2 4Abbildung 8.2: Darstellung der binärenSchwellenwertfunktion.ten <strong>Netze</strong>s liegt darin, die Zustände x k dereinzelnen Neurone k nach dem Schema⎛⎞x k (t) = f act ⎝ ∑ w j,k · x j (t − 1) ⎠ (8.1)j∈Kmit jedem Zeitschritt zu ändern, wobeidie Funktion f act in aller Regel die binäreSchwellenwert-Funktion (Abb. 8.2) mitSchwellenwert 0 ist. Umgangssprachlich:Ein Neuron k berechnet die Summe derw j,k · x j (t − 1), die angibt, wie stark undin welche Richtung das Neuron k von denanderen Neuronen j gedrängt wird. Derneue Zustand des <strong>Netze</strong>s (Zeitpunkt t) ergibtsich also aus dem Netzzustand zumvorherigen Zeitpunkt t − 1. Die Summe ergibtdann die Gesamtrichtung, in die dasNeuron k gedrängt wird. Je nach Vorzeichender Summe nimmt das Neuron denZustand 1 oder −1 an.Ein weiterer Unterschied der Hopfieldnetzezu anderen Netztopologien, welche wirxbereits kennengelernt haben, ist das asynchroneUpdate: Es wird jedes mal ein Neuronk zufällig gewählt, welches dann dieAktivierung neu errechnet. Die neuen Aktivierungender jeweils vorher geändertenNeurone nehmen also direkt Einfluss, einZeitschritt bezeichnet also die Änderungeines einzigen Neurons.Bemerkung: Ungeachtet der hier beschriebenenzufälligen Wahl des Neuronsfindet die Implementierung eines Hopfieldnetzesoft einfacher statt: die Neurone werdeneinfach nacheinander durchgegangenund deren Aktivierungen neu berechnet –so lange, bis sich nichts mehr ändert.Definition 8.4 (Zustandswechsel eines Hopfieldnetzes):Der Zustandswechsel derNeurone findet asynchron statt, wobei daszu aktualisierende Neuron jeweils zufälligbestimmt wird und der neue Zustanddurch die Vorschrift⎛⎞x k (t) = f act ⎝ ∑ w j,k · x j (t − 1) ⎠j∈Kgebildet wird.Nachdem wir jetzt wissen, wie die Gewichtedie Zustandsänderungen der Neuronebeeinflussen und das gesamte Netz in Richtungeines Minimums treiben, ist nun nochdie Frage offen, wie man den Gewichtenbeibringt, das Netz in Richtung eines bestimmtenMinimums zu treiben.ZufälligesNeuronberechnetneueAktivierung132 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com8.3 Die Gewichtsmatrix wirddirekt anhand derTrainingsbeispiele erzeugt8.3 Erzeugen der Gewichtsmatrixwir: Sind die Neurone i, j im gleichen Zustandoder sind die Zustände unterschiedlich?Im ersten Fall addieren wir 1 zumGewicht, im zweiten Fall −1.Es ist das Ziel, Minima auf der genanntenEnergieoberfläche zu erzeugen, in die dasNetz bei einer Eingabe konvergiert. Wieschon bei vielen anderen Netzparadigmen,verwenden wir hier wieder eine Menge Pvon Mustereingaben p ∈ {1, −1} |K| , diedie Minima unserer Energieoberfläche darstellen.Bemerkung: Im Unterschied zu vielen anderenNetzparadigmen suchen wir hiernicht die Minima einer uns unbekanntenFehlerfunktion, sondern definieren unsselbst Minima auf einer solchen – mit demZweck, dass das Netz das naheliegendsteMinimum von selbst annehmen soll, wennman ihm eine Eingabe präsentiert. Dies istfür uns erst einmal ungewohnt – den Sinnund Zweck werden wir aber noch verstehen.Das Training eines Hopfieldnetzes spieltsich grob gesagt so ab, dass man jedes Trainingsmustergenau einmal mit der im Folgendenbeschriebenen Vorschrift trainiert(Single Shot Learning), wobei p i und p jdie Zustände der Neurone i und j in demBeispiel p ∈ P sind:w i,j = ∑ p i · p j (8.2)p∈PHieraus ergibt sich dann die GewichtsmatrixW . Umgangssprachlich: Wir initialisierendas Netz mit einem Trainingsmuster,und gehen dann alle Gewichte w i,jdurch. Für jedes dieser Gewichte schauenDies machen wir für alle Trainingsmusterp ∈ P . Zum Schluss haben also Gewichtew i,j hohe Werte, wenn i und j bei vielenTrainingsmustern übereingestimmt haben.Der hohe Wert sagt diesen Neuronenumgangssprachlich: ”Es ist sehr oft energetischgünstig, wenn ihr den gleichen Zustandinnehabt“. Entsprechendes gilt fürnegative Gewichte.Durch dieses Training können wir also einegewisse feste Anzahl Muster p in der Gewichtsmatrixabspeichern. Das Netz wirddann bei einer Eingabe x zu dem abgespeichertenMuster konvergieren, dass der Eingabep am nächsten liegt.Leider ist die Zahl der maximal speicherbarenund rekonstruierbaren Muster p auf|P | MAX ≈ 0.139 · |K| (8.3)beschränkt, was auch wiederum nur für orthogonaleMuster gilt. Dies wurde durchgenaue (und aufwändige) mathematischeAnalysen gezeigt, auf die wir jetzt nichteingehen wollen. Gibt man mehr Musterals diese Anzahl ein, zerstört man bereitsgespeicherte Informationen.Definition 8.5 (Lernregel für Hopfieldnetze):Die einzelnen Elemente der GewichtsmatrixW werden durch das einmaligeAusführen der Lernregelw i,j = ∑ p i · p jp∈PD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 133


Kapitel 8 Hopfieldnetzedkriesel.coma◮NetzrestauriertkaputteEingabenbestimmt, wobei die Diagonale der Matrixmit Nullen belegt ist. Hierbei können nichtmehr als |P | MAX ≈ 0.139 · |K| Trainingsbeispielefunktionserhaltend trainiert werden.Wir haben nun die Funktionalität vonHopfieldnetzen kennen gelernt, jedochnoch nicht ihren praktischen Nährwert.8.4 Autoassoziation undtraditionelle AnwendungHopfieldnetze, wie sie oben beschriebenwurden, sind sogenannte Autoassoziatoren.Ein Autoassoziator a legt genau dasoben beschriebene Verhalten an den Tag:Erstens gibt er bei Eingabe eines bekanntenMusters p genau dieses bekannte Musterwieder aus, es gilt alsoa(p) = p,wobei a die Assoziator-Abbildung ist. ZumZweiten, und genau hier liegt der Nährwertdes Ganzen, funktioniert das auchmit Eingaben, die in der Nähe von einemMuster liegen:a(p + ε) = p.Der Autoassoziator ist hinterher in jedemFall in einem stabilen Zustand, nämlich imZustand p.Nimmt man als Mustermenge P beispielsweiseBuchstaben oder sonstige Schriftzeichenin Pixelform, so wird das Netz inder Lage sein, deformierte oder verrauschteBuchstaben mit hoher Wahrscheinlichkeitrichtig zu erkennen (Abb. 8.3 auf derrechten Seite).Anwendung von Hopfieldnetzen sind daherprinzipiell Mustererkennung undMustervervollständigung, so zum BeispielEnde der 1980er Jahre die Erkennungvon Postleitzahlen auf Briefen. Bald sinddie Hopfieldnetze aber in den meisten ihrerAnwendungsgebiete von anderen Systemenüberholt worden, so in der Buchstabenerkennungvon modernen OCR-Systemen. Heute werden Hopfieldnetze sogut wie überhaupt nicht mehr verwendet,sie haben sich nicht durchgesetzt.8.5 Heteroassoziation undAnalogien zur neuronalenDatenspeicherungBis jetzt haben wir Hopfieldnetze kennengelernt,die für eine beliebige Eingabe indas naheliegendste Minimum einer statischenEnergieoberfläche konvergieren.Eine weitere Variante wäre eine dynamischeEnergieoberfläche: Hier sieht die Energieoberflächeje nach aktuellem Zustandanders aus und wir erhalten keinen Autoassoziatormehr, sondern einen Heteroassoziator.Für einen Heteroassoziator giltnicht mehrsondern vielmehra(p + ε) = p,h(p + ε) = q,134 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com8.5 Heteroassoziation und Analogien zur neuronalen Datenspeicherungwas bedeutet, dass ein Muster aufein anderes abgebildet wird. h ist dieHeteroassoziator-Abbildung. Man erreichtsolche Heteroassoziationen durch eineasymmetrische Gewichtsmatrix V .Durch hintereinandergeschaltete Heteroassoziationender Formh(p + ε) = qh(q + ε) = rh(r + ε) = s◭h.h(z + ε) = pwird es möglich, einen schnellen Zustandsdurchlaufp → q → r → s → . . . → z → pzu provozieren, wobei ein einzelnes Musteraber niemals vollständig angenommenwird: Bevor ein Muster vollständig zustandegekommenist, versucht die Heteroassoziationja bereits, dessen Nachfolger zu erzeugen.Außerdem würde unser Netz niezum Stillstand kommen, da es ja nach Erreichendes letzten Zustands z wieder zumersten Zustand p übergeht.Abbildung 8.3: Darstellung der Konvergenz einesbeispielhaften Hopfieldnetzes. Jedes der Bilderhat 10 × 12 = 120 binäre Pixel. Jeder Pixelentspricht im Hopfieldnetz einem Neuron. Obensind die Trainingsbeispiele abgebildet, unten dieKonvergenz einer stark verrauschten 3 zum korrespondierendenTrainingsbeispiel.8.5.1 Erzeugung derHeteroassoziationsmatrixWir erzeugen die Matrix V mit Elementenv sehr ähnlich der Autoassoziationsmatrix,wobei (pro Übergang) p das Trainingsbeispielvor dem Übergang ist und q das aus◭qp zu erzeugende Trainingsbeispiel:v i,j =∑p i q j (8.4)p,q∈P,p≠q◭V◭vD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 135


Kapitel 8 Hopfieldnetzedkriesel.comNetzdurchläuftZuständeinstabilDie Diagonale der Matrix ist wieder mitNullen belegt. Die Adaption der Neuronenzuständeerfolgt im laufenden Betrieb,wie gehabt. Mehrere Übergänge könneneinfach durch Aufsummierung in die Matrixeingebracht werden, wobei auch hierwieder die genannte Begrenzung gegebenist.Definition 8.6 (Lernregel für Heteroassoziationsmatrix):Für zwei Trainingsbeispielep als Vorgänger und q als Nachfolger einesHeteroassoziationsübergangs ergebensich die Gewichte der HeteroassoziationsmatrixV durch die Lernregelv i,j =∑p,q∈P,p≠qp i q j ,wobei sich mehrere Heteroassoziationendurch einfache Aufsummierung in ein <strong>Netze</strong>inbringen lassen.8.5.2 Stabilisierung derHeteroassoziationenWir haben oben das Problem angesprochen,dass die Muster nicht vollständig erzeugtwerden, sondern schon vor Ende derErzeugung bereits das nächste Muster inAngriff genommen wird.Dieses Problem kann umgangen werden,indem das Netz nicht nur durch die HeteroassoziationsmatrixV beeinflusst wird,sondern zusätzlich durch die bereits bekannteAutoassoziationsmatrix W .Zusätzlich wird die Neuronenadaptionsregelso verändert, dass konkurrierende Termeentstehen: Einer, der ein vorhandenesMuster autoassoziiert, und einer, der versucht,eben dieses Muster in seinen Nachfolgerumzuwandeln. Die Assoziationsregelbewirkt hierbei, dass das Netz ein Musterstabilisiert, dort eine Weile bleibt, zumnächsten Muster übergeht, und so weiter.x i (t + 1) = (8.5)⎛⎞∑f act ⎜ w i,j x j (t) + ∑ v i,k x k (t − ∆t)⎟⎝j∈Kk∈K ⎠} {{ } } {{ }AutoassoziationHeteroassoziationDer Wert ∆t bewirkt hierbei anschaulichgesprochen, dass der Einfluss der MatrixV verzögert eintritt, da sie sich nur aufeine um ∆t zurückliegende Version des<strong>Netze</strong>s bezieht. Hierdurch ergibt sich einZustandswechsel, in dem die einzelnenZustände aber zwischendurch für kurzeZeit stabil sind. Setzen wir ∆t auf z.B.zwanzig Schritte, so bekommt die asymmetrischeGewichtsmatrix jegliche Veränderungim Netz erst zwanzig Schritte spätermit, so dass sie zunächst mit der Autoassoziationsmatrixzusammenarbeitet (da sienoch das Vorgängermuster vom aktuellenwahrnimmt) und erst später gegen sie.8.5.3 Biologische Motivation derHeteroassoziationDie Übergänge von stabilen in anderestabile Zustände sind hierbei biologischstark motiviert: Es gab zumindest Anfangder 1990er Jahre Vermutungen, dass mit◭∆tStabilerDurchlauf136 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com8.6 Kontinuierliche Hopfieldnetzedem Hopfieldmodell eine Näherung der Zustandsdynamikim Gehirn erreicht wird,welches vieles durch Zustandsketten realisiert:Wenn ich Sie, lieber Leser, nun bitte,das Alphabet aufzusagen, werden Sie dasin der Regel wesentlich besser schaffen alsmir (bitte sofort versuchen) die Frage zubeantworten:f(x)10.80.60.40.2Fermi−Funktion mit TemperaturparameterWelcher Buchstabe folgt im Alphabetauf den Buchstaben P ?0−4 −2 0 2 4xEin anderes Beispiel ist das Phänomen,dass man etwas vergisst, jedoch den Ortnoch kennt, an dem man zuletzt daran gedachthat. Geht man nun an diesen Ortzurück, fällt einem das Vergessene oftmalswieder ein.8.6 KontinuierlicheHopfieldnetzeBis jetzt haben wir nur Hopfieldnetzemit binären Aktivierungen erforscht. Hopfieldbeschrieb aber auch eine Version seiner<strong>Netze</strong> mit kontinuierlichen Aktivierungen[Hop84], die wir zumindest kurz anschauenwollen: kontinuierliche Hopfieldnetze.Hier wird die Aktivierungnicht mehr durch die binäre Schwellenwertfunktionberechnet, sondern durch dieFermifunktion mit Temperaturparameter(Abb. 8.4).Auch hier ist das Netz für symmetrischeGewichtsmatrizen mit Nullen auf der Diagonalenstabil.Hopfield selbst nennt als Anwendungsbeispielfür kontinuierliche Hopfieldnetze,Abbildung 8.4: Die bereits bekannte Fermifunktionmit verschiedenen Variationen desTemperaturparameters.recht gute Lösungen für das NP-harteTravelling Salesman Problem zu finden[HT85]. Nach einem in [Zel94] beschriebenenFeldversuch kann dieses Statementaber nicht ohne weiteres aufrecht erhaltenwerden. Es gibt heute aber ohnehin schnellereAlgorithmen, um gute Lösungen fürdieses Problem zu finden, weswegen dasHopfieldnetz auch hier keine Anwendungmehr finden kann.ÜbungsaufgabenAufgabe 15: Geben Sie den Speicherbedarffür ein Hopfieldnetz mit |K| = 1000Neuronen an, wenn die Gewichte w i,j alsganze Zahlen gespeichert werden sollen.Kann der Wertebereich der Gewichte eingegrenztwerden, um Speicher zu sparen?D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 137


Kapitel 8 Hopfieldnetzedkriesel.comAufgabe 16: Berechnen Sie die Gewichtew i,j für ein Hopfieldnetz unter Verwendungder TrainingsmengeP ={(−1, −1, −1, −1, −1, 1);(−1, 1, 1, −1, −1, −1);(1, −1, −1, 1, −1, 1)}.138 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Kapitel 9Learning Vector QuantizationLearning Vector Quantization ist ein Lernverfahren mit dem Ziel, invordefinierte Klassen unterteilte Trainingsmengen von Vektoren durch wenigeRepräsentanten-Vektoren möglichst gut wiederzugeben. Ist dies geschafft, soist eine einfache Zuordnung bis dato unbekannter Vektoren in eine dieserKlassen möglich.Allmählich neigt sich Teil II dieser Arbeitdem Ende entgegen – und so möchte ichauch ein Kapitel für den Abschluss diesesTeils schreiben, welches einen schönenÜbergang darstellt: Ein Kapitel überdie von Teuvo Kohonen beschriebeneLearning Vector Quantization (Kurz:LVQ) [Koh89], welche man als verwandtmit den Self Organizing Feature Maps bezeichnenkann. Diese werden direkt im Anschlussbeschrieben, nämlich im nächstenKapitel, welches sich bereits in Teil III derArbeit befindet, da SOMs unüberwachtlernen. Ich möchte also nach der Untersuchungvon LVQ Abschied vom überwachtenLernen nehmen.Gleich im Voraus möchte ich ankündigen,dass es verschiedene Variationen von LVQgibt, die ich zwar erwähnen, aber nichtgenau darstellen werde – es ist mehr dasZiel dieses Kapitels, das zugrundeliegendePrinzip zu erforschen.9.1 Über QuantisierungUm die Learning Vector Quantizationzu erforschen, sollten wir uns zunächstklarmachen, was denn Quantization, zuDeutsch Quantisierung ist, die manauch mit Diskretisierung bezeichnenkann.Jeder von uns kennt den diskreten ZahlenraumN = {1, 2, 3, . . .},in dem die natürlichen Zahlen liegen. Diskretbedeutet, dass dieser Raum aus voneinanderabgetrennten Elementen besteht,die nicht miteinander verbunden sind. Inunserem Beispiel sind diese Elemente ebendiese Zahlen, denn in den natürlichen Zahlengibt es ja beispielsweise keine Zahl zwischen1 und 2. Kontinuierlich ist dagegenbeispielsweise der Raum der reellenZahlen R: Egal, wie nah man daraus zweiDiskret= getrennt139


Kapitel 9 Learning Vector Quantizationdkriesel.comZahlen wählt, es wird immer eine Zahl zwischenihnen geben.Quantisierung bedeutet nun die Unterteilungeines kontinuierlichen Raums in diskreteAbschnitte: Indem man der reellenZahl 2.71828 beispielsweise alle Nachkommastellenentfernt, könnte man diese Zahlder natürlichen Zahl 2 zuweisen. Hierbeiist klar, dass jede andere Zahl mit einer 2vor dem Komma ebenfalls der natürlichenZahl 2 zugewiesen würde, die 2 wäre alsoeine Art Repräsentant für alle reellen Zahlenim Intervall [2; 3).Zu beachten ist, dass wir einen Raumauch unregelmäßig quantisieren können:So wäre der Zeitstrahl einer Woche beispielsweisein Arbeitstage und Wochenendequantisierbar.Ein Spezialfall der Quantisierung ist dieDigitalisierung: Im Fall der Digitalisierungsprechen wir immer von einergleichmäßigen Quantisierung eines kontinuierlichenRaums in ein Zahlensystem zueiner bestimmten Basis. Geben wir beispielsweiseZahlen in den Computer ein,werden diese in das Binärsystem (Basis 2)digitalisiert.Definition 9.1 (Quantisierung): Unterteilungeines kontinuierlichen Raums in diskreteAbschnitte.Definition 9.2 (Digitalisierung):Gleichmäßige Quantisierung.9.2 LVQ unterteilt denEingaberaum in separateBereicheNun können wir schon fast anhand des Namensbeschreiben, was LVQ uns ermöglichensoll: Es soll einen Eingaberaum durcheine Menge von repräsentativen Vektorenin Klassen unterteilen, die ihn möglichstgut wiedergeben (Abb. 9.1 auf der rechtenSeite). Jedes Element des Eingaberaumssoll also einem Vektor als Repräsentanten,also einer Klasse zugeordnet werdenkönnen, wobei die Menge dieser Repräsentantenden ganzen Eingaberaum möglichstgenau repräsentieren soll. Einen solchenVektor nennt man Codebookvektor. EinCodebookvektor ist dann der Repräsentantgenau derjenigen Vektoren des Eingaberaums,die am nächsten bei ihm liegen,was den Eingaberaum in besagte diskreteBereiche unterteilt.Hervorzuheben ist, dass wir im Voraus wissenmüssen, wieviele Klassen wir habenund welches Trainingsbeispiel zu welcherKlasse gehört. Weiter ist wichtig, dass dieKlassen nicht disjunkt sein müssen, siedürfen sich also überlappen.Solche Unterteilungen der Daten in Klassensind interessant bei vielen Problemstellungen,bei denen es nützlich ist, anstattder unter Umständen riesigen Ursprungsmengevon Daten nur ein paar typischeVertreter zu betrachten – sei es, weil esweniger Aufwand ist, oder weil es an Genauigkeiteinfach genügt.Reduktion d.EingaberaumsaufVektoren-Repräsentanten140 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com9.4 Ausrichtung der CodebookvektorenAbbildung 9.1: Beispielquantisierungen eines zweidimensionalen Eingaberaums. Die Linien stellendie Klassengrenzen dar, die × markieren die Codebookvektoren.9.3 Benutzung vonCodebookvektoren: Dernächste gewinnt9.4 Ausrichtung derCodebookvektorenNächsterVektorgewinntDie Benutzung eines einmal angefertigtenSatzes Codebookvektoren ist sehr einfach:Für einen Eingabevektor y entscheidetman die Klassenzugehörigkeit ganz einfachdaran, welcher Codebookvektor amnächsten zu ihm liegt – die Codebookvektorenbilden also ein Voronoidiagrammin unserer Eingabemenge. Da jeder Codebookvektoreindeutig einer Klasse zuzuordnenist, ist hierdurch jeder Eingabevektoreiner Klasse zugeordnet.Wie wir schon angedeutet haben, handeltes sich bei LVQ um ein überwachtesLernverfahren. Wir besitzen also einenTeaching Input, der dem Lernverfahrensagt, ob ein Eingangsmuster richtig oderfalsch klassifiziert wurde: Anders ausgedrücktmüssen wir bereits im Vorhineindie Anzahl der zu repräsentierenden Klassenbzw. die Anzahl der Codebookvektorenkennen.Das Ziel des Lernvorganges ist also grobgesprochen, dass wir eine im Vorhineinbestimmte Anzahl zufällig initialisierterCodebookvektoren durch Trainingsbei-D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 141


Kapitel 9 Learning Vector Quantizationdkriesel.comspiele dazu bringen, die Trainingsdatenmöglichst gut wiederzuspiegeln.9.4.1 Vorgehensweise beim LernenDas Lernen funktioniert nach einem einfachenSchema. Man besitzt (da das Lernenüberwacht ist) eine Menge P von |P |vielen Trainingsbeispielen. Wie wir außerdemschon wissen, sind auch die Klassenvordefiniert, man besitzt also weiterhineine Klassenmenge C. Jeder Klasseist ein Codebookvektor eindeutig zugeordnet,wir können also sagen, dass dieKlassenmenge |C| viele CodebookvektorenC 1 , C 2 , . . . , C |C| enthält.Dies führt uns zum Aufbau der Trainingsbeispiele:Sie sind von der Form (p, c),enthalten also zum einen den Trainings-Eingabevektor p und zum anderen dessenKlassenzugehörigkeit c. Für die Klassenzugehörigkeitgilt hierbeic ∈ {1, 2, . . . , |C|},sie ordnet also das Trainingsbeispiel eindeutigeiner Klasse bzw. einem Codebookvektorzu.Bemerkung: Intuitiv könnte man zumLernen nun sagen: ”Wozu ein Lernverfahren?Wir rechnen den Durchschnitt allerKlassenmitglieder aus, platzieren dort derenCodebookvektor und gut.“ Dass unserLernverfahren aber wesentlich mehrmacht, werden wir gleich sehen.Wir wollen nun kurz die Schritte desgrundsätzlichen LVQ-Lernverfahrens betrachten:Initialisierung: Wir platzieren unserenSatz Codebookvektoren auf zufälligeOrte im Eingaberaum.Trainingsbeispiel: Ein Trainingsbeispiel paus unserer Trainingsmenge P wirdgewählt und präsentiert.Abstandsmessung: Wir messen den Abstand||p − C|| aller CodebookvektorenC 1 , C 2 , . . . , C |C| zu unserer Eingabep.Gewinner: Der naheliegendste Codebookvektorgewinnt, also derjenige mitmin ||p − C i||.C i ∈CLernvorgang: Der Lernvorgang findetdurch die Regel∆C i = η(t) · h(p, C i ) · (p − C i )(9.1)C i (t + 1) = C i (t) + ∆C i (9.2)statt, die wir nun aufschlüsseln wollen.⊲ Der erste Faktor η(t) ist, wiewir schon oft gesehen haben, einezeitabhängige Lernrate, die es unsermöglicht, zwischen großen Lernschrittenund Fine-Tuning zu differenzieren.⊲ Der letzte Faktor (p − C i ) ist offensichtlichdie Richtung, in die wir denCodebookvektor verschieben.⊲ Kernstück aber ist die Funktionh(p, C i ): Sie trifft eine Fallunterscheidung.142 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com9.5 Verbindung zu <strong>Neuronale</strong>n <strong>Netze</strong>nWichtig!Zuweisung richtig: Der Gewinnervektorist der Codebookvektorder Klasse, der p zugehörigist. In diesem Fall liefert dieFunktion positive Werte, derCodebookvektor bewegt sichauf das p zu.Zuweisung falsch: Der Gewinnervektorrepräsentiert nicht die Klasse,der p zugehörig ist. Er bewegtsich daher von p weg.Wir sehen, dass wir die Funktion h nichtgenau definiert haben. Aus gutem Grund:Ab hier teilt sich LVQ in verschiedeneNuancen auf, abhängig davon wie exakth und die Lernrate bestimmt sein sollen(genannt LVQ1, LVQ2, LVQ3, OLVQ,etc). Die Unterschiede liegen beispielsweisein der Stärke der Codebookvektor-Bewegungen. Sie haben aber alle das gleichehier dargestellte Grundprinzip gemeinsam,und wie angekündigt möchte ich sienicht weiter betrachten – insofern schreibeich auch keine formalen Definitionen zuobiger Lernregel und LVQ an sich auf.ein Codebookvektor), während alle anderenvon ihm inhibiert werden.Ich setze das kurze Kapitel über LearningVector Quantization an diese Stelle imScript, weil wir im folgenden Kapitel überSelf Organizing Maps den Ansatz weiterverfolgenwollen: Wir werden weitere Eingabenmithilfe von im Eingangsraum verteiltenNeuronen klassifizieren, nur, dasswir diesmal nicht wissen, welche Eingabezu welcher Klasse gehört.Kommen wir nun zu den unüberwacht lernenden<strong>Netze</strong>n!ÜbungsaufgabenAufgabe 17: Geben Sie eine Quantisierungan, die im 5-dimensionalen EinheitswürfelH alle Vektoren H ∈ Hgleichmäßig in eine von 1024 Klassen einteilt.9.5 Verbindung zu<strong>Neuronale</strong>n <strong>Netze</strong>nBis jetzt kann man sich trotz des Lernvorgangesfragen, was denn LVQ mit <strong>Neuronale</strong>n<strong>Netze</strong>n zu tun hat. Man kann dieCodebookvektoren als Neuronen mit festemOrt im Inputraum ansehen, ähnlichwie bei RBF-<strong>Netze</strong>n. Zudem ist es in derVektoren= Neurone? Natur oft so, dass ein Neuron pro Gruppefeuern darf (ein Gewinnerneuron, hierD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 143


Teil IIIUnüberwacht lernendeNetzparadigmen145


Kapitel 10Self Organizing Feature MapsEin Paradigma unüberwacht lernender <strong>Neuronale</strong>r <strong>Netze</strong>, welches einenEingaberaum durch seine feste Topologie kartographiert und so selbstständignach Ähnlichkeiten sucht. Funktion, Lernverfahren, Variationen und<strong>Neuronale</strong>s Gas.Wie speichertGehirn Daten?Betrachtet man die Konzepte biologischer<strong>Neuronale</strong>r <strong>Netze</strong> in der Einleitung, sokann man sich die Frage stellen, wie dennunser Gehirn die Eindrücke, die es täglicherhält, speichert und abruft – hier sei hervorgehoben,dass das Gehirn keine Trainingsbeispiele,also keine gewünschte Ausgabe“hat, und wo wir schon darüber nach-”denken, merken wir, dass auch keine Ausgabein diesem Sinne vorhanden ist: UnserGehirn ist nicht wie eine Abbildungoder ein Perceptron, das Eingabewerte aufAusgabewerte abbildet. Unser Gehirn reagiertauf Eingaben von außen mit Zustandsänderungen– diese sind sozusagenseine Ausgabe.Basierend auf diesem Grundsatz und derFrage nachgehend, wie biologische <strong>Neuronale</strong><strong>Netze</strong> sich selbst organisieren können,schuf Teuvo Kohonen in den 1980er Jahrenseine Self Organizing Feature Maps[Koh82, Koh98], kurz Self OrganizingMaps oder SOMs genannt – ein Paradigma<strong>Neuronale</strong>r <strong>Netze</strong>, in dem der Zustanddes <strong>Netze</strong>s die Ausgabe ist, und das vollkommenunüberwacht, also ohne Teacherlernt.Im Unterschied zu anderen Netzparadigmen,welche wir bereits kennengelernt haben,stellt man bei SOMs keine Fragen danach,was die Neurone berechnen – manfragt nur, welches Neuron gerade aktiv ist.Dies ist biologisch sehr gut motiviert: Sindin der Biologie Neurone mit bestimmtenMuskeln verbunden, interessiert es in allerRegel weniger, wie stark ein bestimmterMuskel kontrahiert wird, sondern welcherMuskel angesteuert wird. Anders ausgedrückt:Es interessiert nicht, was genauNeurone ausgeben, sondern welches Neuronetwas ausgibt. SOMs sind also wesentlichbiologieverwandter als z.B. dieFeedForward-<strong>Netze</strong>, die wir vermehrt fürRechenaufgaben nutzen.Keine Ausgabe,aber aktivesNeuron147


Kapitel 10 Self Organizing Feature Mapsdkriesel.com10.1 Aufbau einer SelfOrganizing Map Hochdim.Eingabe↓Niedrigdim.KarteEingaberaumund TopologieSOMs haben – wie das Gehirn – typischerweisedie Aufgabe, einen hochdimensionalenInput (N Dimensionen) auf Bereichein einem niedrigdimensionalen Gitter(G Dimensionen) abzubilden, also sozusageneine Karte von dem hochdimensionalenRaum zu zeichnen. Um diese Karte zuerschaffen, erhält die SOM einfach beliebigviele Punkte aus dem Inputraum. DieSOM wird während der Eingabe der Punkteversuchen, die Orte, auf denen die Punkteauftreten, so gut wie möglich mit ihrenNeuronen abzudecken. Dies bedeutetinsbesondere, dass jedes Neuron einem bestimmtenOrt im Inputraum zuzuordnenist.Diese Fakten sind zunächst etwas verwirrend,man muss sie kurz durchdenken. Esgibt also zwei Räume, in denen SOMs arbeiten:⊲ Den N-dimensionalen Eingaberaumund⊲ das G-dimensionale Gitter, auf demdie Neurone liegen bzw. das die Nachbarschaftsbeziehungender Neuroneund damit die Netztopologie angibt.Bei einem eindimensionalen Gitter könntendie Neurone beispielweise wie an einerPerlenkette aufgereiht sein, jedes Neuronwürde genau zwei Nachbarn besitzen (bisauf die beiden End-Neurone). Ein zweidimensionalesGitter könnte eine rechtwinkligeAnordnung von Neuronen sein Abbildung 10.1: Beispieltopologien einer SelfOrganizing Map – Oben eine eindimensionale Topologie,unten eine zweidimensionale.(Abb. 10.1). Eine weitere denkbare Anordnungim zweidimensionalen wäre in einerArt Wabenform. Auch ungleichmäßigeTopologien sind möglich, wenn auchnicht sehr häufig. Topologien mit mehrDimensionen und wesentlich mehr Nachbarschaftsbeziehungenwären auch denkbar,werden aber aufgrund der mangelndenVisualisierungsfähigkeit nicht oft eingesetzt.Bemerkung: Auch dann, wenn N = Ggilt, sind die beiden Räume nicht gleichund müssen unterschieden werden – sie habenin diesem Spezialfall nur die gleicheDimension.Wir werden die Funktionsweise einer SelfOrganizing Map nun zunächst kurz formalWichtig!148 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.2 Funktionsweise und Ausgabeinterpretationdas gerade zu adaptierende Neuron (hier-zu kommen wir später noch) und t der Zeitschritt.Wir bezeichnen die Dimension derTopologie mit G.c◮K◮N◮i◮k◮G◮betrachten und dann an einigen Beispielenklarmachen.Definition 10.1 (SOM-Neuron): Ähnlichden Neuronen in einem RBF-Netz besitztein SOM-Neuron k eine feste Position c k(ein Zentrum) im Eingaberaum.Definition 10.2 (Self Organizing Map):Eine Self Organizing Map ist eine MengeK von SOM-Neuronen. Bei Eingabe einesEingabevektors wird genau dasjenige Neuronk ∈ K aktiv, welches dem Eingabemusterim Eingaberaum am nächsten liegt.Die Dimension des Eingaberaumes nennenwir N.Definition 10.3 (Topologie): Die Neuronesind untereinander durch Nachbarschaftsbeziehungenverbunden. Diese Nachbarschaftsbeziehungennennen wir Topologie.Die Topologie nimmt starken Einflussauf das Training einer SOM. Sie wirddurch die Topologiefunktion h(i, k, t) definiert,wobei i das Gewinnerneuron 1 ist, k10.2 SOMs aktivieren immerdas Neuron, was derEingabe am nächstenliegtWie viele andere <strong>Neuronale</strong> <strong>Netze</strong>, mussdie SOM erst trainiert werden, bevor man1 Wir werden noch erfahren, was ein Gewinnerneuronist.sie benutzt. Betrachten wir aber vor demTraining noch die sehr einfache Funktionsweiseeiner fertigen Self Organizing Map,da sie einige Analogien zum Training besitzt.Die Funktionsweise setzt sich aus folgendenSchritten zusammen:Eingabe eines beliebigen Wertes p ausdem Eingangsraum R N .Abstandsberechnung von jedem Neuronk zu p durch eine Norm – also Berechnungvon ||p − c k ||.Ein Neuron wird aktiv, nämlich genaudas Neuron i mit dem kürzesten obenberechneten Abstand zur Eingabe –alle anderen Neurone sind nicht aktiv.Dieses Paradigma der Aktivität heißtauch Winner-Takes-All-Schema. DieAusgabe, welche wir zu einer Eingabevon einer SOM erwarten, ist, welchesNeuron aktiv wird.Bemerkung: Viele Literaturstellenbeschreiben die SOM wesentlich formaler:Es wird oft eine Eingabeschicht beschrieben,die in Richtung einer SOM-Schichtvollverknüpft ist. Die Eingabeschicht (NNeurone) leitet dann alle Eingaben an dieSOM-Schicht weiter. Die SOM-Schicht istin sich lateral vollverknüpft, so dass sichein Gewinnerneuron herausbilden und dieanderen Neurone inhibieren kann. Ichfinde diese Art, eine SOM zu beschreiben,nicht sehr anschaulich und habe versucht,den Netzaufbau hier anschaulicher zubeschreiben.Nun ist die Frage, welches Neuron bei welcherEingabe aktiv wird – und genau diesEingabe↓GewinnerD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 149


Kapitel 10 Self Organizing Feature Mapsdkriesel.comist die Frage, die uns das Netz währenddes Trainings von alleine beantwortet.Adaption der Zentren: Die Zentren derNeurone werden innerhalb des Eingangsraumesnach der Vorschrift 2Training:Eingabe,→ Gewinner i,Ortsänderungi und Nachbarn10.3 Training bringt dieSOM-Topologie dazu,den EingaberaumabzudeckenDas Training einer SOM ist ähnlich überschaubarwie die eben beschriebene Funktionsweise.Es gliedert sich im Wesentlichenin fünf Schritte, die teilweise deckungsgleichmit denen der Funktionsweisesind.Initialisierung: Start des <strong>Netze</strong>s mitzufälligen Neuronenzentren c k ∈ R Naus dem Eingangsraum.Anlegen eines Eingangsmusters: Eswird ein Stimulus, also ein Punkt paus dem Eingangsraum R N gewählt.Dieser Stimulus wird nun in das <strong>Netze</strong>ingegeben.Abstandsmessung: Für jedes Neuron kim Netz wird nun der Abstand ||p −c k || bestimmt.Winner takes all: Es wird das Gewinnerneuroni ermittelt, welches denkleinsten Abstand zu p besitzt, das alsoder Bedingung∆c k = η(t) · h(i, k, t) · (p − c k ),versetzt, wobei die Werte ∆c k einfachauf die bisherigen Zentren addiertwerden. Aus dem letzten Faktorwird bereits offensichtlich, dass dieOrtsänderung der Neurone k proportionalzu der Entfernung zum eingegebenenMuster p und wie gewohnt zueiner zeitabhängigen Lernrate η(t) ist.Die oben besprochene Topologie des<strong>Netze</strong>s nimmt ihren Einfluss durch dieFunktion h(i, k, t), die wir im Folgendenerforschen werden.Definition 10.4 (SOM-Lernregel): EineSOM wird trainiert, indem ihr ein Eingabemusterpräsentiert und das Gewinnerneurondazu ermittelt wird. Das Gewinnerneuronund seine durch die Topologiefunktiondefinierten Nachbarneuronen adaptierendann ihre Zentren nach der Vorschrift∆c k = η(t) · h(i, k, t) · (p − c k ),(10.1)c k (t + 1) = c k (t) + ∆c k (t). (10.2)||p − c i || ≤ ||p − c k ||∀ k ≠ igenügt. Wie aus der Bedingung ersichtlich,kann man bei mehreren Gewinnerneuroneneines nach Beliebenwählen.2 Achtung: Viele Quellen schreiben diese Vorschriftηh(p−c k ), was dem Leser fälschlicherweise suggeriert,dass es sich bei h um eine Konstante handelt.Dieses Problem ist einfach lösbar, indem man dieMultiplikationspunkte · nicht weglässt.150 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.3 TrainingAuf GitterdefiniertNur 1 Maximumbei Gewinner10.3.1 Die Topologiefunktionbestimmt, wie stark einlernendes Neuron seineNachbarn beeinflusstDie Topologiefunktion h ist nicht aufdem Eingangsraum, sondern auf dem Gitterdefiniert und stellt die Nachbarschaftsbeziehungenzwischen den Neuronen dar– also die Topologie des <strong>Netze</strong>s. Sie kannzeitabhängig sein (und ist es auch oft) –dies erklärt den Parameter t. Der Parameterk ist der durch alle Neurone laufendeIndex, und der Parameter i ist der Indexdes Gewinnerneurons.Prinzipiell ist der Sinn der Funktion, einengroßen Wert anzunehmen, falls k Nachbardes Gewinners oder gar der Gewinnerselbst ist, und kleine Werte, falls nicht.Schärfer definiert: Die Topologiefunktionmuss unimodal sein, also genau ein Maximumbesitzen – dieses Maximum mussbeim Gewinnerneuron i liegen, das zu sichselbst natürlich die Entfernung 0 hat.Zusätzlich macht es uns die Zeitabhängigkeitbeispielsweise möglich, die Nachbarschaftmit der Zeit schrumpfen zu lassen.Um große Werte für Nachbarn von i undkleine Werte für Nicht-Nachbarn ausgebenzu können, braucht die Funktion heine Art Abstandsbegriff auf dem Gitter,irgendwoher muss sie also wissen, wie weiti und k auf dem Gitter voneinander entferntsind. Es gibt verschiedene Methodenzur Berechnung des Abstandes.Hierfür könnte bei einem zweidimensionalenGitter z.B. der euklidische Abstand(unterer Teil der Abb. 10.2 auf Seite153) verwendet werden oder bei einemeindimensionalen Gitter einfach die Anzahlder Verbindungen zwischen den Neuroneni und k (oberer Teil derselben Abbildung).Definition 10.5 (Topologiefunktion): DieTopologiefunkton h(i, k, t) beschreibt dieNachbarschaftsbeziehungen in der Topologie.Sie kann eine beliebige unimodaleFunktion sein, die maximal wird, wenni = k gilt. Eine Zeitabhängigkeit ist optional,wird aber oft verwendet.10.3.1.1 Vorstellung gängiger AbstandsundTopologiefunktionenEine gängige Abstandsfunktion wäre beispielsweisedie uns schon bekannte Gaußglocke(siehe auch Abb. 10.3 auf der folgendenSeite). Sie ist unimodal mit einemMaximum bei 0, zusätzlich kann siedurch ihren Parameter σ in ihrer Breiteverändert werden, was wir für die Realisierungder mit der Zeit schrumpfenden Nachbarschaftnutzen können: Wir beziehen dieZeitabhängigkeit einfach auf das σ, erhaltenalso ein monoton sinkendes σ(t). UnsereTopologiefunktion könnte dann wiefolgt aussehen:h(i, k, t) = e(− ||g i −g k ||22·σ(t) 2 ), (10.3)wobei hier g i und g k die Positionen derNeurone auf dem Gitter sind, nicht im Eingaberaum,welche wir mit c i und c k bezeichnenwürden.◭σD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 151


Kapitel 10 Self Organizing Feature Mapsdkriesel.com1Gauss−Glocke in 1D1Kegelfunktion0.80.80.60.6h(r)0.4f(x)0.40.20.20−2 −1.5 −1 −0.5 0 0.5 1 1.5 2r0−4 −2 0 2 4x1Zylinderfunktion3.53Mexican Hat Function0.82.52f(x)0.60.4f(x)1.510.50.20−0.50−4 −2 0 2 4x−1−1.5−3 −2 −1 0 1 2 3xAbbildung 10.3: Gaußglocke, Kegelfunktion, Zylinderfunktion und die von Kohonen vorgeschlageneMexican-Hat-Funktion als Beispiele für Topologiefunktionen einer SOM.152 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.3 Training i 1 k k 2.23 i Weitere Funktionen, die anstatt der Gaußfunktioneingesetzt werden können, sindzum Beispiel die Kegelfunktion, die Zylinderfunktionoder die Mexican-Hat-Funktion (Abb. 10.3 auf der linken Seite).Die Mexican-Hat-Funktion bietet hierbeieine besondere biologische Motivation:Sie stößt durch ihre negativen Stellen mancheNeurone in der Umgebung des Gewinnerneuronsab, was man auch in der Naturschon beobachtet hat. Dies kann fürschärfere Abgrenzung der Kartenbereichesorgen – genau aus diesem Grund wurdesie auch von Teuvo Kohonen selbst vorgeschlagen.Diese Regulierungseigenschaftist aber für die Funktion der Karte an sichnicht notwendig, es kann sogar passieren,dass dadurch die Karte divergiert, also gewissermaßenexplodiert. Abbildung 10.2: Beispiel-Abstände einer eindimensionalenSOM-Topologie (oben) und einerzweidimensionalen SOM-Topologie (unten) zwischenzwei Neuronen i und k. Im unteren Fallbilden wir den Euklidischen Abstand (im zweidimensionalenäquivalent zum Satz des Pythagoras).Im oberen Fall wird einfach die diskreteWeglänge zwischen i und k abgezählt. In beidenFällen habe ich der Einfachheit halber eine festeGitterkantenlänge von 1 gefordert.10.3.2 Lernraten undNachbarschaften könnenüber die Zeit monotonsinkenDamit in den späteren Phasen des Trainingsnicht mehr die ganze Karte sehrstark in Richtung eines neuen Mustersgezogen wird, wird bei den SOMs oftmit zeitlich monoton sinkenden Lernratenund Nachbarschaftsgrößen gearbeitet.Sprechen wir zunächst über die Lernrate:Typische Größenordnungen für den Zielwertder Lernrate sind zwei Größenordnungenkleiner als der Startwert, beispielsweisekönnte gelten0.01 < η < 0.6.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 153


Kapitel 10 Self Organizing Feature Mapsdkriesel.comDiese Größe ist aber auch wieder abhängigzu machen von der Netztopologie bzw. derGröße der Nachbarschaft.Eine sinkende Nachbarschaftsgröße kann,wie wir gesehen haben, beispielsweise miteinem zeitabhängig monoton sinkenden σbei Benutzung der Gaußglocke in der Topologiefunktionrealisiert werden.Der Vorteil bei einer sinkenden Nachbarschaftsgrößeist, dass ein sich bewegendesNeuron zu Anfang viele Neurone in seinerUmgebung ”mitzieht“, sich das zufälliginitialisierte Netz also am Anfang schnellund sauber entfalten kann. Zum Ende desLernvorganges hin werden nur noch wenigeNeurone auf einmal beeinflusst, was dasNetz im Gesamten steifer macht, aber eingutes ”fine tuning“ der einzelnen Neuroneermöglicht.Zu beachten ist weiterhin, dass stetsh · η ≤ 1gelten muss, sonst würden Neurone andauerndam aktuellen Trainingsbeispiel vorbeischießen.Doch nun genug der Theorie – betrachtenwir eine SOM im Einsatz!In diesem Beispiel verwenden wir einenzweidimensionalen Eingangsraum, es giltalso N = 2. Die Gitterstruktur sei eindimensional(G = 1). Weiterhin soll unsereBeispiel-SOM aus insgesamt 7 Neuronenbestehen und die Lernrate sei η = 0.5.Auch unsere Nachbarschaftsfunktion haltenwir recht einfach, um das Netz im Kopfnachvollziehen zu können:⎧⎪⎨ 1 k direkter Nachbar von i,h(i, k, t) = 1 k = i,⎪⎩0 sonst.(10.4)Wir betrachten jetzt das soeben beschriebeneNetz mit zufälliger Initialisierung derZentren (Abb. 10.4 auf der rechten Seite)und geben ein Trainingsmuster p ein.Offensichtlich liegt das Eingangsmuster inunserem Beispiel dem Neuron 3 am nächsten– dieses ist also der Gewinner.Wir erinnern uns an die Lernvorschrift fürSOMs∆c k = η(t) · h(i, k, t) · (p − c k )und arbeiten die drei Faktoren von hintennach vorne ab:10.4 Beispiele für dieFunktionsweise vonSOMsBeginnen wir mit einem einfachen, imKopf nachvollziehbaren Beispiel.Lernrichtung: Wir erinnern uns, dass dieNeuronenzentren c k Vektoren im Eingangsraumsind, genau wie das Musterp. Der Faktor (p − c k ) gibt unsalso den Vektor vom Neuron k zumMuster p an. Dieser wird nun mit verschiedenenSkalaren multipliziert:154 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.4 Beispiele 1 1 2 2 7 3 4 4 6 5 6 3 p 5 7Abbildung 10.4: Darstellung des zweidimensionalen Eingaberaumes (links) und des eindimensionalenTopologieraumes (rechts) einer Self Organizing Map. Neuron 3 ist das Gewinnerneuron, da es pam nächsten liegt. Die Nachbarn von 3 in der Topologie sind die Neurone 2 und 4. Die Pfeile markierendie Bewegung des Gewinnerneurons und seiner Nachbarn in Richtung des Trainingsbeispielsp.Die eindimensionale Topologie des <strong>Netze</strong>s ist hier zur Veranschaulichung durch die gepunktetenLinien in den Eingangsraum aufgetragen. Die Pfeile markieren die Bewegung des Gewinners undseiner Nachbarn auf das Muster zu.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 155


Kapitel 10 Self Organizing Feature Mapsdkriesel.comTopologiebestimmt,wer lerntUnsere Topologiefunktion h besagt, dassnur das Gewinnerneuron und seinebeiden nächsten Nachbarn (hier: 2und 4) lernen dürfen, indem sie beiallen anderen Neuronen 0 ausgibt. EineZeitabhängigkeit ist nicht gegeben.Unser Vektor (p−c k ) wird also entwedermit 1 oder mit 0 multipliziert.Die Lernrate gibt, wie immer, die Stärkedes Lernens an. Es gilt wie schon gesagtη = 0.5 – wir kommen also insgesamtauf das Ergebnis, dass sich dasGewinnerneuron und seine Nachbarn(hier: Die Neurone 2, 3 und 4) demMuster p um die Hälfte des Wegesnähern (dies markieren die Pfeile inder Abbildung).Obwohl das Zentrum von Neuron 7vom Eingangsraum aus gesehen wesentlichnäher am Eingangsmuster p liegt als dasNeuron 2, lernt das Neuron 2, und das Neuron7 nicht. Ich möchte daran noch einmaldeutlich machen, dass die Netztopologiebestimmt, welches Neuron mitlernendarf, und nicht die Lage im Eingangsraum.Dies ist genau der Mechanismus, durchden eine Topologie einen Eingangsraumaussagekräftig abdecken kann, ohne mitihm auf irgendeine Weise verwandt sein zumüssen.Nach der Adaption der Neurone 2, 3 und4 wird das nächste Muster angelegt, undso weiter, und so fort. Ein weiteres Beispiel,wie sich eine solche eindimensionaleSOM im zweidimensionalen Inputraumbei gleichverteilten Inputmustern über dieZeit entwickeln kann, sehen wir an der Abbildung10.5 auf der rechten Seite.Endzustände von ein- und zweidimensionalenSOMs bei verschieden geformten Inputräumensehen wir in der Abbildung 10.6auf Seite 158. Wie wir sehen, sind nichtalle Inputräume durch jede Netztopologieschön abdeckbar, es gibt sogenannte freiliegendeNeurone – Neurone, welche in einemBereich liegen, in dem kein Inputmusterje aufgetreten ist. Eine eindimensionaleTopologie produziert in der Regel wenigerfreiliegende Neurone als eine zweidimensionale:Beispielsweise beim Trainingauf ringförmig angeordnete Eingabemusterist es bei einer zweidimensionalen quadratischenTopologie so gut wie unmöglich,die freiliegenden Neurone in der Mitte desRings zu verhindern – diese werden jawährend des Trainings in jede Richtunggezogen, so dass sie schlussendlich einfachin der Mitte bleiben. Das macht die eindimensionaleTopologie aber keineswegszur Optimaltopologie, da sie nur wenigerkomplexe Nachbarschaftsbeziehungen findenkann als eine mehrdimensionale.10.4.1 Topologische Defekte sindFehlentfaltungen der SOMEs kann während des Entfaltens einerSOM vorkommen, dass diese einen TopologischenDefekt (Abb. 10.7 auf Seite159) bildet, sich also nicht richtig entfaltet.Ein Topologischer Defekt kann am bestenmit dem Wort ”Verknotung“ beschriebenwerden.Ein Mittel gegen Topologische Defektekann sein, die Startwerte für die Nachbarschaftsgrößezu erhöhen, denn je komple-” Knoten“in Karte156 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.4 BeispieleAbbildung 10.5: Verhalten einer SOM mit eindimensionaler Topologie (G = 1) nach Eingabe von0, 100, 300, 500, 5000, 50000, 70000 und 80000 zufällig verteilten Eingabemustern p ∈ R 2 . η fielwährend des Trainings von 1.0 auf 0.1, der σ-Parameter der als Nachbarschaftsmaß eingesetztenGauß-Funktion von 10.0 auf 0.2.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 157


Kapitel 10 Self Organizing Feature Mapsdkriesel.comAbbildung 10.6: Endzustände von eindimensionalen (linke Spalte) und zweidimensionalen (rechteSpalte) SOMs auf verschieden abgedeckten Inputräumens. Genutzt wurden bei eindimensionalerTopologie 200 Neurone, bei zweidimensionaler 10 × 10 Neurone und bei allen Karten 80.000Eingabemuster.158 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.5 Auflösungsdosierung und ortsabhängige LernrateWir haben gesehen, dass eine SOM trainiertwird, indem hintereinander immerwieder Eingabemuster aus dem EingangsraumR N eingegeben werden, so dass sichdie SOM an diesen Mustern ausrichtenund diese kartographieren wird. Es kannnun vorkommen, dass wir eine bestimmteUntermenge U des Eingaberaums genauerkartographiert haben möchten als denRest.Abbildung 10.7: Ein Topologischer Defekt in einerzweidimensionalen SOM.xer die Topologie ist (bzw. je mehr Nachbarnjedes Neuron besitzt, man könnte jaauch dreidimensionale oder wabenförmigezweidimensionale Topologien erzeugen) destoschwerer ist es für eine zufällig initialisierteKarte, sich zu entfalten.10.5 Man kann die Auflösungeiner SOM ortsabhängigdosierenDie Lösung dieses Problems kann mitSOMs denkbar einfach realisiert werden:Wir präsentieren der SOM während desTrainings ganz einfach überproportionalviele Eingabemuster aus diesem BereichU. Werden der SOM mehr Trainingsmusteraus U ⊂ R N präsentiert als aus demRest R N \ U, so werden sich dort auchmehr Neurone zusammenfinden, währendsich die restlichen Neurone auf R N \ Udünner verteilen (Abb. 10.8 auf der folgendenSeite).Wie in der Abbildung ersichtlich, kann soder Rand der SOM etwas deformiert werden– dies ist ausgleichbar, indem mandem Rand des Inputraumes ebenfalls eineetwas höhere Wahrscheinlichkeit zuweist,von Trainingsmustern getroffen zu werden(eine Taktik, die man sowieso oft anwendet,um mit den SOMs besser ”in dieEcken zu kommen“).Auch wird oft bei den Rand- bzw. Eckneuroneneine höhere Lernrate angewandt, dasie durch die Topologie nur nach innen gezogenwerden - auch dies sorgt für eine signifikantbessere Eckabdeckung.Mehr Muster↓höhereAuflösungD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 159


Kapitel 10 Self Organizing Feature Mapsdkriesel.comAbbildung 10.8: Training einer SOM mit G = 2 auf einen zweidimensionalen Inputraum. Linkswar die Wahrscheinlichkeit für jede Koordinate des Inputraumes, zum Trainingsmuster zu werden,gleich. Rechts war sie für den zentralen Kreis im Inputraum mehr als zehnmal so groß wie fürden Rest des Inputraumes (sichtbar an der größeren Musterdichte im Hintergrund). Offensichtlichdrängen sich die Neurone in diesem Kreis viel stärker und der restliche Bereich ist etwas undichterabgedeckt, aber immer noch jeweils einigermaßen gleichmäßig. Beide SOMs wurden mit 80.000Trainingsbeispielen und abfallendem η (1 → 0.2) sowie abfallendem σ (5 → 0.5) trainiert.160 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.6 Anwendung10.6 Anwendung von SOMsSelf Organizing Maps und ihre Variationenhaben eine Vielzahl von Anwendungsgebietenin Bezug auf die biologisch inspirierteassoziative Speicherung von Daten.Beispielsweise ist es gelungen, auf einerSOM mit einer zweidimensionalen diskretenGittertopologie die verschiedenen Phonemeder Finnischen Sprache abzubildenund so Nachbarschaften zu finden (eineSOM macht ja nichts anderes, als Nachbarschaftsbeziehungenzu finden). Man versuchtalso wieder, einen hochdimensionalenRaum auf einen niederdimensionalenRaum (die Topologie) herabzubrechen,schaut, ob sich irgendwelche Strukturenherausbilden – und siehe da: Es bilden sichklar definierte Bereiche für die einzelnenPhoneme heraus.Teuvo Kohonen selbst hat sich dieMühe gemacht, eine Vielzahl von Papern,welche seine SOMs erwähnen, nachSchlüsselwörtern zu durchsuchen. In diesemgroßen Eingangsraum besetzen jetztdie einzelnen Paper einzelne Positionen, jenach Schlüsselwortvorkommen. Kohonenhat dann eine SOM mit G = 2 kreiert unddamit den von ihm erstellten hochdimensionalenPaper-Raum“ durch sie kartographieren”lassen.Gehirn-ähnlicher kontextbasierter Suchefunktioniert noch bei vielen anderenInputräumen.Festzuhalten ist, dass das System selbstfestlegt, was innerhalb der Topologie benachbart,also ähnlich ist – genau dasmacht es so interessant.An diesem Beispiel ist direkt ersichtlich,dass die Lage c der Neurone im Inputraumnicht aussagekräftig ist. Interessant ist esvielmehr, nun zu schauen, welches Neuronbei Eingabe eines bis jetzt unbekanntenInputmusters aktiv wird. Man kann alsnächstes schauen, bei welchen bisherigenEingaben genau dieses Neuron ebenfallsaktiv war – und hat sofort eine Gruppevon einander sehr ähnlichen Eingaben entdeckt.Je weiter nun Eingaben innerhalbder Topologie auseinander liegen, um soweniger Gemeinsamkeiten haben sie. DieTopologie bildet also quasi eine Karte derMerkmale der Eingaben – reduziert aufanschaulich wenige Dimensionen im Vergleichzur Inputdimension.Oftmals ist die Topologie einer SOM daherzweidimensional, da sie sich so sehr gutvisualisieren lässt, während der Eingaberaumsehr hochdimensional sein kann.SOM findetÄhnlichkeitenMan kann also ein Paper, an dem man Gefallenfindet, in die fertig trainierte SOMeingeben und schauen, welches Neuronin der SOM davon aktiviert wird. Wahrscheinlichwird man feststellen, dass manan den in der Topologie benachbarten Papernauch Gefallen findet. Diese Art von10.6.1 Mit SOMSs kann manZentren für RBF-NeuronefindenSOMs richten sich genau auf die Orte derausgehenden Eingaben aus – demzufolgeD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 161


Kapitel 10 Self Organizing Feature Mapsdkriesel.comwerden sie z.B. gerne genutzt, um die Zentreneines RBF-<strong>Netze</strong>s zu wählen. Das Paradigmader RBF-<strong>Netze</strong> haben wir bereitsin Kapitel 6 kennengelernt.Wie wir bereits gesehen haben, kann mansogar steuern, welche Bereiche des Inputraumsmit höherer Auflösung abgedecktwerden sollen – oder im Zusammenhangmit RBF-<strong>Netze</strong>n gesprochen, welche Bereicheunserer Funktion das RBF-Netz mitmehr Neuronen, also genauer bearbeitensoll. Als zusätzliches nützliches Merkmalder Kombination aus RBF-Netz und SOMkann man die duch die SOM erhaltene Topologienutzen, um beim schlussendlichenTraining eines Neurons des RBF-<strong>Netze</strong>sbenachbarte“ RBF-Neurone auf verschiedeneWeisen mit zu”beeinflussen.Viele Simulatoren <strong>Neuronale</strong>r <strong>Netze</strong> bietenhierfür eine zusätzliche sogenannte SOM-Schicht im Zusammenhang mit der Simulationvon RBF-<strong>Netze</strong>n an.10.7 Variationen von SOMsFür verschiedene Variationen der Repräsentationsaufgabengibt es auch verschiedeneVariationen der SOMs:10.7.1 Ein <strong>Neuronale</strong>s Gas ist eineSOM ohne feste TopologieDas <strong>Neuronale</strong> Gas ist eine Variationder Self Organizing Maps von ThomasMartinetz [MBS93], die aus der Schwierigkeitheraus entstanden ist, komplizierteInputformationen abzubilden, welche sichteilweise nur in Unterräumen des Inputraumsabspielen oder die Unterräume sogarwechseln (Abb. 10.9 auf der rechtenSeite).Die Idee von einem <strong>Neuronale</strong>n Gas bestehtgrob gesprochen darin, ein SOM ohneGitterstruktur zu realisieren. Die Lernschrittesehen aufgrund der Abstammungvon den SOMs den SOM-Lernschrittenauch sehr ähnlich, haben aber einen zusätzlichenZwischenschritt:⊲ Wieder zufällige Initialisierung derc k ∈ R n⊲ Wahl und Präsentation eines Mustersaus dem Eingangsraum p ∈ R n⊲ Neuronenabstandsmessung⊲ Ermittlung des Gewinnerneurons i⊲ Zwischenschritt: Bilden einer nachder Entfernung zum Gewinnerneuronaufsteigend sortierten Liste L vonNeuronen. Erstes Neuron in der ListeL ist also das Neuron, was dem Gewinnerneuronam nächsten liegt.⊲Ändern der Zentren durch die bekannteVorschrift, aber der leicht modifiziertenTopologiefunktionh L (i, k, t).Die gegenüber der ursprünglichenFunktion h(i, k, t) modifizierte Funktionh L (i, k, t) sieht nun jeweils die erstenElemente der Liste als Nachbarschaft desGewinnerneurons i an. Dies hat direktzur Folge, dass sich – ähnlich der freischwebenden Moleküle in einem Gas –DynamischeNachbarschaft162 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.7 VariationenAbbildung 10.9: Eine Figur, die verschiedene Unterräume des eigentlichen Eingaberaums zu verschiedenenOrten ausfüllt und daher durch eine SOM nur schwer ausgefüllt werden kann.die Nachbarschaftsbeziehungen zwischenden Neuronen jederzeit ändern können,auch die Anzahl der Nachbarn ist nahezubeliebig. Die Entfernung innerhalbder Nachbarschaft wird nun durch dieEntfernung innerhalb des Eingaberaumsrepräsentiert.Die Masse der Neurone kann durch einestetig sinkende Nachbarschaftsgröße genausoversteift werden, wie eine SOM – siehat aber keine feste Dimension, sondernkann jeweils die Dimension annehmen, dielokal gerade gebraucht wird, was sehr vorteilhaftsein kann.Von Nachteil kann sein, dass nicht durchein festes Gitter erzwungen wird, dassder Inputraum relativ gleichmäßig abgedecktwird, und so Löcher in der Abdeckungentstehen oder Neurone vereinsamenkönnen.Es bleibt wie immer in der Pflicht desAnwenders, diese Arbeit bei allen Praxistippsnicht als Katalog für Patentlösungenzu verstehen, sondern selbst die Vor- undNachteile zu erforschen.Bemerkung: Anders als bei einer SOMmuss sich die Nachbarschaft in einem <strong>Neuronale</strong>nGas anfangs auf die Gesamtheitaller Neurone beziehen, weil sonst einigeAusreißer der zufälligen Initialisierung vielleichtnie in die Nähe der restlichen Gruppekommen. Dies zu vergessen, ist ein sehrbeliebter Fehler bei der Implementierungeines <strong>Neuronale</strong>n Gases.Mit einem <strong>Neuronale</strong>n Gas kann man aucheine sehr komplexe Inputform lernen, dawir nicht an ein festdimensionales Gittergebunden sind. Rechenaufwändig werdenkann aber das dauernde Sortierender Liste (hier kann es viel bringen, dieKomplizierteFigurenklassifizierbarD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 163


Kapitel 10 Self Organizing Feature Mapsdkriesel.comMehrere SOMsListe gleich in einer von sich aus geordnetenDatenstruktur abzulegen). Ein Beispielfür solche Inputformen findet sich inAbb. 10.9 auf der vorangehenden Seite.Definition 10.6 (<strong>Neuronale</strong>s Gas): Ein<strong>Neuronale</strong>s Gas unterscheidet sich von einerSOM durch eine vollständig dynamischeNachbarschaftsfunktion. In jedemLernzyklus wird neu entschieden, welcheNeurone die Nachbarneurone des Gewinnerneuronssind. In der Regel ist das Kriteriumfür diese Entscheidung die Entfernungder Neurone zum Gewinnerneuronim Inputraum.10.7.2 Eine Multi-SOM besteht ausmehreren separaten SOMsUm eine weitere Variante der SOMs zupräsentieren, möchte ich eine erweiterteProblemstellung formulieren: Was machenwir bei Eingabemustern, von denen wirvorher wissen, dass sie sich in verschiedene(vielleicht disjunkte) Bereiche abgrenzen?Die Idee hierzu ist, nicht nur eine SOMzu nehmen, sondern gleich mehrere: EineMulti Self Organizing Map, kurzM-SOM [GKE01b, GKE01a, GS06]. DieSOMs müssen nicht die gleiche Topologieoder Größe haben, eine M-SOM ist nur einZusammenschluss aus M vielen SOMs.Der Lernvorgang funktioniert analog zuden einfachen SOMs – allerdings werdennur die Neurone, die zum Gewinner-SOMeines jeden Trainingsschritts gehören, adaptiert.Mit zwei SOMs ist es also einfach,zwei disjunkte Cluster Daten zu repräsentieren,selbst wenn einer davon nicht in allenDimensionen des Eingangsraumes R Nvertreten ist. Die einzelnen SOMs spiegelnsogar genau die Cluster wieder.Definition 10.7 (Multi-SOM): Eine Multi-SOM ist nichts weiter als eine gleichzeitigeVerwendung von M vielen SOMs.10.7.3 Ein Multi-<strong>Neuronale</strong>s Gasbesteht aus mehrerenseparaten neuronalen GasenAnalog zum Multi-SOM haben wir hierwieder eine Menge von M vielen <strong>Neuronale</strong>nGasen: ein Multi-<strong>Neuronale</strong>s Gas[GS06, SG06]. Dieses Konstrukt verhältsich analog zu <strong>Neuronale</strong>m Gas und M-SOM: Es werden wieder nur die Neuroneadaptiert, die im Gewinner-Gas sind.Der Leser wird sich natürlich fragen, wasdenn ein Multi-<strong>Neuronale</strong>s Gas für Vorteilebringt, da bereits ein einzelnes <strong>Neuronale</strong>sGas in der Lage ist, sich in Clusterzu zerteilen und auch auf komplizierten Inputmusternmit wechselnder Dimension zuarbeiten. Das ist zwar grundsätzlich richtig,doch es gibt zwei gravierende Vorteileeines Multi-<strong>Neuronale</strong>n Gases gegenübereinem einfachen <strong>Neuronale</strong>n Gas.1. Bei mehreren Gasen kann man jedemNeuron direkt ansehen, zu welchemGas es gehört. Das ist insbesonderebei Clustering-Aufgaben wichtig, fürdie Multi-<strong>Neuronale</strong> Gase in jüngsterZeit genutzt werden. Einfache <strong>Neuronale</strong>Gase können zwar auch ClusterMehrere Gase164 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com10.7 VariationenWenigerRechenaufwandfinden und abdecken, man sieht abernicht, welches Neuron jetzt zu welchemCluster gehört.2. Es spart enorm Rechenzeit, großeUrsprungs-Gase in mehrere kleinereaufzuteilen, da (wie schon angesprochen)das Sortieren der Liste L sehrviel Rechenzeit in Anspruch nehmenkann, das Sortieren von mehreren kleinerenListen L 1 , L 2 , . . . , L M aber wenigeraufwändig ist – selbst dann,wenn diese Listen insgesamt genausovieleNeurone enthalten.Man erhält zwar nur lokale Sortierungenund keine globale 3 , diese reichen aber inden meisten Fällen aus.Beispiel (zum Sortieraufwand): Wie wirwissen, ist das Sortierproblem in n log 2 (n)vielen Mustervergleichen lösbar. Das Sortierenvon n = 2 16 Eingabemustern würdealso durchschnittlichVergleichen, alleine bei diesem Beispiel erhaltenwir also durch das Verwenden einesMulti-<strong>Neuronale</strong>n Gases eine Vergleichsersparnisvon ≈ 35%. Dass sich der Effektbei mehr Neuronen und/oder Aufteilungennoch ganz wesentlich verstärkt, ist offensichtlich.Bemerkung: Wir können nun zwischenzwei Extremfällen des Multi-<strong>Neuronale</strong>nGases wählen: Der eine Extremfall ist dasnormale <strong>Neuronale</strong> Gas M = 1, wir verwendenalso nur ein einziges <strong>Neuronale</strong>sGas. Interessanterweise verhält sich derandere Extremfall (sehr großes M, wenigeoder nur ein Neuron pro Gas) analogzum K-Means-Clustering (siehe zum ThemaClusteringverfahren auch den ExkursA).Definition 10.8 (Multi-<strong>Neuronale</strong>s Gas):Ein Multi-<strong>Neuronale</strong>s Gas ist nichts weiterals eine gleichzeitige Verwendung von Mvielen <strong>Neuronale</strong>n Gasen.n log 2 (n) = 2 16 · log 2 (2 16 )= 1048576≈ 1 · 10 6Vergleiche benötigen. Teilen wir nun unsereListe mit den 2 16 = 65536 Neuronenauf in 64 zu sortierende Listen mit jeweils2 10 = 1024 Neuronen, ergibt sich ein Sortieraufwandvon()64 · 2 10 · log 2 (2 10 ) = 64 · 10240= 655360≈ 6.5 · 10 53 Ich habe also leider nicht mit diesem Schritt dasSortierproblem der Informatik in schnellerer Zeitals der bisher bekannten gelöst :-)10.7.4 Wachsende neuronale Gasekönnen sich selbst NeuronehinzufügenEin Wachsendes <strong>Neuronale</strong>s Gas isteine Variation des beschriebenen <strong>Neuronale</strong>nGases, dem nach bestimmten Regelnmehr und mehr Neurone hinzugefügt werden.Man versucht so, der Vereinsamungvon Neuronen oder der Bildung großer Abdeckungslöcherentgegenzuwirken.Es sei hier nur benannt, aber nicht weitererforscht.Bemerkung: Eine wachsende SOM zukonstruieren ist insofern schwieriger, alsD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 165


Kapitel 10 Self Organizing Feature Mapsdkriesel.comdass neue Neurone in die Nachbarschafteingegliedert werden müssen.ÜbungsaufgabenAufgabe 18: Mit einem regelmäßigenzweidimensionalen Gitter soll eine zweidimensionaleFläche möglichst ”gut“ ausgelegtwerden.1. Welche Gitterstruktur wäre hierfüram besten geeignet?2. Welche Kriterien für ”gut“ bzw. ”ambesten“ haben Sie verwendet?Diese Aufgabe ist bewusst sehr schwammigformuliert.166 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Kapitel 11Adaptive Resonance TheoryEin ART-Netz in seiner ursprünglichen Form soll binäre Eingabevektorenklassifizieren, also einer 1-aus-n-Ausgabe zuordnen. Gleichzeitig sollen bis jetztunklassifizierbare Muster erkannt und einer neuen Klasse zugeordnet werden.Wie in anderen kleinen Kapiteln wollenwir wieder versuchen, die grundlegendeIdee der Adaptive Resonance Theory(Kurz: ART) zu ergründen, ohne ihreTheorie wirklich in der Tiefe zu betrachten.Wir haben bereits in verschiedenen Abschnittenangedeutet, dass es schwierigist, mit <strong>Neuronale</strong>n <strong>Netze</strong>n neue Informationzusätzlich zu bestehender ”hinzuzulernen“,ohne jedoch die bestehendeInformation zu zerstören – diesen Umstandbezeichnen wir als Stabilitäts-Plastizitäts-Dilemma.1987 veröffentlichten Stephen Grossbergund Gail Carpenter mit dem Zielder Entschärfung dieser Problematik dieerste Version ihres ART-<strong>Netze</strong>s [Gro76],der ab da eine ganze Familie von ART-Verbesserungen folgte (die wir ebenfallsnoch kurz ansprechen wollen).Mustererkennung zum Ziel hatte, genauergesagt, die Einteilung von Mustern in Klassen– wobei ein ART-Netz aber zusätzlichin der Lage sein soll, neue Klassen zu finden.11.1 Aufgabe und Struktureines ART-<strong>Netze</strong>sEin ART-Netz ist aufgebaut aus genauzwei Schichten: Der Eingabeschicht Iund der Erkennungsschicht O, wobei dieEingabeschicht in Richtung der Erkennungsschichtvollverknüpft ist. Diese Vollverknüpfunggibt uns eine Top-Down-Gewichtsmatrix W an, die die Gewichtswertevon jedem Neuron der Eingabeschichtzu jedem Neuron der Erkennungsschichtenthält (Abb. 11.1 auf der folgendenSeite).Es handelt sich um eine Idee des unüberwachtenLernens, die (zunächst binäre)An der Eingabeschicht werden einfachbinäre Muster eingegeben, welche an dieMustererkennung167


Kapitel 11 Adaptive Resonance Theorydkriesel.com i 1 i 2 i 3 i 4 Ω 1 Ω 2 Ω 3 Ω 4 Ω 5 Ω 6 Abbildung 11.1: Vereinfachte Darstellung des Aufbaus eines ART-<strong>Netze</strong>s. Oben die Eingabeschicht,unten die Erkennungsschicht. Für die Abbildung außer Acht gelassen worden sind dielaterale Inhibition der Erkennungsschicht und die Steuerungsneurone.Erkennungsschicht weitergegeben werden– während die Erkennungsschicht eine 1-aus-|O|-Kodierung ausgeben soll, also demWinner-Takes-All-Schema folgen soll. Umdiese 1-aus-|O|-Kodierung zu realisieren,kann man beispielsweise das Prinzip der lateralenInhibition nutzen – oder in der Implementierungpragmatischerweise per IF-Abfrage das am stärksten aktivierte Neuronsuchen.11.1.1 Resonanz erfolgt, indemAktivitäten hin- undhergeworfen werdenZusätzlich gibt es aber noch eine Bottom-Up-Gewichtsmatrix V , die die Akti-V ◮ vitäten in der Erkennungsschicht wiederin die Eingabeschicht propagiert. Esist nun offensichtlich, dass diese Aktivitätenimmer hin- und hergeworfen werden,was den Begriff der Resonanz insSpiel bringt. Jede Aktivität der Eingabeschichtbewirkt eine Aktivität der Erkennungsschicht,während dort jede Aktivitätwiederum eine Aktivität in der Eingabeschichtbewirkt.Zusätzlich zu den zwei genannten Schichtenexistieren in einem ART-Netz nocheinige wenige Neurone, welche Kontrollfunktionenausüben wie z.B. eine Signalverstärkung.Deren Theorie soll hier nichtweiter betrachtet werden, da nur dasgrundlegende Prinzip der ART-<strong>Netze</strong> klarwerden soll. Ich erwähne sie nur, um darzustellen,dass das Art-Netz nach einerEingabe trotz der vorhandenen Rückkopp-Schichtenaktivierensichgegenseitig168 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.com11.2 Lernvorganglungen in einen stabilen Zustand gelangenwird.11.2 Der Lernvorgang einesArtnetzes ist geteilt inTop-Down- undBottom-Up-LernenV : Es werden nur die Gewichte vom jeweiligeGewinnerneuron zur Eingabeschichttrainiert und als Teaching Input unser aktuellangelegtes Eingabemuster verwendet.Das Netz wird also darauf trainiert, eingegebeneVektoren zu verstärken.11.2.3 Hinzufügen einesAusgabeneuronsGewinnerneuronwirdverstärktEingabe istTeach. Inp.für rückwärtsgerichteteGewichteDie Kunst der Adaptive Resonance Theoryliegt nicht nur in der Gestaltung desART-<strong>Netze</strong>s, sondern auch in ihrem Lernvorgang,der zweigeteilt ist: Wir trainierenzum einen die Top-Down-Matrix Wund zum anderen die Bottom-Up-MatrixV (Abb. 11.2 auf der folgenden Seite).11.2.1 Mustereingabe undTop-Down-LernenWenn ein Muster in das Netz eingegebenwird, sorgt es wie schon gesagt für eineAktivierung an den Ausgabeneuronen, wobeidas stärkste Neuron gewinnt. Anschließendwerden die zum Ausgabeneuron gehendenGewichte der Matrix W dahingehendverändert, dass die Ausgabe desstärksten Neurons Ω noch verstärkt wird.Die Klassenzugehörigkeit des Eingabevektorszu der Klasse des Ausgabeneurons Ωwird also verstärkt.11.2.2 Resonanz undBottom-Up-LernenEtwas tricky ist nun das Trainieren derrückwärtsgerichteten Gewichte der MatrixEs kann natürlich vorkommen, dass dieNeurone ungefähr gleich aktiviert sindoder mehrere Neurone aktiviert sind, dasNetz also unentschlossen ist. In diesemFall wird durch die Mechanismen derSteuerungsneurone ein Signal ausgelöst,dass ein neues Ausgabeneuron hinzufügt.Das aktuelle Muster wird dann diesemAusgabeneuron zugeordnet und die Gewichtssätzedes neuen Neurons wie gewohnttrainiert.Die Stärke des Systems liegt also nichtnur darin, Eingaben in Klassen zu unterteilenund neue Klassen zu finden – es kannuns bei Aktivierung eines Ausgabeneuronsauch sagen, wie ein typischer Vertreter einerKlasse aussieht – ein bedeutendes Feature.Oft kann das System Muster aber nurmäßig gut unterscheiden. Die Frage ist,wann einem neuen Neuron erlaubt wird,aktiv zu werden und wann gelernt werdensoll. Auch um diese Fragen zu beantworten,existieren in einem ART-Netz verschiedenezusätzliche Kontrollneurone, diediese Fragen nach verschiedenen mathematischenRegeln beantworten und dafürzuständig sind, Spezialfälle abzufangen.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 169


Kapitel Kapitel 11 11 Adaptive Resonance Theorydkriesel.comdkriesel.com i 1 i 2 i 3 i 4 Ω 1 Ω 20 1 i 1 i 2 i 3 i 4 Ω 1 Ω 20 1 i 1 i 2 i 3 i 4 Ω 1 Ω 2einer IF-Abfrage, die man in den Mechanismuseines <strong>Neuronale</strong>n <strong>Netze</strong>s gepressthat.Hier benennen wir einen der größten Kritikpunktean ART: Ein ART-Netz verwendeteine Spezialfallunterscheidung ähnlicheiner IF-Abfrage, die man in den Mechanismuseines <strong>Neuronale</strong>n <strong>Netze</strong>s gepresst11.3 Erweiterungenhat.Wie schon eingangs erwähnt, wurden dieART-<strong>Netze</strong> vielfach erweitert.ART-2 [CG87] ist eine Erweiterungauf kontinuierliche 11.3 ErweiterungenEingaben und bietetzusätzlich (in einer ART-2A genanntenErweiterung) Verbesserungen der Lerngeschwindigkeit,was zusätzliche KontrollneuroneART-<strong>Netze</strong> und Schichten vielfach zur Folge erweitert. hat.Wie schon eingangs erwähnt, wurden dieART-3 [CG90] verbessert die Lernfähigkeitvon ART-2, indem zusätzliche biologischeVorgänge wie z.B. die chemischenVorgänge innerhalb der Synapsen adaptiertwerden 1 .ART-2 [CG87] ist eine Erweiterungauf kontinuierliche Eingaben und bietetzusätzlich (in einer ART-2A genanntenErweiterung) Verbesserungen der Lerngeschwindigkeit,was zusätzliche Kontrollneuroneund Schichten zur Folge hat.Zusätzlich zu den beschriebenen Erweiterungenexistieren noch viele mehr.ART-3 [CG90] verbessert die Lernfähigkeitvon ART-2, indem zusätzliche biologischeVorgänge wie z.B. die chemischenVorgänge innerhalb der Synapsen adaptiertwerden 1 .Zusätzlich zu den beschriebenen Erweiterungenexistieren noch viele mehr.0 11 Durch die häufigen Erweiterungen der AdaptiveResonance Theory sprechen böse Zungen bereitsvon ”ART-n-<strong>Netze</strong>n“.Abbildung 11.2: Vereinfachte Darstellung des deszweigeteilten Trainings eines ART-<strong>Netze</strong>s: Die Diejeweils 168 trainierten D. Gewichte Kriesel sind – Ein durchgezogen kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)jeweils trainierten Gewichte sind durchgezogendargestellt. Nehmen wir an, ein Muster wurde indargestellt. das NetzNehmen eingegebenwir undan, dieein Zahlen Muster markieren wurde indas Netz Ausgaben. eingegeben Oben: Wirund wir sehen, die Zahlen ist Ω 2 das markieren Gewinnerneuron.Oben: Mitte: Wir Also wir werden sehen, die istGewichteΩ 2 das Ge-Ausgaben.zum Gewinnerneuron hin trainiert und (unten)winnerneuron. Mitte: Also werden die Gewichte 1 Durch die häufigen Erweiterungen der Adaptivedie Gewichte vom Gewinnerneuron zur EingangsschichtGewinnerneuron trainiert. hin trainiert und (unten)zumResonance Theory sprechen böse Zungen bereitsvon ART-n-<strong>Netze</strong>n“.die Gewichte vom Gewinnerneuron zur Eingangsschicht”trainiert.170 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Teil IVExkurse, Anhänge und Register171


Anhang AExkurs: Clusteranalyse und Regional andOnline Learnable FieldsDas Grimmsche Wörterbuch beschreibt das heute ausgestorbene deutscheWort ”Kluster“ mit ”was dicht und dick zusammensitzet“. In der statistischenClusteranalyse wird die Gruppenbildung innerhalb von Punktwolkenuntersucht. Vorstellung einiger Verfahren, Vergleich ihrer Vor- und Nachteile.Betrachtung eines lernenden Clusteringverfahrens auf Basis <strong>Neuronale</strong>r <strong>Netze</strong>.Ein Regional and Online Learnable Field modelliert aus einer Punktwolke mitwomöglich sehr vielen Punkten eine vergleichsweise kleine Menge von für diePunktwolke repräsentativen Neuronen.Wie schon angedeutet, lassen sich vieleProblemstellungen auf Probleme derClusteranalyse zurückführen. Diesmacht die Erforschung von Verfahrennotwendig, die untersuchen, ob sichinnerhalb von Punktwolken Gruppen (sog.Cluster) herausbilden. Da Verfahrenzur Clusteranalyse für ihre Arbeit einenAbstandsbegriff zwischen zwei Punktenbrauchen, muss auf dem Raum, in demsich die Punkte finden, eine Metrikdefiniert sein. Wir wollen also kurz daraufeingehen, was eine Metrik ist.Definition A.1 (Metrik): Eine Relationdist(x 1 , x 2 ), die für zwei Objekte x 1 , x 2 definiertist, heißt Metrik, wenn jedes der folgendenKriterien gilt:1. dist(x 1 , x 2 ) = 0 genau dann, wennx 1 = x 2 ,2. dist(x 1 , x 2 ) = dist(x 2 , x 1 ), also Symmetrie,3. dist(x 1 , x 3 ) ≤ dist(x 1 , x 2 ) +dist(x 2 , x 3 ), d. h. die Dreiecksungleichunggilt.Umgangssprachlich ausgedrückt, ist eineMetrik ein Werkzeug, Abstände von Punktenin einem beliebig gearteten Raum festzustellen.Abstände müssen hierbei symmetrischsein, und der Abstand zwischenzwei Punkten darf nur 0 sein, wenn beidePunkte gleich sind. Zudem muss die Dreiecksungleichunggelten.173


Anhang A Exkurs: Clusteranalyse und Regional and Online Learnable Fields dkriesel.comMetriken liefert uns beispielsweise derquadratische Abstand und der EuklidischeAbstand, welche wir schon kennengelernthaben. Aufbauend auf eine solcheMetrik kann man Clusteringverfahrendefinieren, die eine Metrik als Abstandsmaßverwenden.Wir wollen nun verschiedene Clusteringverfahrenvorstellen und kurz diskutieren.A.1 k-Means Clustering teiltDaten in einevordefinierte AnzahlCluster eink-Means Clustering nach J. Mac-Queen [Mac67] ist ein Algorithmus,der aufgrund seiner niedrigen RechenundSpeicherkomplexität häufig verwendetwird und allgemein als ”billig und gut“angesehen wird. Der Algorithmus k-MeansClustering hat folgenden Arbeitsablauf:1. Daten bereitstellen, die untersuchtwerden sollen2. k, die Anzahl der Clusterzentren, definieren3. k viele zufällige Vektoren für die Clusterzentrenwählen (auch Codebookvektorengenannt).4. Jeden Datenpunkt dem nächsten Codebookvektor1 zuordnen1 Der Name Codebookvektor entstand, weil die oftverwendete Bezeichnung Clustervektor zu missverständlichwar.5. Clusterschwerpunkte für alle Clusterberechnen6. Codebookvektoren auf neue Clusterschwerpunktesetzen.7. Bei d) weitermachen, bis keine Zuordnungsänderungenmehr eintreten.Bei Punkt b) sieht man schon eine dergroßen Fragen des k-Means-Algorithmus:Man muss im Vorhinein selbst die Anzahlk der Clusterzentren bestimmen, diesnimmt einem das Verfahren also nicht ab.Das Problem ist, dass man im Vorhineinnicht unbedingt weiß, wie k am bestenbestimmt werden kann. Ein weiteres Problemist, dass das Verfahren recht instabilwerden kann, wenn die Codebookvektorenschlecht initialisiert werden. Da diesaber zufällig geschieht, hilft oft schon einNeustart des Verfahrens, das zudem nichtsehr rechenaufwändig ist, was wiederumein Vorteil ist. Verwenden Sie es im Bewusstseindieser Schwächen, und Sie werdenrecht gute Ergebnisse erhalten.Komplizierte Strukturen, wie ”Cluster inClustern“ können allerdings nicht erkanntwerden. Bei einem hoch gewählten kwürde der äußere Ring dieser Konstruktionin der Abbildung als viele einzelne Clustererkannt, bei einer niedrigen Wahl vonk würde der Ring mit dem kleinen innenliegendenCluster als ein Cluster gesehen.Siehe für eine Veranschaulichung den oberenrechten Teil der Abb. A.1 auf Seite177.Vorher mussClusterzahlbekanntsein174 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comA.3 ε-Nearest NeighbouringClusteringüber nächstePunkteA.2 k-Nearest Neighbouringsucht die k nächstenNachbarn jedenDatenpunktsDas k-Nearest Neighbouring-Verfahren [CH67] verbindet jedenDatenpunkt mit den jeweils k vielennächsten Nachbarn, was oft eineUnterteilung in Gruppen zur Folge hat.Eine solche Gruppe bildet dann einenCluster. Der Vorteil ist hier, dass dieClusteranzahl von alleine entsteht –der Nachteil ein recht großer SpeicherundRechenaufwand, um die nächtenNachbarn zu finden (es muss derAbstand von jedem zu jedem Datenpunktausgerechet und gespeichert werden).Es gibt außerdem Spezialfälle, in denendas Verfahren bei zu großer Wahl vonk Datenpunkte zusammenschließt, die eigentlichin verschiedene Cluster gehören(siehe die beiden kleinen Cluster obenrechts in der Abbildung). Cluster, die nuraus einem einzigen Datenpunkt bestehen,werden grundsätzlich mit einem anderenCluster zusammengeschlossen, auch dasist nicht immer gewollt.Weiterhin müssen die Bindungen unterden Punkten nicht symmetrisch sein.Das Verfahren ermöglicht es aber, Ringeund somit auch ”Cluster in Clustern“ zuerkennen, ein eindeutiger Vorteil. WeitererVorteil ist, dass das Verfahren adaptivauf die Entfernungen in und zwischenClustern eingeht.Siehe für eine Veranschaulichung den unterenlinken Teil der Abb. A.1.A.3 ε-Nearest Neighbouringsucht für jedenDatenpunkt Nachbarn imRadius εEin anderer Ansatz des Neighbourings:Hier geht die Nachbarschaftsfindung nichtüber eine feste Anzahl k von Nachbarn,sondern über einen Radius ε – daherder Name Epsilon-Nearest Neighbouring.Punkte, die maximal ε weit voneinanderentfernt sind, sind Nachbarn. Hierist der Speicher- und Rechenaufwand augenscheinlichwieder sehr hoch, was einNachteil ist.Achtung, auch hier gibt es Spezialfälle:Zwei an sich getrennte Cluster könnenhier durch die ungünstige Lage eines einzigenDatenpunkts einfach verbunden werden.Dies kann zwar auch beim k-NearestNeighbouring passieren, jedoch schwerer,da die Anzahl der Nachbarn pro Punktdort begrenzt ist.Vorteil ist die symmetrische Natur derNachbarschaftsbeziehungen. Weiterer Vorteilist, dass nicht aufgrund einer festenNachbaranzahl Kleinstcluster zusammengeschlossenwerden.Auf der anderen Seite muss aber ε geschicktinitialisiert werden, um hier Erfolgezu erzielen, nämlich kleiner als die Hälftedes kleinsten Abstands zwischen zweiClusteringüberRadien umPunkteD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 175


Anhang A Exkurs: Clusteranalyse und Regional and Online Learnable Fields dkriesel.comClusteringgütemessbarClustern. Dies ist bei sehr variablen Clusterabständenund Punktabständen innerhalbvon Clustern unter Umständen einProblem.Siehe für eine Veranschaulichung den unterenrechten Teil der Abb. A.1.A.4 DerSilhouettenkoeffizientmacht die Güte einesgegebenen ClusteringsmessbarWie wir oben sehen, gibt es keine Patentlösungfür Clusteringprobleme, dennjedes dargestellte Verfahren hat seine ganzspezifischen Nachteile. Insofern ist es wertvoll,ein Kriterium dafür zu haben, wie gutunsere Clustereinteilung ist. Genau dieseMöglichkeit bietet uns der Silhouettenkoeffizientnach [Kau90]. Er misst, wiegut die Cluster voneinander abgegrenztsind, und ist ein Indikator dafür, ob vielleichtPunkte in falsche Cluster einsortiertsind.Sei P eine Punktwolke und sei p ein Punkt∈ P . Sei c ⊆ P ein Cluster in der Punktwolkeund gehöre p in diesen Cluster, alsop ∈ c. Die Menge der Cluster nennen wirC. Zusammengefasst gilt alsop ∈ c ⊆ P.Um den Silhouettenkoeffizient zu errechnen,benötigen wir zunächst den durchschnittlichenAbstand des Punktes p zu allenseinen Clusternachbarn. Diese Größenennen wir a(p) und definieren sie wiefolgt:a(p) = 1|c| − 1∑q∈c,q≠pdist(p, q)(A.1)Sei weiterhin b(p) der durchschnittlicheAbstand unseres Punktes p zu allen Punktendes nächsten anderen Clusters (g läuftüber alle Cluster außer c):b(p) =ming∈C,g≠c1|g|∑dist(p, q)q∈g(A.2)Der Punkt p ist gut klassifiziert, wennder Abstand zum Schwerpunkt des eigenenClusters minimal und der Abstandzu den Schwerpunkten der anderen Clustermaximal ist. Ist dies der Fall, so wirdder folgende Term einen Wert nahe 1 ergeben:s(p) =b(p) − a(p)max{a(p), b(p)}(A.3)Der ganze Term s(p) kann sich offensichtlichnur im Intervall [−1; 1] bewegen. Indikatorfür eine schlechte Klassifikation vonp ist ein Wert nahe -1.Der Silhouettenkoeffizient S(P ) ergibtsich aus dem Durchschnitte aller s(p)-Werte: Es giltS(P ) = 1 ∑s(p).|P |p∈P(A.4)Die Gesamtgüte der Clustereinteilungdrückt sich wie oben durch das Intervall[−1; 1] aus.Nachdem wir nun die Charakteristiken verschiedenerClusteringmethoden sowie ein176 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comA.4 Der SilhouettenkoeffizientAbbildung A.1: Oben links: Unsere Punktmenge. An ihr werden wir die verschiedenen Clusteringverfahrenerforschen. Oben rechts: k-Means Clustering. Bei der Anwendung dieses Verfahrenswurde k = 6 gewählt. Wie wir sehen, kann das Verfahren ”Cluster in Clustern“ nicht erkennen(unten links im Bild). Auch lange ”Linien“ von Punkten bereiten Schwierigkeiten: Sie würden alsviele kleine Cluster erkannt werden (bei ausreichend großer Wahl von k). Unten links: k-NearestNeighbouring. Bei zu großer Wahl von k (größer als die Punktanzahl des kleinsten Clusters)kommt es zu Clusterzusammenschlüssen, wie man oben rechts im Bild sehen kann. Unten rechts:ε-Nearest Neighbouring. Dieses Verfahren bereitet Schwierigkeiten, wenn ε größer gewählt ist alsder minimale Abstand zwischen zwei Clustern (sichtbar oben links im Bild) – diese werden dannzusammengeschlossen.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 177


Anhang A Exkurs: Clusteranalyse und Regional and Online Learnable Fields dkriesel.comMaß zur Qualitätsbeurteilung einer bereitsexistierenden Unterteilung in Clusterkennengelernt haben (viel weiteres Materialfindet sich in [DHS01]), möchte ichein 2005 veröffentlichtes Clusteringverfahrenauf Basis eines unüberwacht lernenden<strong>Neuronale</strong>n <strong>Netze</strong>s [SGE05] vorstellen,welches wie alle dieser Verfahren wahrscheinlichnicht perfekt ist, aber dochgroße Standard-Schwächen von den bekanntenClusteringverfahren ausmerzt –auch, um einmal eine vergleichsweise hochaktuelleEntwicklung im Bereich der <strong>Neuronale</strong>n<strong>Netze</strong> darzustellen.einzelnen Neurone werden wir noch erforschen.Definition A.2 (Regional and Online LearnableField): Ein Regional and OnlineLearnable Field (kurz: ROLF oder ROLF-Netz) ist eine Menge K von Neuronen, welchedarauf trainiert werden, eine bestimmteMenge im Eingaberaum möglichst gutabzudecken.A.5.1.1 ROLF-Neurone besitzenPosition und Radius imEingaberaumA.5 Regional and OnlineLearnable Fields sind einneuronalesClusteringverfahrenDas Paradigma <strong>Neuronale</strong>r <strong>Netze</strong>, welchesich nun vorstellen möchte, sind die Regionaland Online Learnable Fields, kurzROLFs genannt.Ein ROLF-Neuron k ∈ K hat hierbeizwei Parameter: Es besitzt ähnlich derRBF-<strong>Netze</strong> ein Zentrum c k , also einenOrt im Eingaberaum.Es besitzt aber noch einen weiteren Parameter:Den Radius σ, der den Radius derperzeptiven Fläche, welche das Neuronumgibt, erst definiert 2 . Ein Neuron decktden Anteil des Eingaberaums ab, der innerhalbdes Radius liegt.◭c◭σK◮Netz decktPunktwolkeabA.5.1 ROLFs versuchen, mitNeuronen DatenwolkenabzudeckenGrob gesagt sind die Regional and OnlineLearnable Fields eine Menge K vonNeuronen, die versuchen, eine Menge vonPunkten durch ihre Verteilung im Eingaberaummöglichst gut abzudecken. Hierfürwerden während des Trainings bei BedarfNeurone hinzugefügt, verschoben oder inihrer Größe verändert. Die Parameter derSowohl c k als auch σ k sind für jedes Neuronlokal definiert, das heißt insbesondere,dass die Neurone verschieden großeFlächen abdecken können.Der Radius der perzeptiven Fläche istdurch r = ρ · σ gegeben (Abb. A.2 auf derrechten Seite), wobei der Multiplikator ρfür alle Neurone global definiert ist und imVorhinein festgelegt wird. Der Leser wird2 Ich schreibe daher ”definiert“ und nicht ”ist“, weilder eigentliche Radius ja durch σ · ρ gegeben ist.NeuronrepräsentiertFläche178 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comA.5 Regional and Online Learnable FieldsAbbildung A.2: Aufbau eines ROLF-Neurons.sich nun intuitiv fragen, wozu dieser Multiplikatorgut ist. Wir werden seine Bedeutungspäter noch erforschen. Zu beachtenist weiterhin: Die perzeptive Fläche derverschiedenen Neurone muss nicht gleichgroß sein.Definition A.3 (ROLF-Neuron): EinROLF-Neuron k besitzt als Parameter einZentrum c k sowie einen Radius σ k .A.5.2 ROLFs lernen unüberwachtdurch Online-Präsentationvon TrainingsbeispielenWie viele andere Paradigmen <strong>Neuronale</strong>r<strong>Netze</strong> lernt unser ROLF-Netz durch dieEingabe vieler Trainingsbeispiele p aus einerTrainingsmenge P . Das Lernen findetunüberwacht statt. Für jedes Trainingsbeispielp, welches in das Netz eingegebenwird, können zwei Fälle eintreten:1. Es existiert ein akzeptierendes Neuronk für p oder2. es existiert kein akzeptierendes Neuron.Falls im ersteren Fall mehrere Neuronein Frage kommen, existiert insofern genauein akzeptierendes Neuron, als dassdas nächstgelegene akzeptierend ist. Beimakzeptierenden Neuron k werden c k undσ k angepasst.Definition A.5 (Akzeptierendes Neuron):Damit ein ROLF-Neuron k ein akzeptierendesNeuron eines Punktes p ist, mussder Punkt p innerhalb der perzeptivenFläche von k liegen. Liegt p in den perzeptivenFlächen mehrerer Neurone, so ist dasnächstliegende akzeptierend. Gibt es mehrerenächste Neurone, kann willkürlich einesausgewählt werden.Definition A.4 (Perzeptive Fläche): Dieperzeptive Fläche eines Rolf-Neurons k bestehtaus allen Punkten, welche im Eingaberauminnerhalb des Radius ρ · σ liegen.A.5.2.1 Sowohl Positionen als auchRadien werden beim LernenadaptiertAngenommen, wir haben ein Trainingsbeispielp in das Netz eingegeben und es exis-AdaptionvonvorhandenemNeuronD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 179


Anhang A Exkurs: Clusteranalyse und Regional and Online Learnable Fields dkriesel.comη σ ◮η c ◮ρ◮DamitNeuronewachsenkönnentiert ein akzeptierendes Neuron k. Dannwandert der Radius in Richtung ||p − c k ||(also in Richtung des Abstandes zwischenp ud c k ) und das Zentrum c k in Richtungvon p. Zusätzlich seien zwei Lernraten η σund ηc für Radien und Zentren definiert.ck (t + 1) = c k (t) + η c (p − c k (t))σ k (t + 1) = σ k (t) + η σ (||p − c k (t)|| − σ k (t))Hierbei ist zu beachten, dass σ k ein Skalarist, während c k ein Vektor im Eingaberaumist.Definition A.6 (Adaption eines ROLF-Neurons):Ein zu einem Punkt p akzeptierendesNeuron k wird nach folgenden Regelnadaptiert:c k (t + 1) = c k (t) + η c (p − c k (t))(A.5)σ k (t + 1) = σ k (t) + η σ (||p − c k (t)|| − σ k (t))(A.6)A.5.2.2 Der Radiusmultiplikator sorgtdafür, dass Neurone nicht nurschrumpfen könnenNun können wir auch verstehen, wozu derMultiplikator ρ da ist: Durch ihn umfasstdie perzeptive Fläche eines Neurons mehrals nur alle Punkte um das Neuron im Radiusσ. Das bedeutet, dass σ durch dieobige Lernregel nicht nur schrumpfen, sondernauch wachsen kann.Definition A.7 (Radiusmultiplikator): DerRadiusmultiplikator ρ > 1 ist global definiertund vergrößert die perzeptive Flächeeines Neurons k auf ein Vielfaches von σ k .So ist sichergestellt, dass der Radius σ kauch wachsen und nicht nur schrumpfenkann.Der Radiusmultiplikator wird üblicherweiseauf Werte im unteren einstelligen Bereichgesetzt, wie z.B. 2 oder 3.Wir haben bis jetzt nur den Fall im ROLF-Training betrachtet, dass für ein Trainingsbeispielp ein akzeptierendes Neuron existiert.A.5.2.3 Nach Bedarf werden neueNeurone erzeugtDies legt nahe, die Vorgehensweise zu erforschen,falls kein akzeptierendes Neuronexistiert.Wenn dies der Fall ist, so wird einfach einakzeptierendes Neuron k für unser Trainingsbeispielneu erzeugt. Dies hat zur Folge,dass natürlich c k und σ k initialisiertwerden müssen.Intuitiv verstehbar ist die Initialisierungvon c k : Das Zentrum des neuen Neuronswird einfach auf das Trainingsbeispiel gesetzt,es gilt alsoc k = p.Wir erzeugen ein neues Neuron, weil keinsin der Nähe von p ist – also setzen wir dasNeuron sinnvollerweise genau auf p.Doch wie wird ein σ gesetzt, wenn ein neuesNeuron gebildet wird? Hierfür gibt esverschiedene Taktiken:Init-σ: Es wird immer ein vorherbestimmtes,statisches σ gewählt.Minimum-σ: Wir schauen uns die σ allerNeurone an und wählen das Minimum.180 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comA.5 Regional and Online Learnable FieldsInitialisierungeinesNeuronsMaximum-σ: Wir schauen uns die σ allerNeurone an und wählen das Maximum.Mean-σ: Der Mittelwert der σ aller Neuronewird gewählt.Aktuell ist die Mean-σ-Variante die favorisierte,obwohl das Lernverfahren mit denanderen auch funktioniert. Die Minimumσ-Variantelässt die Neurone hierbei tendenziellweniger Fläche einnehmen, dieMaximum-σ-Variante tendenziell mehr.Definition A.8 (Erzeugen eines ROLF-Neurons):Wird ein neues ROLF-Neuron kdurch Eingabe eines Trainingsbeispiels perzeugt, so wird c k mit p initialisiert undσ k nach einer der obigen Strategien (Initσ,Minimum-σ, Maximum-σ, Mean-σ).Ein gutes Kriterium für ein Trainingsendeist, wenn nach immer wieder zufälligpermutierter Präsentation der Muster beieiner Epoche kein neues Neuron mehr erzeugtwurde und die Neuronenpositionensich kaum noch verändern.A.5.3 Auswertung eines ROLFsDer Trainingsalgorithmus hat zur Folge,dass die ROLF-Neurone nach und nachdie Trainingsmenge recht gut und genauabdecken, und dass eine hohe Konzentrationvon Punkten an einem Fleck des Eingaberaumsnicht automatisch mehr Neuroneerzeugen muss. Eine unter Umständensehr große Punktwolke wird also auf (relativzur Eingabemenge) sehr wenige Repräsentantenreduziert.Die Anzahl der Cluster lässt sich dannsehr einfach bestimmen: Zwei Neuronesind (nach Definition beim ROLF) verbunden,wenn deren perzeptive Flächen sichüberlappen (es wird also eine Art NearestNeighbouring mit den variablen perzeptivenFlächen ausgeführt). Ein Clusterist eine Gruppe von verbundenen Neuronenbzw. von diesen Neuronen abgedecktenPunkten des Eingaberaums (Abb. A.3auf der folgenden Seite).Selbstverständlich kann man das fertigeROLF-Netz auch mit anderen Clusteringverfahrenauswerten, also Cluster in denNeuronen suchen. Insbesondere bei Clusteringverfahren,deren Speicheraufwand quadratischzu |P | steigt, kann der Speicheraufwandso dramatisch reduziert werden,da es in aller Regel wesentlich wenigerROLF-Neurone als ursprüngliche Datenpunktegibt, die Neurone die Datenpunkteaber recht gut repräsentieren.A.5.4 Vergleich mit populärenClusteringverfahrenEs ist offensichtlich, dass der Löwenanteildes Speicheraufwands bei den ROLFsbeim Speichern der Neurone liegt undnicht etwa beim Speichern von Eingabepunkten.Dies ist von großem Vorteilbei riesigen Punktwolken mit sehr vielenPunkten.Unser ROLF als neuronales Clusteringverfahrenhat also, da die Datenpunkte nichtkomplett gespeichert werden müssen, dieCluster =verbundeneNeuroneWenigSpeicherverbrauch!D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 181


Anhang A Exkurs: Clusteranalyse und Regional and Online Learnable Fields dkriesel.comFähigkeit des Online-Lernens, was zweifelloseinen großen Vorteil darstellt. Weiterhinkann es (ähnlich dem ε NearestNeighbouring bzw. k Nearest Neighbouring)Cluster von eingeschlossenen Clusternunterscheiden – jedoch durch dieOnline-Präsentation der Daten ohne quadratischenSpeicheraufwand, der mit Abstandder größte Nachteil der beidenNeighbouring-Verfahren ist.Cluster in”Clustern“erkennbarEs wird weiterhin durch die variablen perzeptivenFlächen auf die Größe der jeweiligenCluster im Verhältnis zu ihrer Entfernungvoneinander eingegangen – was ebenfallsbei den beiden genannten Verfahrennicht immer der Fall ist.Im Vergleich mit dem k-Means-Clusteringschneidet das ROLF auch gut ab: Erstensmuss man nicht die Clusteranzahl im Vorhineinwissen, zum zweiten erkennt dask-Means-Clustering Cluster, die von anderenClustern eingeschlossen sind, nicht alsseparate Cluster an.Abbildung A.3: Ablauf des Clusterings durchein ROLF. Oben die Eingabemenge, in der Mittedie Abdeckung durch ROLF-Neurone, untendie reine Abdeckung durch die Neurone (Repräsentanten).A.5.5 Die Initialisierung von Radien,Lernraten und Multiplikatorist nicht trivialNatürlich sollen auch die Nachteile desROLFs nicht verschwiegen werden: Es istnicht immer leicht, den Initialwert für dieσ und das ρ gut zu wählen. In das ρund den σ-Startwert kann man dem ROLFumgangssprachlich das Vorwissen über dieDatenmenge mitgeben: Feinkörnig geclusterteDaten sollten ein kleines ρ und einenkleinen σ-Startwert verwenden. Je kleineraber das ρ, desto weniger Chance haben182 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comA.5 Regional and Online Learnable Fieldsdie Neuronen, größer zu werden, wennnötig. Hier gibt es wieder keine Patentrezepte,genau wie für die Lernraten η c undη σ .Beliebt für ρ sind Multiplikatoren im untereneinstelligen Bereich, wie 2 oder 3.Bei η c und η σ wird mit Werten um 0.005bis 0.1 erfolgreich gearbeitet, auch bei diesemNetztyp sind Variationen zur Laufzeitdenkbar. Startwerte für σ hängen in derRegel sehr von der Cluster- und Datenstreuungab (müssen also oft ausprobiertwerden), wobei diese gegenüber falschenInitialisierungen zumindest bei der Meanσ-Strategienach einiger Trainingszeit relativrobust sind.Insgesamt muss sich das ROLF im Vergleichzu den anderen Clusteringverfahrendurchaus nicht verstecken und wird insbesonderefür speicherarme Systeme odersehr große Datenmengen sehr interessantsein.ÜbungsaufgabenAufgabe 19: Bestimmen Sie mindestensvier Adaptionsschritte für ein einzelnesROLF-Neuron k, wenn die vier untenstehendenMuster nacheinander in der angegebenenReihenfolge präsentiert werden.Die Startwerte für das ROLF-Neuron seienc k = (0.1, 0.1) und σ k = 1. Weiter gelteη c = 0.5 sowie η σ = 0. Sei ρ = 3.P = {(0.1, 0.1);= (0.9, 0.1);= (0.1, 0.9);= (0.9, 0.9)}.A.5.6 AnwendungsbeispieleEin erstes Anwendungsbeispiel könnte z.B.das Finden von Farbclustern in RGB-Bildern sein. Ein weiteres direkt in derROLF-Veröffentlichung beschriebenes Einsatzgebietist das Erkennen von Worten,welche in einen 720dimensionalen Merkmalsraumüberführt wurden – wir sehen also,dass die ROLFs auch gegenüber höherenDimensionen relativ robust sind. Weiteremir bekannte Anwendungsgebiete liegenin der Entdeckung und Zuordnung vonAngriffen auf Netzwerksysteme.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 183


Anhang BExkurs: <strong>Neuronale</strong> <strong>Netze</strong> zur VorhersageBetrachtung einer Anwendung <strong>Neuronale</strong>r <strong>Netze</strong>: Ein Blick in die Zukunft vonZeitreihen.Nach Betrachtung verschiedenster Paradigmen<strong>Neuronale</strong>r <strong>Netze</strong> ist es sinnvoll,nun eine Anwendung <strong>Neuronale</strong>r <strong>Netze</strong>zu betrachten, die viel thematisiert und(wie wir noch sehen werden) auch für Betruggenutzt wird: Die Anwendung derZeitreihenvorhersage. Dieses Exkurskapitelgliedert sich hierbei in die Beschreibungvon Zeitreihen und Abschätzungen,unter welchen Voraussetzungen man überhauptnur Werte einer Zeitreihe vorhersagenkann. Zum Schluß möchte ich noch etwaszu den häufigen Softwareangeboten sagen,die mit Hilfe <strong>Neuronale</strong>r <strong>Netze</strong> oderanderer Verfahren Aktienkurse oder anderewirtschaftliche Kenngrößen vorhersagensollen.Das Kapitel soll weniger eine ausführlicheBeschreibung sein, sondern vielmehr einpaar Denkansätze für die Zeitreihenvorhersagenennen, insofern werde ich michmit formalen Definitionen wieder zurückhalten.B.1 Über ZeitreihenEine Zeitreihe ist eine Reihe von Werten,welche in der Zeit diskretisiert ist.Beispielsweise könnten täglich gemesseneTemperaturwerte oder andere Wetterdateneines Ortes eine Zeitreihe darstellen –auch Aktienkurswerte stellen eine Zeitreihedar. Zeitreihen sind häufig zeitlich äquidistantgemessen, und bei vielen Zeitreihenist sehr von Interesse, wie denn dieZukunft ihrer Werte aussieht – nennen wirals Beispiel nur die tägliche Wettervorhersage.Zeitreihen können auch in einem bestimmtenzeitlichen Abstand ∆t abgetasteteWerte einer eigentlich kontinuierlichenFunktion sein (Abb. B.1 auf der folgendenSeite).Wenn wir eine Zeitreihe vorhersagenmöchten, so suchen wir ein <strong>Neuronale</strong>sNetz, was vergangene Werte der Zeitreiheauf zukünftige abbildet – kennen wir eineZeitreihe also auf längeren Abschnitten, soZeitlicheReihe vonWerten◭∆t185


Anhang B Exkurs: <strong>Neuronale</strong> <strong>Netze</strong> zur Vorhersagedkriesel.comAbbildung B.1: Eine Funktion x der Zeit wirdzu diskreten Zeitpunkten abgetastet (zeitdiskretisiert),wir erhalten also eine Zeitreihe. Die abgetastetenWerte werden in ein <strong>Neuronale</strong>s <strong>Netze</strong>ingegeben (hier im Beispiel ein SLP), welcheslernen soll, Werte der Zeitreihe vorherzusagen,welche in der Zukunft liegen.sind uns genug Trainingsbeispiele gegeben.Diese sind natürlich keine Beispiele dervorherzusagenden Zukunft, aber man versuchtmit ihrer Hilfe, die Vergangenheit zuverallgemeinern und zu extrapolieren.Bevor wir uns allerdings an die Vorhersageeiner Zeitreihe machen, müssen wir uns einpaar Gedanken zu Fragen über die betrachteteZeitreihe machen – bzw. sicherstellen,dass unsere Zeitreihe einige Bedingungenerfüllt.1. Haben wir überhaupt Anhaltspunktedafür, dass die Zukunft der Zeitreiheauf irgendeine Weise von ihrer Vergangenheitabhängt? Steckt in der Vergangenheitder Zeitreihe also Informationüber ihre Zukunft?2. Haben wir genug vergangene Werteder Zeitreihe als Trainingsmuster?3. Im Falle einer Vorhersage einer kontinuierlichenFunktion: Wie müssen wir∆t sinnvollerweise wählen?Wir wollen diese Fragen nun etwas näherbeleuchten.Wieviel Information über die Zukuft istin der Vergangenheit einer Zeitreihe vorhanden?Dies ist mit Abstand die wichtigsteFrage, die wir für jede Zeitreihe, diewir in die Zukunft abbilden wollen, beantwortenmüssen. Sind die zukünftigen Werteeiner Zeitreihe beispielsweise überhauptnicht von den vergangenen abhängig, so istüberhaupt keine Zeitreihenvorhersage ausihnen möglich.Wir gehen in diesem Kapitel von Systemenaus, deren Zustände auch auf ihre Zukunft186 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comschließen lassen – deterministische Systeme.Dies bringt uns erst einmal zu der Frage,was ein Systemzustand ist.B.2 One Step Ahead PredictionB.2 One Step AheadPredictionEin Systemzustand beschreibt ein Systemfür einen bestimmten Zeitpunktvollständig. Die Zukunft eines deterministischenSystems wäre durch die vollständigeBeschreibung seines aktuellen Zustandsalso eindeutig bestimmt.Das Problem in der Realität ist, dass einsolcher Zustandsbegriff alle Dinge umfasst,die auf irgendeine Weise Einfluss auf unserSystem nehmen.Im Falle unserer Wettervorhersage füreinen Ort könnten wir die Temperatur,den Luftdruck und die Wolkendichte alsden Wetterzustand des Ortes zu einemZeitpunkt t durchaus bestimmen – dochder gesamte Zustand würde wesentlichmehr umfassen. Hier wären weltweite wettersteuerndePhänomene von Interesse, genausowie vielleicht kleine lokale Phänomene,z.B. die Kühlanlage des örtlichen Kraftwerks.Es ist also festzuhalten, dass der Systemzustandfür die Vorhersage wünschenswert,aber nicht immer zu bekommen ist. Oftsind nur Teile des aktuellen Zustands erfassbar– wie beim Wetter die verschiedenenangesprochenen Wettergrößen.Wir können aber diese Schwäche teilweiseausgleichen, indem wir nicht nur die beobachtbarenTeile eines einzigen (des letzten)Zustandes in die Vorhersage mit einfließenlassen, sondern mehrere vergangene Zeitpunktebetrachten. Hieraus wollen wir nununser erstes Vorhersagesystem formen:Den Vorhersageversuch für den nächstenzukünftigen Wert einer Zeitreihe aus vergangenenWerten nennen wir One StepAhead Prediction (Abb. B.2 auf der folgendenSeite).Ein solches Prediktorsystem erhält alsodie letzten n observierten Zustandsteiledes Systems als Eingabe und gibt die Vorhersagefür den kommenden Zustand (oderZustandsteil) aus. Die Idee, dass wir einenZustandsraum mit Zuständen haben, diewir vorhersagen können, nennt man StateSpace Forecasting.Ziel des Prediktors ist es, eine Funktionf(x t−n+1 , . . . , x t−1 , x t ) = ˜x t+1(B.1)zu realisieren, welche exakt n vergangeneZeitwerte entgegennimmt, um daraus denzukünftigen Wert vorherzusagen. VorhergesagteWerte wollen wir mit einer Tilde(z.B. ˜x) überschreiben, um sie von dentatsächlichen zukünftigen Werten zu unterscheiden.Der intuitivste und einfachste Ansatzwäre, eine Linearkombination˜x i+1 = a 0 x i + a 1 x i−1 + . . . + a j x i−j(B.2)zu suchen, welche unsere Bedingungennäherungsweise erfüllt.Eine solche Konstruktion nennt man digitalesFilter. Hier nutzt man aus, dasswir bei Zeitreihen in der Regel über sehrNächstenWertvorhersagen◭˜xD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 187


Anhang B Exkurs: <strong>Neuronale</strong> <strong>Netze</strong> zur Vorhersagedkriesel.comx t−3x t−2x t−1x t˜x t+1PrediktorAbbildung B.2: Darstellung der One Step Ahead Prediction – aus einer Reihe vergangener Werteversucht man, den zukünftigen Wert zu errechnen. Das vorhersagende Element (in unserem Fall ein<strong>Neuronale</strong>s Netz) nennt man Prediktor.viele vergangene Werte verfügen, so dasswir eine Reihe von Gleichungen aufstellenkönnen 1 :x t = a 0 x t−1 + . . . + a j x t−1−(n−1)x t−1 = a 0 x t−2 + . . . + a j x t−2−(n−1)Daten aus der Vergangenheit trainiertwurde (Der Versuchsaufbau würde derAbb. B.1 auf Seite 186 entsprechen). Inder Tat liefert ein Training mit der Deltaregelhier Ergebnisse, die der analytischenLösung sehr nahe liegen.. (B.3)x t−n = a 0 x t−n + . . . + a j x t−n−(n−1)Man könnte also n Gleichungen für n vieleunbekannte Koeffizienten finden und soauflösen (soweit möglich). Oder noch einbesserer Ansatz: Wir könnten m > n Gleichungenfür n Unbekannte so verwenden,dass die Summe der Fehlerquadrate derVorhersagen, die uns ja bereits bekanntsind, minimiert wird – genannt Moving-Average-Verfahren.Diese lineare Struktur entspricht aber einfacheinem Singlelayerperceptron mit linearerAktivierungsfunktion, welches mit1 Ohne diesen Umstand weiter zu betrachtenmöchte ich anmerken, dass die Vorhersage oft einfacherwird, je mehr vergangene Werte der Zeitreihezur Verfügung stehen. Ich bitte den Leser, hierzuetwas zum Nyquist-Shannon-Abtasttheorem zurecherchieren.Auch wenn man damit oft schon sehrweit kommt, haben wir gesehen, dass manmit einem Singlelayerperceptron viele Problemstellungennicht abdecken kann. WeitereSchichten mit linearer Aktivierungsfunktionbringen uns auch nicht weiter, daein Multilayerperceptron mit ausschließlichlinearen Aktivierungsfunktionen sichauf ein Singlelayerperceptron reduzierenlässt. Diese Überlegungen führen uns zumnichtlinearen Ansatz.Uns steht mit dem Multilayerperceptronund nichtlinearen Aktivierungsfunktionenein universeller nichtlinearer Funktionsapproximatorzur Verfügung, wir könnten alsoein n-|H|-1-MLP für n viele Eingabenaus der Vergangenheit verwenden. Auchein RBF-Netz wäre verwendbar, wir erinnernuns aber daran, dass die Zahl n hierim kleinen Rahmen bleiben muss, da hohe188 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comB.4 Weitere Optimierungsansätze für die PredictionEingabedimensionen in RBF-<strong>Netze</strong>n sehraufwändig zu realisieren sind. Wenn manalso viele Werte aus der Vergangenheit miteinbeziehen will, ist ein Multilayerperceptrondeutlich weniger rechenaufwändig.B.3 Two Step AheadPredictiondem übernächsten Wert – wir trainieren alsoz.B. ein <strong>Neuronale</strong>s Netz direkt darauf,zwei Zeitschritte in die Zukunft zu blicken,was wir Direct Two Step Ahead Prediction(Abb. B.4 auf der folgenden Seite)nennen. Die Direct Two Step AheadPrediction ist offensichtlich technisch identischmit der One Step Ahead Prediction,der Unterschied liegt nur im Training.Was für Lösungsansätze können wir dennfinden, wenn wir weiter in die Zukunft sehenwollen?B.4 WeitereOptimierungsansätze fürdie PredictionSpätereWertevorhersagenB.3.1 Rekursive Two Step AheadPredictionUm beispielsweise zwei Zeitschritte in dieZukunft zu schauen, könnten wir einfachzwei One Step Ahead Predictions hintereinanderausführen (Abb. B.3 auf der folgendenSeite), also eine rekursive TwoStep Ahead Prediction ausführen. Leiderist aber der von einer One Step AheadPrediction ermittelte Wert in aller Regelnicht exakt, so dass sich die Fehler schnellaufschaukeln können und, je öfter man diePredictions hintereinander ausführt, dasErgebnis immer ungenauer wird.Die Möglichkeit, in der Zukunft weiterentfernt liegende Werte vorherzusagen, istnicht nur wichtig, weil wir die Zukunft weitervorhersagen zu versuchen – es kannauch periodische Zeitreihen geben, wo esanders schwer möglich ist: Wenn eine Vorlesungjeden Dienstag um 09:00 Uhr stattfindet,nützt uns die Information, wievielePersonen Montags im Hörsaal saßen, fürdie Prädiktion der Vorlesungsteilnehmerzahlsehr wenig. Gleiches gilt z.B. für periodischauftretende Pendlerstaus.B.4.1 Veränderung zeitlicherParameterDirekteVorhersagebesserB.3.2 Direkte Two Step AheadPredictionWir ahnen schon, dass es eine bessere Variantegibt: So wie wir das System auf dieVorhersage des nächsten Wertes trainierenkönnen, können wir das natürlich auch mitEs kann also sehr sinnvoll sein, in derZeitreihe sowohl in Vergangenheit als auchin Zukunft bewusst Lücken zu lassen, alsoden Parameter ∆t einzuführen, der angibt,der wievielte zurückliegende Wert jeweilszur Prädiktion genutzt wird. Wir bleibenalso technisch gesehen bei einer One StepEingabezeitraumstreckenD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 189


Anhang B Exkurs: <strong>Neuronale</strong> <strong>Netze</strong> zur Vorhersagedkriesel.comPrediktorx t−3x t−2x t−1x t˜x t+1˜x t+2PrediktorAbbildung B.3: Darstellung der Two Step Ahead Prediction – aus einer Reihe vergangener Werteversucht man, durch einen zweiten Prediktor unter Einbeziehung eines bereits vorhergesagtenWertes den zweiten zukünftigen Wert vorherzusagen.x t−3x t−2x t−1x t˜x t+1 ˜x t+2PrediktorAbbildung B.4: Darstellung der Direct Two Step Ahead Prediction. Hier wird direkt der zweiteZeitschritt vorhergesagt, und der erste übersprungen. Sie unterscheidet sich technisch nicht voneiner One Step Ahead Prediction.190 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comB.5 Bemerkungen zur Vorhersage von AktienkursenInformationenaußerhalbZeitreihenutzenAhead Prediction, und strecken nur denEingaberaum oder aber wir trainieren dieVorhersage weiter entfernt liegender Werte.Auch Kombinationen verschiedener ∆tsind möglich: Im Falle der Stauvorhersagefür einen Montag könnten zusätzlichzu den letzten Montagen die letzten paarTage als Dateninput genutzt werden. Wirnutzen so also die letzten Werte mehrererPerioden, in diesem Fall einer wöchentlichenund einer täglichen. Wir könnten inForm der Ferienanfänge auch noch einejährliche hinzunehmen (jeder von uns hatbestimmt schon einmal viel Zeit auf derAutobahn verbracht, weil er den Ferienanfangvergessen hatte).B.4.2 Heterogene PredictionEine weitere Variante der Vorhersage wäre,aus mehreren Zeitreihen etwas über die Zukunfteiner einzigen Zeitreihe vorherzusagen,falls man annimmt, dass die zusätzlicheZeitreihe etwas mit der Zukunft derersten zu tun hat (heterogene One StepAhead Prediction, Abb. B.5 auf der folgendenSeite).Will man zwei Ausgaben zu zwei Zeitreihen,welche etwas miteinander zu tunhaben, vorhersagen, kann man natürlichzwei parallele One Step Ahead Predictionsausführen (dies wird analytisch oft gemacht,weil die Gleichungen sonst irgendwannsehr unübersichtlich werden) – oderman hängt im Falle der <strong>Neuronale</strong>n <strong>Netze</strong>einfach ein Outputneuron mehr an undnutzt Wissen von beiden Zeitreihen für beideAusgaben (Abb. B.6 auf der folgendenSeite).Mehr und allgemeineres Material zumThema ”Zeitreihen“ findet sich unter[WG94].B.5 Bemerkungen zurVorhersage vonAktienkursenViele Personen schauen sich die Veränderungeines Aktienkurses in der Vergangenheitan und versuchen daraus auf die Zukunftzu schließen, um Profit daraus zu ziehen.Aktienkurse sind aus sich selbst herausunstetig und daher prinzipiell schoneinmal schwierige Funktionen. Weiterhinkann man die Funktionen nur zu diskretenWerten abrufen, oft beispielsweiseim Tagesrhytmus (wenn man Glück hat,noch mit Maximal- und Minimalwertenpro Tag), wo natürlich die Tagesschwankungenwieder wegfallen. Dies macht dieSache auch nicht einfacher.Es gibt nun Chartisten, also Personen,welche sich viele Diagramme anschauenund mit viel Hintergrundwissen und oftJahrzehnten an Erfahrung entscheiden, obWertpapiere gekauft werden sollten odernicht (und damit auch oft Erfolg haben).Neben den Wertpapierkursen sind auchWechselkurse von Währungen sehr interessantvorherzusagen: Wenn man 100 Euroin Dollar umtauscht, diese in PfundD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 191


Anhang B Exkurs: <strong>Neuronale</strong> <strong>Netze</strong> zur Vorhersagedkriesel.comx t−3x t−2x t−1x t˜x t+1Prediktory t−3y t−2y t−1y tAbbildung B.5: Darstellung der Heterogenen One Step Ahead Prediction. Vorhersage einer Zeitreiheunter Betrachtung einer weiteren.x t−3x t−2x t−1x t˜x t+1Prediktory t−3y t−2y t−1y tỹ t+1Abbildung B.6: Heterogene One Step Ahead Prediction von zwei Zeitreihen gleichzeitig.192 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comB.5 Bemerkungen zur Vorhersage von Aktienkursenund diese wieder in Euro, kann passieren,dass man zum Schluss 110 Euro herausbekommt.Wenn man das allerdings herausgefundenhat, würde man das öfter machenund somit selbst die Wechselkurse ineinen Zustand verändern, in dem ein solchervermehrender Kreislauf nicht mehrmöglich ist (wäre das nicht so, könnteman ja Geld herstellen, indem man sozusagenein finanzielles Perpetuum Mobile erschafft).Gute Wertpapier- und Wechselkursbrokerheben oder senken den Daumen an derBörse – und geben damit an, ob eine Aktieoder ein Wechselkurs ihrer Meinungnach steigen wird. Sie geben also mathematischausgedrückt das erste Bit (Vorzeichen)der ersten Ableitung des Wechselkursesan. Exzellente Weltklasse-Broker erreichendamit Erfolgsraten von etwas über70%.In Großbritannien ist es mit einer heterogenenOne-Step-Ahead-Prediction gelungen,diese Vorhersagerichtigkeit auf 76% zu steigern:Zusätzlich zu der Zeitreihe des Werteswurden noch Indikatoren miteinbezogen,wie z.B. der Ölpreis in Rotterdamoder die US-Staatsverschuldung.Das einmal zur Größenordnung der Richtigkeitvon Börsenschätzungen – wir redenja immer noch über das Erste Bit der ErstenAbleitung! Damit ist uns auch nochkeine Information gegeben, wie stark dererwartete Anstieg oder Abfall ist, und soauch nicht, ob sich der ganze Aufwandlohnt: Vielleicht macht uns eine einzigefalsche Vorhersage den ganzen Gewinn vonhundert richtigen wieder zunichte.Wie verhalten sich also <strong>Neuronale</strong> <strong>Netze</strong>zur Aktienkursvorhersage? Wir nehmen jaganz intuitiv an, dass die Aktienkurswerteder Zukunft eine Funktion der Aktienwertevon Zeitpunkten davor sind.Genau diese Annahme ist jedoch irrig: Aktienkursesind keine Funktion ihrer Vergangenheit,sondern eine Funktion ihrermutmaßlichen Zukunft. Wir kaufen keineAktien, weil sie in den letzten Tagen sehrgestiegen sind – sondern weil wir denken,dass sie morgen höher steigen werden.Kaufen viele Personen aus diesem Einfallheraus eine Aktie, so treiben sie ihren Kursin die Höhe, und haben also mit ihrer Mutmaßungrecht – es entsteht eine Self FulfillingProphecy, ein in der Wirtschaftlange bekanntes Phänomen.Gleiches gilt für den umgekehrten Fall:Wir verkaufen Aktien, weil wir denken,dass sich morgen die Kurse nach unten bewegenwerden – was den Kurs am nächtenTag nach unten drückt und am übernächstenin aller Regel noch viel mehr.Immer wieder taucht Software auf, die mitwissenschaftlichen Schlagworten wie z.B.<strong>Neuronale</strong>n <strong>Netze</strong>n behauptet, Aktienkursevorhersagen zu können. Kaufen Sie diesenicht – zusätzlich zu den oben genanntenwissenschaftlichen Ausschlusskriterienaus einem einfachen Grund: Wenn dieseTools so toll funktionieren – warum verkauftdie Herstellerfirma sie dann? NützlichesWirtschaftswissen wird in aller Regelgeheimgehalten, und wenn wir einenWeg wüssten, garantiert mit Aktien reichzu werden, würden wir doch durch diesenAktienkursFunktion dermutmaßlichenZukunft!D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 193


Anhang B Exkurs: <strong>Neuronale</strong> <strong>Netze</strong> zur Vorhersagedkriesel.comWeg Millionen verdienen, und nicht in 30-Euro-Häppchen durch den Verkauf desselben,oder?194 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


Anhang CExkurs: Reinforcement LearningWas, wenn keine Trainingsbeispiele existieren, man aber trotzdem beurteilenkann, wie gut man gelernt hat, ein Problem zu lösen? Betrachten wir einLernparadigma, welches zwischen überwachtem und unüberwachtem Lernenanzusiedeln ist.KeineBeispiele,aberFeedbackWir wollen nun einen eher exotischen Ansatzdes Lernens kennenlernen – einfach,um einmal von den üblichen Verfahrenwegzukommen. Wir kennen Lernverfahren,in denen wir einem Netz genau sagen,was es tun soll, also beispielhafte Ausgabewertebereitstellen. Wir kennen ebenfallsLernverfahren, wie bei den Self OrganizingMaps, in denen ausschließlich Eingabewertegegeben werden.Wir wollen nun eine Art Mittelding erforschen:Das Lernparadigma des bestärkendenLernens – Reinforcement Learningnach Sutton und Barto [SB98].Reinforcement Learning an sich ist kein<strong>Neuronale</strong>s Netz, sondern nur eines derdrei Lernparadigmen, die wir bereits inKapitel 4 genannt haben. Manche Quellenzählen es zu den überwachten Lernverfahren,da man ein Feedback gibt – durchdie sehr rudimentäre Art des Feedbacksist es aber begründet von den überwachtenLernverfahren abzugrenzen, mal ganzabgesehen von der Tatsache, dass es keineTrainingsbeispiele gibt.Während allgemein bekannt ist, dass Verfahrenwie Backpropagation im Gehirnselbst nicht funktionieren können, wird ReinforcementLearning allgemein als biologischwesentlich motivierter angesehen.Der Ausdruck Reinforcement Learning(Bestärkendes Lernen) kommt aus denKognitionswissenschaften und der Psychologieund beschreibt das in der Natur überallvorhandene Lernsystem durch Zuckerbrotund Peitsche, durch gute Erfahrungenund schlechte Erfahrungen, Belohnungund Bestrafung. Es fehlt aber eineLernhilfe, die uns genau erklärt, was wirzu tun haben: Wir erhalten lediglich einGesamtergebnis für einen Vorgang (Habenwir das Schachspiel gewonnen oder nicht?Und wie sicher haben wir es gewonnen?),aber keine Ergebnisse für die Zwischenschritte.195


Anhang C Exkurs: Reinforcement Learningdkriesel.comFahren wir beispielsweise mit unseremFahrrad mit abgewetzten Reifen und einerGeschwindigkeit von exakt 21, 5 km hin einerKurve über Sand mit einer Korngrößevon durchschnittlich 0.1mm, so wird unsniemand genau sagen können, auf welchenWinkel wir den Lenker einzustellen haben,oder noch schlimmer, wie stark die Muskelkontraktionenvon unseren vielen Muskelteilenin Arm oder Bein dafür sein müssen.Je nachdem, ob wir das Ende der Kurveunbeschadet erreichen, sehen wir uns abersehr schnell mit einer guten oder schlechtenLernerfahrung, einem Feedback bzw.Reward konfrontiert. Der Reward ist alsosehr einfach gehalten – aber dafür auchwesentlich einfacher verfügbar. Wenn wirnun oft genug verschiedene Geschwindigkeitenund Kurvenwinkel ausgetestet habenund einige Rewards erhalten haben,werden wir in etwa ein Gefühl dafür bekommen,was funktioniert und was nicht:Genau dieses Gefühl zu erhalten, ist dasZiel des Reinforcement Learnings.Ein weiteres Beispiel für die Quasi-Unmöglichkeit, eine Art Kosten- oder Nutzenfunktionzu erhalten, ist ein Tennisspieler,der durch komplizierte Bewegungenund ballistische Bahnen im dreidimensionalenRaum unter Einberechnung vonWindrichtung, Wichtigkeit des Turniers,privaten Faktoren und vielem anderen versucht,seinen sportlichen Ruhm auf langeZeit zu maximieren.Um es gleich vorweg zu sagen: Da wir nurwenig Feedback erhalten, heißt ReinforcementLearning oft ausprobieren – und damitist es recht langsam.C.1 SystemaufbauWir wollen nun verschiedene Größen undBestandteile des Systems kurz ansprechen,und sie in den nachfolgenden Abschnittengenauer definieren. ReinforcementLearning repräsentiert grob formuliertdie gegenseitige Interaktion zwischeneinem Agenten und einem Umweltsystem(Abb. C.2).Der Agent soll nun irgendeine Aufgabelösen, er könnte z.B. ein autonomer Robotersein, der Hindernisvermeidung betreibensoll. Der Agent führt in der Umweltnun Aktionen aus und bekommt vonder Umwelt dafür ein Feedback zurück,das wir im folgenden Reward nennen wollen.Dieser Kreis aus Aktion und Rewardist charakteristisch für ReinforcementLearning. Der Agent beeinflusst dasSystem, das System gibt einen Rewardund verändert sich.Der Reward ist ein reeller oder diskreterSkalar, welcher uns wie oben beschriebenangibt, wie gut wir unser Ziel erreichen,jedoch keine Anleitung vermittelt, wie wires erreichen können. Ziel ist immer, langfristigeine möglichst hohe Summe von Rewardszu erwirtschaften.C.1.1 Die GridworldAls Lernbeispiel für Reinforcement Learningmöchte ich gerne die sogenannteGridworld verwenden. Wir werden sehen,dass sie sehr einfach aufgebaut und durchschaubarist und daher eigentlich gar keinReinforcement Learning notwendig ist –196 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.1 SystemaufbauEinfacheBeispiel-Welttrotzdem eignet sie sich sehr gut, die Vorgehensweisendes Reinforcement Learningan ihr darzustellen. Definieren wir nundie einzelnen Bestandteile des ReinforcementSystems beispielhaft durch die Gridworld.Wir werden jedes dieser Bestandteilespäter noch genauer beleuchten.Umwelt: Die Gridworld (Abb. C.1) ist eineeinfache, diskrete Welt in zwei Dimensionen,die wir im Folgenden alsUmweltsystem verwenden wollen.Agent: Als Agent nehmen wir einen einfachenRoboter, der sich in unsererGridworld befindet.××Zustandsraum: Wie wir sehen, hat unsereGridworld 5 × 7 Felder, von denen6 nicht begehbar sind. UnserAgent kann also 29 Positionen inder Gridworld besetzen. Diese Positionennehmen wir für den Agenten alsZustände.Abbildung C.1: Eine graphische Darstellung unsererGridworld. Dunkel gefüllte Zellen sind Hindernisseund daher nicht begehbar. Rechts vondem hell gefüllten Feld ist der Ausgang. Das Symbol× markiert die Startposition unseres Agenten.Im oberen Teil der Abbildung ist die Türoffen, im unteren geschlossen.Aktionsraum: Fehlen noch die Aktionen.Definieren wir einfach, der Roboterkönnte jeweils ein Feld nach oben, unten,rechts oder links gehen (solangedort kein Hindernis oder der Rand unsererGridworld ist).Feld nicht begehbar. Die Tür kannsich nicht während eines Durchlaufsverändern, sondern nur zwischen denDurchläufen.Aufgabe: Die Aufgabe unseres Agentenist es, aus der Gridworld hinauszufinden.Der Ausgang befindet sich rechtsvon dem hell ausgefüllten Feld.Wir haben nun eine kleine Welt geschaffen,die uns über die nachfolgenden Lernstrategienbegleiten und sie uns anschaulich machenwird.Nichtdeterminismus: Die beidenHindernisse können durch eine Tür“ ”verbunden werden. Wenn die Türgeschlossen ist (unterer Teil derAbbildung), ist das entsprechendeC.1.2 Agent und UmweltUnser Ziel ist nun, dass der Agent lernt,was mit Hilfe des Rewards geschieht. EsD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 197


Anhang C Exkurs: Reinforcement Learningdkriesel.comAgentagiert inUmweltReward / neue SituationAgentUmweltAktionAbbildung C.2: Der Agent führt Aktionen inseiner Umwelt durch, welche ihm einen Rewardgibt.wird also über, von und mit einem dynamischenSystem, der Umwelt, gelernt,um ein Ziel zu erreichen. Doch was genauheißt eigentlich Lernen in diesem Zusammenhang?Die Belohnung ist nicht zu verwechselnmit dem Reward – vielleicht ist es auf demWeg des Agenten zur Problemlösung auchsinnvoll, zwischendurch hin und wieder etwasweniger Belohnung oder gar Strafe zubekommen, wenn das langfristige Ergebnisdafür maximal ist (ähnlich, wie wennein Anleger ein Tief eines Aktienkurses einfachaussitzt oder ein Bauernopfer beimSchach). Ist der Agent also auf einem gutenWeg zum Ziel, gibt es positiven Reward,wenn nicht, gibt es keinen oder sogarnegativen Reward (Strafe). Die Belohnungist sozusagen die schlussendliche Summealler Rewards – wir wollen sie auch Returnnennen.Nachdem wir nun die Grundbestandteileumgangssprachlich benannt haben, wollenwir in den folgenden Abschnittengenauer betrachten, aus was wir unserReinforcement-Learning-System abstraktzusammensetzen können.In der Gridworld: Der Agent ist in derGridworld ein einfacher Roboter, der ausder Gridworld herausfinden soll. Umweltist die Gridworld selbst, eine diskrete Gitterwelt.Definition C.1 (Agent): Der Agent beiReinforcement Learning kann formal beschriebenwerden als eine Abbildung vomSituationsraum S in den AktionsraumA(s t ). Was Situationen s t sind, wird späternoch definiert und soll nur aussagen, dassder Aktionsraum von der aktuellen Situationabhängig ist.Der Agent soll eine Abbildung von Situationenauf Aktionen (genannt Policy) lernen,also lernen, was er in welcher Situationtun soll, um ein ganz bestimmtes (gegebenes)Ziel zu erreichen. Das Ziel wird demAgenten einfach aufgezeigt, indem er fürAgent: S → A(s t ) (C.1)das Erreichen eine Belohnung bekommt. Definition C.2 (Umwelt): Die Umwelt repräsentierteine stochastische Abbildungvon einer Aktion A unter der aktuellen Situations t auf einen Reward r t und eineneue Situation s t+1 .Umwelt: S × A → P (S × r t )C.1.3 Zustände, Situationen undAktionen(C.2)Wie wir schon angesprochen haben, kannein Agent sich innerhalb seiner Umwelt198 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.1 SystemaufbauWichtig!in verschiedenen Zuständen befinden: ImFalle der Gridworld zum Beispiel an verschiedenenOrten (wir erhalten hier einenzweidimensionalen Zustandsvektor).Es ist für den Agenten aber nicht immermöglich, alle Informationen seines aktuellenZustandes zu erfassen, weswegenwir den Begriff der Situation einführenmüssen. Eine Situation ist ein Zustandaus Agentensicht, also nur eine mehr oderweniger gute Approximation eines Zustandes.Wir wissen nun, dass das ReinforcementLearning eine Interaktion zwischen Agentund System mit Aktionen a t und Situationens t ist. Der Agent kann nun nichtselbst feststellen, ob die aktuelle Situationgut oder schlecht ist: Genau dies ist derGrund, warum er wie eingangs bereits beschriebenvon der Umwelt einen Rewarderhält.In der Gridworld: Zustände sind die Orte,an denen der Agent sich befinden kann.Situationen kommen den Zuständen in derGridworld vereinfachend gleich. MöglicheAktionen sind nach Norden, Süden, Ostenoder Westen zu gehen.Bemerkung: Situation und Aktionkönnen vektoriell sein, der Reward jedochist immer ein Skalar (im Extremfallsogar nur ein Binärwert), da das Zielvon Reinforcement Learning ist, mitsehr wenig Feedback auszukommen – einkomplizierter vektorieller Reward käme jaeinem richtigen Teaching Input gleich.Im Übrigen soll ja eine Kostenfunktion minimiertwerden, was aber mit einem vektoriellenReward so nicht möglich wäre,da wir keine intuitiven Ordnungsrelationenim Mehrdimensionalen besitzen – alsonicht direkt wissen, was jetzt besser oderschlechter ist.Situationen lassen es daher nicht imAllgemeinen zu, Folgesituationen eindeutigvorherzusagen“ – selbst bei einem”vollständig deterministischen System habenwir das vielleicht nicht gegeben. WennDefinition C.3 (Zustand):wir alle Zustände und die Übergänge dazwischenexakt kennen würden (also dasgesamte System), wäre eine optimale Planungmöglich und auch eine optimale Policyeinfach findbar – (Methoden liefert z.B.die dynamische Programmierung).In einem Zustandbefindet sich der Agent innerhalb seinerUmwelt. Zustände enthalten jede Informationüber den Agent im Umweltsystem.Es ist also theoretisch möglich, aus diesemgottähnlichen Zustandswissen einen Folgezustandauf eine ausgeführte Aktion in einemdeterministischen System eindeutigvorherzusagen.Definition C.4 (Situation): Situationen s t(hier zum Zeitpunkt t) aus einem SituationsraumS sind das eingeschränkte, approximativeWissen des Agenten über seinenZustand. Die Approximation (von derder Agent nicht einmal wissen kann, wiegut sie ist) macht eindeutige Vorhersagenunmöglich.Definition C.5 (Aktion): Aktionen a tkönnen vom Agenten ausgeführt werden(wobei es sein kann, dass je nach Situationein anderer Aktionsraum A(S) besteht)und bewirken Zustandsübergänge und damiteine neue Situation aus Sicht des Agenten.◭s t◭S◭a t◭A(S)D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 199


Anhang C Exkurs: Reinforcement Learningdkriesel.comr t ◮C.1.4 Reward und ReturnWie im wirklichen Leben ist unser Ziel, einemöglichst hohe Belohnung zu erhalten,also die Summe der erwarteten Rewardsr, genannt Return R, langfristig zu maximieren.Bei endlich vielen Zeitschrittenkann man die Rewards einfach aufsummieren:R t = r t+1 + r t+2 + . . .∞∑=r t+xx=1(C.3)(C.4)Der Return wird hierbei natürlich nurabgeschätzt (Würden wir alle Rewardsund damit den Return komplett kennen,bräuchten wir ja nicht mehr lernen).Definition C.6 (Reward): Ein Rewardr t ist eine skalare, reelle oder diskrete(manchmal sogar nur binäre) BelohnungsoderBestrafungsgröße, welche dem Agentenvom Umweltsystem als Reaktion aufeine Aktion gegeben wird.Definition C.7 (Return): Der Return R tist die Aufkumulierung aller erhaltenen Re-R t ◮ wards bis zum Zeitpunkt t.C.1.4.1 Umgang mit großenZeiträumenNicht alle Problemstellungen haben aberein explizites Ziel und damit eine endlicheSumme (unser Agent kann zum Beispielein Roboter sein, der die Aufgabe hat, einfachimmer weiter herumzufahren und Hindernissenauszuweichen).Um im Falle einer unendlichen Reihevon Reward-Abschätzungen keine divergierendeSumme zu erhalten, wird ein abschwächenderFaktor 0 < γ < 1 verwendet,der den Einfluss ferner erwarteter Rewardsabschwächt: Das ist nicht nur dannsinnvoll, wenn kein Ziel an sich existiert,sondern auch, wenn das Ziel sehr weit entferntist:R t = r t+1 + γ 1 r t+2 + γ 2 r t+3 + . . .∞∑= γ x−1 r t+xx=1(C.5)(C.6)Je weiter die Belohnung weg ist, umso wenigerAnteil hat sie also an den Entscheidungendes Agenten.Eine andere Möglichkeit, die Return-Summe zu handhaben, wäre ein begrenzterZeithorizont τ, so dass nur τ vielefolgende Rewards r t+1 , . . . , r t+τ betrachtetwerden:R t = r t+1 + . . . + γ τ−1 r t+ττ−1∑= γ x−1 r t+xx=1(C.7)(C.8)Wir unterteilen also den Zeitstrahl in Episoden.Üblicherweise wird eine der beidenMethoden zur Begrenzung der Summe verwendet,wenn nicht sogar beide gemeinsam.Wir versuchen also wie im täglichen Leben,unsere aktuelle Situation an einengewünschten Zustand zu approximieren.Da nicht zwangsläufig nur der folgendeerwartete Reward, sondern die erwarteteGesamtsumme bestimmt, was der Agenttut, können auch Aktionen durchgeführt◭γ◭τ200 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.1 SystemaufbauΠ◮werden, die kurzfristig erst einmal negativenReward ergeben (z.B. das Bauernopferbeim Schach), sich jedoch später auszahlen.C.1.5 Die PolicyNachdem wir nun einige Systemelementedes Reinforcement Learnings genau betrachtetund formalisiert haben, bleibtnoch das eigentliche Ziel zu betrachten:Der Agent lernt während des ReinforcementLearnings eine PolicyΠ : S → P (A),er justiert also fortlaufend eine Abbildungvon den Situationen auf die WahrscheinlichkeitenP (A), mit denen jede Aktion Ain jeder Situation S ausgeführt wird. EinePolicy kann definiert werden als eineStrategie, Aktionen auszuwählen, die denReward auf lange Zeit maximiert.In der Gridworld: Die Policy ist in derGridworld die Strategie, nach der derAgent versucht, aus der Gridworld herauszufinden.Definition C.8 (Policy): Die Policy Π isteine Abbildung von Situationen auf Wahrscheinlichkeiten,jede Aktion aus dem AktionsraumA auszuführen. Sie ist also formalisierbaralsΠ : S → P (A).(C.9)Wir unterscheiden hierbei grundsätzlichzwischen zwei Paradigmen von Policies: EineOpen Loop Policy stellt eine offeneSteuerkette dar und bildet aus einerStartsituation s 0 eine Sequenz von Aktionena 0 , a 1 , . . . mit a i ≠ a i (s i ); i > 0. DerAgent erstellt also zu Beginn einen Planund führt ihn sukzessive bis zum Ende aus,ohne die zwischenzeitlichen Situationen zuberücksichtigen (daher a i ≠ a i (s i ), Aktionennach a 0 hängen nicht von den Situationenab).In der Gridworld: Eine Open Loop Policywürde uns in der Gridworld für eineStartposition eine exakte Wegbeschreibungzum Ausgang liefern, z.B. von der angegebenenStartposition den Weg (in Himmelsrichtungsabkürzungen)OOOON.Eine Open Loop Policy ist also eine Sequenzvon Aktionen ohne zwischenzeitlichesFeedback. Aus einer Startsituationwird eine Sequenz von Aktionen generiert.Wenn man das System 100%ig kennt, kannman mit einer solchen Open Loop Policyerfolgreich arbeiten und zu sinnvollenErgebnissen gelangen. Um aber z.B. dasSchachspiel 100% zu kennen, müssten wiralle Spielzüge durchprobieren, was sehraufwändig ist. Wir müssen uns für derartigeProblemstellungen also eine Alternativezur Open Loop Policy suchen, die aktuelleSituationen in die Handlungsplanung miteinbezieht:Eine Closed Loop Policy ist ein geschlossenerRegelkreis, gewissermaßen eineFunktionΠ : s i → a i mit a i = a i (s i ).Hier übt die Umwelt Einfluss auf unsereAktionen aus bzw. der Agent reagiert aufInput der Umwelt, wie schon in Abb. C.2D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 201


Anhang C Exkurs: Reinforcement Learningdkriesel.comForschungoderSicherheit?dargestellt. Die Closed Loop Policy ist gewissermaßenein reaktiver Plan, der aktuelleSituationen auf auszuführende Aktionenabbildet.Bei der Wahl der auszuführenden Aktionenkönnen wieder zwei grundsätzlicheStrategien betrachtet werden.In der Gridworld: Eine Closed Loop Policywürde auf die Aktuelle Position eingehenund Richtungen nach der Aktionauswählen. Insbesondere wenn dynamischein Hindernis erscheint, ist eine solche Policydie bessere Wahl.C.1.5.1 Exploitation vs. ExplorationWie im wirklichen Leben stellt sichwährend des Reinforcement Learnings oftdie Frage, ob vorhandenes Wissen stur ausgenutzt,oder aber auch neue Wege ausprobiertwerden. Wir wollen zunächst die zweiExtrema betrachten:Eine Greedy Policy wählt immer denWeg des höchsten Rewards, den wir im vorausbestimmen können, also des höchstenbekannten Rewards. Diese Policy repräsentiertden Exploitation-Ansatz und ist erfolgversprechend,wenn man das behandelteSystem bereits kennt.Im Gegensatz zum Exploitation-Ansatzsteht der Exploration-Ansatz, der zumZiel hat, ein System möglichst umfassendzu erforschen, so dass auch Wege zum Zielgefunden werden können, welche auf denersten Blick vielleicht nicht erfolgversprechendaussehen, es aber dennoch sind.Angenommen, wir suchen einen Weg zumRestaurant, so wäre eine auf Nummer sichergehende Policy, von überall den Wegzu nehmen, den wir kennen, so unoptimalund lang er auch sein mag, und nicht zuversuchen, bessere Wege zu erforschen. Einanderer Ansatz wäre, auch hin und wiedernach kürzeren Wegen zu forschen, selbstauf die Gefahr hin, dass die Forschunglange dauert, nichts bringt und wir daherzum Schluß doch den ursprünglichen Wegnehmen und zu spät ins Restaurant kommen.In der Realität wird oft eine Kombinationbeider Verfahren angewandt: Zum Anfangeines Lernvorgangs wird mit höhererWahrscheinlichkeit geforscht, währendzum Ende mehr vorhandenes Wissen ausgenutztwird. Auch eine statische Wahrscheinlichkeitsverteilungist hier möglichund wird oft angewandt.In der Gridworld: Für die Wegsuche inder Gridworld gilt das Restaurantbeispielnatürlich analog.C.2 LernvorgangBetrachten wir wieder das tägliche Leben.Von einer Situation können wir durch Aktionenin verschiedene Untersituationengeraten, von jeder Untersituation wiederin Unteruntersituationen. Gewissermaßenerhalten wir einen Situationsbaum, wobeiman Verknüpfungen unter den Knotenberücksichtigen muss (oft gibt es mehrereWege, wie man zu einer Situation gelangenkann – der Baum könnte also tref-202 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.2 Lernvorgangfender als Situationsgraph bezeichnet werden).Blätter des Baums sind Endsituationendes Systems. Der Exploration-Ansatzwürde den Baum möglichst genau durchsuchenund alle Blätter kennenlernen, derExploitation-Ansatz zielsicher zum bestenbekannten Blatt gehen.Analog zum Situationsbaum können wiruns auch einen Aktionsbaum aufbauen –hier stehen dann in den Knoten die Rewardsfür die Aktionen. Wir müssen nunvom täglichen Leben adaptieren, wie genauwir lernen.C.2.1 Strategien zur RewardvergabeInteressant und von großer Wichtigkeit istdie Frage, wofür man einen Reward vergibtund was für einen Reward man vergibt,da das Design des Rewards das Systemverhaltenmaßgeblich steuert. Wie wiroben gesehen haben, gibt es (wieder analogzum täglichen Leben) in der Regelzu jeder Situation verschiedene Aktionen,welche man ausführen kann. Es existierenverschiedene Strategien, um die ausgewähltenSituationen zu bewerten und sodie zum Ziel führende Aktionsfolge zu lernen.Diese sollen im Folgenden erst einmalgrundsätzlich erläutert werden.Wir wollen nun einige Extremfälle als Designbeispielezum Reward anbringen:Als Pure Delayed Reward bezeichnenwir eine Rewardvergabe ähnlich wie beimSchachspiel: Wir erhalten unsere Belohnungzum Schluss, und während des Spielskeine. Diese Methode ist immer dannvon Vorteil, wenn man am Ende genausagen kann, ob man Erfolg gehabt hat,aber in den Zwischenschritten nicht genaueinschätzen kann, wie gut die eigene Situationist. Es giltr t = 0 ∀t < τ(C.10)sowie r τ = 1 bei Gewinn und r τ = −1bei Verlust. Bei dieser Rewardstrategie gebennur die Blätter des Situationsbaumeseinen Reward zurück.Pure Negative Reward: Hier giltr t = −1 ∀t < τ.(C.11)Dieses System findet den schnellsten Wegzum Ziel, weil dieser automatisch auch dergünstigste in Bezug auf den Reward ist.Man wird bestraft für alles, was man tut –selbst wenn man nichts tut, wird man bestraft.Diese Strategie hat zur Folge, dasses die preiswerteste Methode für den Agentenist, schnell fertig zu werden.Als weitere Strategie betrachten wir dieAvoidance Strategy: Schädlichen Situationenwird aus dem Weg gegangen. Esgiltr t ∈ {0, −1},(C.12)Fast alle Situationen erhalten hier gar keinenReward, nur einige wenige erhalteneinen negativen. Diese negativen Situationenwird der Agent weiträumig umgehen.Achtung: Rewardstrategien können leichtunerwartete Folgen haben. Ein Roboter,dem man sagt ”mach was du willst, aberwenn du ein Hindernis berührst, kriegst duD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 203


Anhang C Exkurs: Reinforcement Learningdkriesel.comeine Strafe“, wird einfach stehenbleiben.Wird Stehenbleiben folglich auch bestraft,wird er kleine Kreise fahren. Bei näheremÜberlegen kommt man auf den Gedanken,dass diese Verhaltensweisen den Returndes Roboters optimal erfüllen, aber leidernicht von uns intendiert waren.Man kann weiterhin zeigen, dass insbesonderekleine Aufgaben mit negativenRewards besser gelöst werden könnenwährend man bei großen, kompliziertenAufgaben mit positiven, differenzierterenRewards weiter kommt.In Bezug auf unsere Gridworld wollen wirden Pure Negative Reward als Strategiewählen: Der Roboter soll möglichst schnellzum Ausgang finden.C.2.2 Die State-Value-Funktion-6 -5 -4 -3 -2-7 -1-6 -5 -4 -3 -2-7 -6 -5 -3-8 -7 -6 -4-9 -8 -7 -5-10 -9 -8 -7 -6-6 -5 -4 -3 -2-7 -1-8 -9 -10 -2-9 -10 -11 -3-10 -11 -10 -4-11 -10 -9 -5-10 -9 -8 -7 -6Abbildung C.3: Darstellung des jeweils optimalenReturns pro Feld in unserer Gridworld unterder Pure Negative Reward-Vergabe, oben mit offenerTür und unten mit geschlossener.ZuständebewertenIm Gegensatz zu unserem Agenten habenwir eine gottgleiche Sicht auf unsere Gridworld,so dass wir schnell bestimmenkönnen, welche Roboterstartposition welchenoptimalen Return erreichen kann.In Abbildung C.3 sind diese optimalen Returnspro Feld aufgetragen.In der Gridworld: Die State-Value-Funktion für unsere Gridworld stelltgenau eine solche Funktion pro Situation(= Ort) dar, mit dem Unterschied, dasssie nicht bekannt ist, sondern gelerntwerden muss.Wir sehen also, dass es für den Roboterpraktisch wäre, die aktuellen wiezukünftigen Situationen einer Bewertungunterziehen zu können. Betrachten wiralso ein weiteres Systemelement des ReinforcementLearning, die State-Value-Funktion V (s), welche mit Bezug auf einePolicy Π auch oft als V Π (s) bezeichnetwird: Denn ob eine Situation schlecht ist,hängt ja auch davon ab, was der Agentfür ein Allgemeinverhalten Π an den Taglegt.Eine Situation, die unter einer risikosuchenden,Grenzen austestenden Policyschlecht ist, wäre beispielsweise, wenn einemAgent auf einem Fahrrad das Vorderradin der Kurve anfängt wegzurutschenund er in dieser Situation aufgrund seinerDraufgänger-Policy nicht bremst. Mit ei-204 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.2 LernvorgangV Π (s)◮V ∗ Π (s)◮ner risikobewussten Policy sähe dieselbeSituation schon viel besser aus, würde alsovon einer guten State-Value-Funktionhöher bewertet werden.V Π (s) = E Π {R t |s = s t }Definition C.9 (State-Value-Funktion):Die State-Value-Funktion V Π (s) hat zurAufgabe, den Wert von Situationen untereiner Policy zu ermitteln, also dem Agentendie Frage zu beantworten, ob eine Situations gut oder schlecht ist oder wie gutbzw. schlecht sie ist. Hierfür gibt sie denErwartungswert des Returns unter der Situationaus:V Π (s) = E Π {R t |s = s t }(C.13)Die optimale State-Value-Funktion nennenwir V ∗ Π (s).Nun hat unser Roboter im Gegensatz zuuns leider keine gottgleiche Sicht auf seineUmwelt. Er besitzt keine Tabelle mitoptimalen Returns, wie wir sie eben aufgezeichnethaben, an der er sich orientierenkönnte. Das Ziel von ReinforcementLearning ist es, dass der Roboter sich seineState-Value-Funktion anhand der Returnsaus vielen Versuchen nach und nachselbst aufbaut und der optimalen State-Value-Funktion V ∗ annähert (wenn es einegibt).In diesem Zusammenhang seien noch zweiBegriffe eingeführt, welche eng mit demKreislauf zwischen State-Value-Funktionund Policy verbunden sind:V Π (s) gibt einfach den Wert zurück, dendie aktuelle Situation s unter der Policy Πfür den Agenten gerade hat. Abstrakt nachden obigen Definitionen gesagt, entsprichtder Wert der State-Value-Funktion demReturn R t (dem erwarteten Wert) einer Situations t . E Π bezeichnet hierbei die Men-C.2.2.1 Policy evaluationge der erwarteten Returns unter Π und deraktuellen Situation s t .Policy evaluation nennt man die Vorgehensweise,eine Policy einige Male durchzuprobieren,auf diese Weise viele Rewardszu erhalten und durch diese mit der Zeiteine State-Value-Funktion aufzukumulieren.C.2.2.2 Policy improvementPolicy improvement bedeutet, eine Policyselbst zu verbessern, also aus ihr eineneue, bessere Policy zu erzeugen. Um diePolicy zu verbessern, müssen wir das Zielverfolgen, dass der Return zum Schlusseinen größeren Wert hat als vorher – manalso einen kürzeren Weg zum Restaurantgefunden hat und ihn auch erfolgreich gegangenist.Das Prinzip des Reinforcement Learningsist nun, ein Wechselspiel zu realisieren.Man versucht zu bewerten, wie gut einePolicy in den einzelnen Situationenist. Wir probieren eine Policy und erhalteneine veränderte State-Value-Funktion.Aus der Veränderung der State-Value-Funktion gewinnen wir InformationenD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 205


Anhang C Exkurs: Reinforcement Learningdkriesel.comVV ∗ΠΠ ∗Abbildung C.4: Der Kreislauf desReinforcement-Learnings, welcher idealerweisezu optimalem Π ∗ bzw. V ∗ führt.über das System, aus der wir wieder unserePolicy verbessern. Diese beiden Werteziehen sich nun gegenseitig hoch, wassich auch mathematisch beweisen lässt –so dass man zum Schluß eine optimalePolicy Π ∗ und eine optimale State-Value-Funktion V ∗ erhält (Abb. C.4). DieserKreislauf hört sich einfach an, ist aber sehrlangwierig.Betrachten wir nun zuerst eine einfache,zufällige Policy, wie unser Roboter seineState-Value-Funktion ohne Vorwissenlangsam ausfüllen und verbessern könnte.C.2.3 Montecarlo-MethodikDie einfachste Taktik, eine State-Value-Funktion aufzukumulieren, ist das reineAusprobieren. Wir wählen also eine sichrein zufällig verhaltende Policy, welche dieaufkumulierte State-Value-Funktion für ihreZufallsentscheidungen nicht berücksichtigt.Es lässt sich beweisen, dass wir in unsererGridworld irgendwann einmal durchZufall den Ausgang finden werden.Angelehnt an die auf Zufall basierendenGlücksspiele nennen wir diese VorgehensweiseMontecarlo-Methodik.Gehen wir weiterhin von einem Pure NegativeReward aus, so ist klar, dass wir für unserStartfeld in der State-Value-Funktioneinen Bestwert von −6 erhalten können.Je nachdem, welchen zufälligen Weg diezufällige Policy aber einschlägt, können andere(kleinere) Werte als −6 für das Startfeldauftreten. Intuitiv möchten wir unsfür einen Zustand (also ein Feld) jeweilsnur den besseren Wert merken. Hier ist jedochVorsicht geboten: So würde das Lernverfahrennur bei deterministischen Systemenfunktionieren. Unsere Tür, die proDurchlauf entweder offen oder geschlossensein kann, würde Oszillationen bei allenFeldern hervorrufen, deren kürzester Wegzum Ziel durch sie beeinflusst wird.Wir verwenden bei der Montecarlo-Methodik also lieber die Lernregel 1V (s t ) neu = V (s t ) alt + α(R t − V (s t ) alt ),in der offensichtlich sowohl der alte Zustandswertals auch der erhaltene ReturnEinfluss auf die Aktualisierung der State-Value-Funktion haben (α ist die Lernrate).Der Agent erhält also eine Art Erinnerungsvermögen,neue Erkenntnisse ändernimmer nur ein wenig am Situationswert.Ein beispielhafter Lernschritt findet sichin Abb. C.5 auf der rechten Seite.In dem Beispielbild wurde nur die Zustandswertberechnungfür einen einzigen1 Sie wird u.a. unter Verwendung der Bellman-Gleichung hergeleitet, die Herleitung ist aber nichtBestandteil des Kapitels.◭α206 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.2 LernvorgangZustand (unseren Startzustand) aufgetragen.Dass es möglich ist und auch oft gemachtwird, die Werte für die zwischendurchbesuchten Zustände (im Fall derGridworld unsere Wege zum Ziel) gleichmit zu trainieren, sollte offensichtlich sein.Das Ergebnis einer solchen Rechnung inBezug auf unser Beispiel findet sich inAbb. C.6 auf der folgenden Seite.Die Montecarlo-Methodik mag suboptimalerscheinen und ist auch im Regelfallwesentlich langsamer als die nachfolgendvorgestellten Methoden des ReinforcementLearnings - allerdings ist sie die einzige,bei der man mathematisch beweisen kann,dass sie funktioniert und eignet sich dahersehr für theoretische Betrachtungen.Definition C.10 (Montecarlo-Lernen): Eswerden zufällig Aktionen ohne Rücksichtauf die State-Value-Funktion ausgeführtund langfristig eine aussagekräftige State-Value-Funktion mit untenstehender Lernregelaufkumuliert.-1-6 -5 -4 -3 -2-1-14 -13 -12 -2-11 -3-10 -4-9 -5-8 -7 -6-10V (s t ) neu = V (s t ) alt + α(R t − V (s t ) alt ),C.2.4 Temporal Difference LearningWir lernen im täglichen Leben weitestgehenddurch Erfahrung und Ausprobieren.Das Allermeiste, was wir lernen, geschiehtdurch Erfahrung; blessurenfrei (oder ebenauch nicht) gehen und Fahrrad fahren,auch geistige Fertigkeiten wie mathematischesProblemlösen profitieren sehr von Erfahrungund schlichtem Ausprobieren (Trialand Error). Wir initialisieren also unserePolicy mit irgendwelchen Werten - pro-Abbildung C.5: Anwendung der Montecarlo-Lernregel mit einer Lernrate von α = 0.5. Obensind beispielhaft zwei Wege aufgetragen, die derAgent durch Zufall wählt (einer mit offener, einermit geschlossener Tür). Unten das Ergebnisder Lernregel für den Wert des Startzustandsunter Berücksichtigung beider Wege. Dadurch,dass unter zufälliger Policy mit der Zeit sehr vieleverschiedene Wege gegangen werden, erhält maneine sehr aussagekräftige State-Value-Funktion.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 207


Anhang C Exkurs: Reinforcement Learningdkriesel.com-1-10 -9 -8 -3 -2-11 -3-10 -4-9 -5-8 -7 -6Abbildung C.6: Erweiterung des Lernbeispielsaus Abb. C.5, in dem auch die Returns fürZwischenzustände zur Aufkumulierung der State-Value-Funktion herangezogen werden. Sehrschön zu beobachten ist der niedrige Wert aufdem Türfeld: Wenn dieser Zustand eingenommenwerden kann, ist er ja sehr positiv, wenndie Tür zu ist, kann er gar nicht eingenommenwerden.bieren aus, lernen und verbessern die Policyso aus Erfahrung (Abb. C.7). Im Unterschiedzur Montecarlo-Methodik wollenwir dies nun auf eine gerichtetere Art undWeise tun.Genau wie wir durch Erfahrung lernen, inverschiedenen Situationen auf bestimmteWeise zu reagieren, macht es die TemporalDifference Lernmethode (kurz: TD-Learning), indem V Π (s) trainiert wird(der Agent lernt also einschätzen, welcheSituationen viel wert sind und welchenicht). Wir bezeichnen wieder die aktuelleSituation mit s t , die nachfolgende Situationmit s t+1 und so weiter. Die LernformelΠEvaluationPolicy verbessernAbbildung C.7: Wir probieren Aktionen in derUmwelt aus und lernen so und verbessern diePolicy.für die State-Value-Funktion V Π (s t ) ergibtsich also zuV (s t ) neu =V (s t )Q+ α(r t+1 + γV (s t+1 ) − V (s t ))} {{ }Veränderung des alten WertesWir sehen, dass die zur Lernrate α proportionaleVeränderung des Wertes der aktuellenSituation s t beeinflusst wird von⊲ empfangenem Reward r t+1 ,⊲ dem mit einem Faktor γ gewichtetenbisherigen Return der NachfolgesituationV (s t+1 ),⊲ dem alten Wert der Situation V (s t ).Definition C.11 (Temporal Difference Learning):Im Unterschied zur Montecarlo-Methodik schaut TD-Learning etwas indie Zukunft, indem die Nachfolgesituations t+1 betrachtet wird. Die Lernregel ist definiertzuV (s t ) neu =V (s t )(C.14)+ α(r t+1 + γV (s t+1 ) − V (s t )) .} {{ }Veränderung des alten Wertes208 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.2 Lernvorgang0× +1-1in Abb. C.9 ersichtlich, führen wir Aktionenso lange durch, bis eine Zielsituation(hier s τ genannt) erreicht ist (wenn eseine gibt, ansonsten werden einfach immerweiter Aktionen durchgeführt).C.2.6 Q-LearningAbbildung C.8: Beispielhafte Werte einerAction-Value-Funktion für die Position ×. Nachrechts gehend bleibt man auf dem schnellstenWeg zum Ziel, nach oben ist immer noch einrecht schneller Weg, nach unten zu gehen istkein guter Weg (alles im Falle einer offenenTür).C.2.5 Die Action-Value-FunktionRecht analog ergibt sich als Lernformel fürdie Action-Value-Funktion Q Π (s, a), derenBenutzung wir analog zum TD-Learningals Q-Learning bezeichnen:Q(s t, a) neu =Q(s t, a)+ α(r t+1 + γ max Q(s t+1, a) −Q(s t, a)) .a} {{ }Greedy-Strategie} {{ }Veränderung des alten WertesAktionenbewertenQ Π (s, a)◮Q ∗ Π (s, a)◮WieAnalog zur State-Value-Funktion V Π (s)ist ein weiterer Systembestandteil desReinforcement Learning die Action-Value-Funktion Q Π (s, a), welche eine bestimmteAktion a unter einer bestimmtenSituation s und der Policy Π bewertet.In der Gridworld: In der Gridworld sagtuns die Action-Value-Funktion, wie gut esist, von einem bestimmten Feld in eine bestimmteRichtung zu gehen (Abb. C.8).Definition C.12 (Action-Value-Funktion):Analog zur State-Value-Funktion bewertetdie Action-Value-Funktion Q Π (s t , a)bestimmte Aktionen ausgehend von bestimmtenSituationen unter einer Policy.Die optimale Action-Value-Funktion benennenwir mit Q ∗ Π (s t, a).Wir schlüsseln wieder die (zur Lernrate αproportionale) Veränderung des aktuellenAktionswertes unter der aktuellen Situationauf. Sie wird beeinflusst von⊲ empfangenem Reward r t+1 ,⊲ dem mit γ gewichteten maximalen ActionValue über die Nachfolgeaktionen(hier wird eine Greedy-Strategieangewendet, da man ruhig davonausgehen kann, dass man die bestebekannte Aktion wählt, beim TD-Learning achten wir hingegen nichtdarauf, immer in die beste bekanntenächste Situation zu kommen),⊲ dem alten Wert der Aktion unterunserer als s t bekannten SituationQ(s t , a) (nicht vergessen, dass auchdieser durch α gewichtet ist).D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 209


Anhang C Exkurs: Reinforcement Learningdkriesel.comAktionsrichtung as 0 0 as 1 1 · · ·r 1r 2a τ−2 a sτ−1τ−1 s τr τ−1Rewardrichtungr τAbbildung C.9: Aktionen werden durchgeführt, bis eine gewünschte Zielsituation erreicht ist. Zubeachten ist die Durchnummerierung: Rewards werden von 1 an nummeriert, Aktionen und Situationenvon 0 an (Dies hat sich einfach eingebürgert).In aller Regel lernt die Action-Value-Funktion wesentlich schneller als die State-Value-Funktion, wobei aber nicht zu vernachlässigenist, dass Reinforcement Learningallgemein recht langsam ist: Das Systemmuss ja selbst herausfinden, was gutist. Schön ist aber am Q-Learning: Πkann beliebig initialisiert werden, durch Q-Learning erhalten wir immer Q ∗ .Definition C.13 (Q-Learning):Q-Learning trainiert die Action-Value-Funktion mit der LernregelQ(s t, a) neu =Q(s t, a)+ α(r t+1 + γ maxaund findet so auf jeden Fall Q ∗ .C.3 BeispielanwendungenC.3.1 TD-GammonTD-Gammon ist ein sehr erfolgreiches,auf TD-Learning basierendes Backgammonspielvon Gerald Tesauro. Situationist hier die aktuelle Konfigurationdes Spielbrettes. Jedem, der schon einmalBackgammon gespielt hat, ist klar, dassder Situationsraum gigantisch groß ist (ca.10 20 Situationen) – was zur Folge hat, dassman keine State-Value-Funktione explizitausrechnen kann (insbesondere zur Zeitdes TD-Gammons Ende der 80er Jahre).Die gewählte Rewardstrategie war PureDelayed Reward, das System erhält denReward also erst zum Schluss des Spiels,der dann gleichzeitig der Return ist. Manhat das System dann selbstständig üben(C.15) lassen (zunächst gegen ein Backgammon-Q(s t+1, a) − Q(s t, a)).programm, danach gegen eine Instanz seinerselbst). Resultat war, das es in einerComputer-Backgammon-Liga das höchsteRanking erreicht hat und eindrucksvoll widerlegtwar, dass ein Computerprogrammeine Tätigkeit nicht besser beherrschenkann als sein Programmierer.210 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.3 BeispielanwendungenC.3.2 Das Auto in der GrubeBetrachten wir ein Auto, das auf eindimensionalerFahrbahn am Fuß einer tiefenMulde steht, und die Steigung zu keinerder beiden Seiten auf Anhieb mit seinerMotorkraft überwinden kann, um aus derMulde hinauszufahren. Ausführbare Aktionensind hier trivialerweise die Möglichkeiten,vorwärts und rückwärts zu fahren.Die intuitive Lösung, an welche wir alsMenschen sofort denken, ist zurückzusetzen,an der gegenüberliegenden SteigungSchwung zu holen und mehrmals auf dieseWeise hin- und her zu oszillieren, um mitSchwung aus der Mulde herauszufahren.Aktionen eines Reinforcement LearningSystems wären ”Vollgas nach vorn“, ”Vollgaszurück“ und ”nichts tun“.Hier wäre ”Alles kostet“ eine gute Wahlfür die Rewardvergabe, so dass das Systemschnell lernt, aus der Grube herauszukommenund merkt, dass unser Problemmit purer vorwärts gerichteter Motorkraftnicht zu lösen ist. Das System wird sichalso langsam hochschaukeln.Hier können wir die Policy nicht mehrals Tabelle ablegen, da der Zustandsraumnicht gut diskretisierbar ist. Hier musswirklich eine Funktion als Policy geschaffenwerden.C.3.3 Der Pole BalancerDer Pole Balancer wurde entwickelt vonBarto, Sutton und Anderson.Gegeben sei eine Situation, welche einFahrzeug beinhaltet, das sich entwedermit Vollgas nach rechts oder mit Vollgasnach links bewegen kann (Bang-Bang-Control). Es kann nur diese beiden Aktionenausführen, Stehenbleiben ist nichtmöglich. Auf diesem Fahrzeug steht senkrechteine Stange, welche zu beiden Seitenumkippen kann. Die Stange ist so konstruiert,dass sie immer in Richtung einer Seitekippt, also niemals stillsteht (sagen wireinfach, sie sei am unteren Ende abgerundet).Den Winkel, in dem die Stange im Momentrelativ zur Senkrechten steht, bezeichnenwir mit α. Das Fahrzeug besitztweiterhin immer eine definierte Position xauf unserer eindimensionalen Welt und immereine Geschwindigkeit ẋ. Unsere eindimensionaleWelt ist begrenzt, es gibt alsoMaximal- und Minimalwerte, welche x annehmenkann.Ziel unseres Systems ist zu lernen, den Wagendahingehend zu steuern, dass er dasKippen der Stange ausgleicht, die Stangealso nicht umfällt. Dies erreichen wir ambesten mit einem Pure Negative Reward:Solange die Stange nicht umgefallen ist,gibt es einen Reward von 0, fällt sie um,gibt es einen Reward von -1.Interessanterweise ist das System schnellin der Lage, den Stab stehend zu halten,indem es schnell genug mit kleinen Bewegungendaran wackelt. Es hält sich hierbeizumeist in der Mitte des Raums auf, da esam weitesten weg von den Wänden ist, diees als negativ empfindet (stößt man gegendie Wand, fällt der Stab um).D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 211


Anhang C Exkurs: Reinforcement Learningdkriesel.comC.3.3.1 Swinging up an invertedPendulumSchwieriger für das System ist die Startsituation,dass der Stab im Vorhinein herunterhängt,erst einmal durch Schwingungenüber das Gefährt bewegt werden, undanschließend stabilisiert werden muss. DieseAufgabe wird in der Literatur mitSwing up an inverted Pendulum bezeichnet.großen Verzweigungsgrad im Situationsbaum,von anderen Spielen ganz zu schweigen.Hier werden die in der Gridworld benutztenTabellen als State- und Action-Value-Funktionen schlicht nicht mehr realisierbar,wir müssen also Approximatorenfür diese Funktionen finden.Und welche lernfähigen Approximatorenfür diese Bestandteile des ReinforcementLearnings fallen uns nun auf Anhieb ein?Richtig: <strong>Neuronale</strong> <strong>Netze</strong>.C.4 Reinforcement Learningim Zusammenhang mit<strong>Neuronale</strong>n <strong>Netze</strong>nZu guter Letzt möchte der Leser vielleichtfragen, was das Kapitel über ReinforcementLearning in einem Skriptumzum Thema ”<strong>Neuronale</strong> <strong>Netze</strong>“ zu suchenhat.Die Antwort ist einfach motiviert. Wir habenbereits überwachte und unüberwachteLernverfahren kennengelernt. Wir habenzwar nicht überall einen allwissendenTeacher, der uns überwachtes Lernenermöglicht. Es ist aber auch nicht unbedingtso, dass wir gar kein Feedback erhalten.Oft gibt es ein Mittelding, eine ArtKritik oder Schulnote, bei Problemen dieserArt kann Reinforcement Learning zumEinsatz kommen.Nicht alle Probleme sind hierbei so leichthandhabbar wie unsere Gridworld: Beiunserem Backgammon-Beispiel haben wiralleine ca. 10 20 Situationen und einenÜbungsaufgabenAufgabe 20: Ein Kontrollsystem füreinen Roboter soll mittels ReinforcementLearning dazu gebracht werden, eine Strategiezu finden um ein Labyrinth möglichstschnell zu verlassen.⊲ Wie könnte eine geeignete State-Value-Funktion aussehen?⊲ Wie würden Sie einen geeigneten Rewarderzeugen?Gehen Sie davon aus, dass der RoboterHindernisvermeidung beherrscht und zu jedemZeitpunkt seine Position (x, y) undOrientierung φ kennt.Aufgabe 21: Beschreiben Sie die Funktionder beiden Elemente ASE und ACE sowie sie von Barto, Sutton und Andersonfür die Kontrolle des Pole Balancervorgeschlagen wurden.Literaturangabe: [BSA83].212 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comC.4 Reinforcement Learning im Zusammenhang mit <strong>Neuronale</strong>n <strong>Netze</strong>nAufgabe 22: Nennen Sie mehrere klassische“Informatik-Aufgaben, die mit Re-”inforcement Learning besonders gut bearbeitetwerden könnten und begründen Sieihre Meinung.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 213


Literaturverzeichnis[And72]James A. Anderson. A simple neural network generating an interactivememory. Mathematical Biosciences, 14:197–220, 1972.[BSA83] A. Barto, R. Sutton, and C. Anderson. Neuron-like adaptive elementsthat can solve difficult learning control problems. IEEE Transactions onSystems, Man, and Cybernetics, 13(5):834–846, September 1983.[CG87][CG88][CG90][CH67][CR00]G. A. Carpenter and S. Grossberg. ART2: Self-organization of stable categoryrecognition codes for analog input patterns. Applied Optics, 26:4919–4930, 1987.M.A. Cohen and S. Grossberg. Absolute stability of global pattern formationand parallel memory storage by competitive neural networks. ComputerSociety Press Technology Series Neural Networks, pages 70–81, 1988.G. A. Carpenter and S. Grossberg. ART 3: Hierarchical search using chemicaltransmitters in self-organising pattern recognition architectures. NeuralNetworks, 3(2):129–152, 1990.T. Cover and P. Hart. Nearest neighbor pattern classification. IEEE Transactionson Information Theory, 13(1):21–27, 1967.N.A. Campbell and JB Reece. Biologie. Spektrum. Akademischer Verlag,2000.[Cyb89] G. Cybenko. Approximation by superpositions of a sigmoidal function.Mathematics of Control, Signals, and Systems (MCSS), 2(4):303–314, 1989.[DHS01]R.O. Duda, P.E. Hart, and D.G. Stork. Pattern classification. Wiley NewYork, 2001.[Elm90] Jeffrey L. Elman. Finding structure in time. Cognitive Science, 14(2):179–211, April 1990.[Fah88]S. E. Fahlman. An empirical sudy of learning speed in back-propagationnetworks. Technical Report CMU-CS-88-162, CMU, 1988.215


Literaturverzeichnisdkriesel.com[FMI83] K. Fukushima, S. Miyake, and T. Ito. Neocognitron: A neural networkmodel for a mechanism of visual pattern recognition. IEEE Transactions onSystems, Man, and Cybernetics, 13(5):826–834, September/October 1983.[Fri94]B. Fritzke. Fast learning with incremental RBF networks. Neural ProcessingLetters, 1(1):2–5, 1994.[GKE01a] N. Goerke, F. Kintzler, and R. Eckmiller. Self organized classificationof chaotic domains from a nonlinearattractor. In Neural Networks, 2001.Proceedings. IJCNN’01. International Joint Conference on, volume 3, 2001.[GKE01b]N. Goerke, F. Kintzler, and R. Eckmiller. Self organized partitioning ofchaotic attractors for control. Lecture notes in computer science, pages851–856, 2001.[Gro76] S. Grossberg. Adaptive pattern classification and universal recoding, I:Parallel development and coding of neural feature detectors. BiologicalCybernetics, 23:121–134, 1976.[GS06]Nils Goerke and Alexandra Scherbart. Classification using multi-soms andmulti-neural gas. In IJCNN, pages 3895–3902, 2006.[Heb49] Donald O. Hebb. The Organization of Behavior: A NeuropsychologicalTheory. Wiley, New York, 1949.[Hop82][Hop84][HT85][Jor86][Kau90]John J. Hopfield. Neural networks and physical systems with emergent collectivecomputational abilities. Proc. of the National Academy of Science,USA, 79:2554–2558, 1982.JJ Hopfield. Neurons with graded response have collective computationalproperties like those of two-state neurons. Proceedings of the NationalAcademy of Sciences, 81(10):3088–3092, 1984.JJ Hopfield and DW Tank. Neural computation of decisions in optimizationproblems. Biological cybernetics, 52(3):141–152, 1985.M. I. Jordan. Attractor dynamics and parallelism in a connectionist sequentialmachine. In Proceedings of the Eighth Conference of the CognitiveScience Society, pages 531–546. Erlbaum, 1986.L. Kaufman. Finding groups in data: an introduction to cluster analysis.In Finding Groups in Data: An Introduction to Cluster Analysis. Wiley,New York, 1990.[Koh72] T. Kohonen. Correlation matrix memories. IEEEtC, C-21:353–359, 1972.216 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comLiteraturverzeichnis[Koh82]Teuvo Kohonen. Self-organized formation of topologically correct featuremaps. Biological Cybernetics, 43:59–69, 1982.[Koh89] Teuvo Kohonen. Self-Organization and Associative Memory. Springer-Verlag, Berlin, third edition, 1989.[Koh98] T. Kohonen. The self-organizing map. Neurocomputing, 21(1-3):1–6, 1998.[KSJ00]E.R. Kandel, J.H. Schwartz, and T.M. Jessell. Principles of neural science.Appleton & Lange, 2000.[lCDS90] Y. le Cun, J. S. Denker, and S. A. Solla. Optimal brain damage. InD. Touretzky, editor, Advances in Neural Information Processing Systems2, pages 598–605. Morgan Kaufmann, 1990.[Mac67][MBS93][MP43]J. MacQueen. Some methods for classification and analysis of multivariateobservations. In Proceedings of the Fifth Berkeley Symposium on Mathematics,Statistics and Probability, Vol. 1, pages 281–296, 1967.Thomas M. Martinetz, Stanislav G. Berkovich, and Klaus J. Schulten.’Neural-gas’ network for vector quantization and its application to timeseriesprediction. IEEE Trans. on Neural Networks, 4(4):558–569, 1993.W.S. McCulloch and W. Pitts. A logical calculus of the ideas immanentin nervous activity. Bulletin of Mathematical Biology, 5(4):115–133, 1943.[MP69] M. Minsky and S. Papert. Perceptrons. MIT Press, Cambridge, Mass,1969.[MR86][Par87]J. L. McClelland and D. E. Rumelhart. Parallel Distributed Processing:Explorations in the Microstructure of Cognition, volume 2. MIT Press,Cambridge, 1986.David R. Parker. Optimal algorithms for adaptive networks: Second orderback propagation, second order direct propagation, and second orderhebbian learning. In Maureen Caudill and Charles Butler, editors, IEEEFirst International Conference on Neural Networks (ICNN’87), volume II,pages II–593–II–600, San Diego, CA, June 1987. IEEE.[PG89] T. Poggio and F. Girosi. A theory of networks for approximation andlearning. MIT Press, Cambridge Mass., 1989.[Pin87]F. J. Pineda. Generalization of back-propagation to recurrent neural networks.Physical Review Letters, 59:2229–2232, 1987.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 217


Literaturverzeichnisdkriesel.com[PM47][RD05]W. Pitts and W.S. McCulloch. How we know universals the perception ofauditory and visual forms. Bulletin of Mathematical Biology, 9(3):127–147,1947.G. Roth and U. Dicke. Evolution of the brain and intelligence. Trends inCognitive Sciences, 9(5):250–257, 2005.[RHW86a] D. Rumelhart, G. Hinton, and R. Williams. Learning representations byback-propagating errors. Nature, 323:533–536, October 1986.[RHW86b] David E. Rumelhart, Geoffrey E. Hinton, and R. J. Williams. Learninginternal representations by error propagation. In D. E. Rumelhart, J. L.McClelland, and the PDP research group., editors, Parallel distributed processing:Explorations in the microstructure of cognition, Volume 1: Foundations.MIT Press, 1986.[Ros58]F. Rosenblatt. The perceptron: a probabilistic model for information storageand organization in the brain. Psychological Review, 65:386–408, 1958.[Ros62] F. Rosenblatt. Principles of Neurodynamics. Spartan, New York, 1962.[SB98][SG06][SGE05]R. S. Sutton and A. G. Barto. Reinforcement Learning: An Introduction.MIT Press, Cambridge, MA, 1998.A. Scherbart and N. Goerke. Unsupervised system for discovering patternsin time-series, 2006.Rolf Schatten, Nils Goerke, and Rolf Eckmiller. Regional and online learnablefields. In Sameer Singh, Maneesha Singh, Chidanand Apté, and PetraPerner, editors, ICAPR (2), volume 3687 of Lecture Notes in ComputerScience, pages 74–83. Springer, 2005.[Ste61] K. Steinbuch. Die lernmatrix. Kybernetik (Biological Cybernetics), 1:36–45,1961.[vdM73]C. von der Malsburg. Self-organizing of orientation sensitive cells in striatecortex. Kybernetik, 14:85–100, 1973.[Was89] P. D. Wasserman. Neural Computing Theory and Practice. New York :Van Nostrand Reinhold, 1989.[Wer74][Wer88]P. J. Werbos. Beyond Regression: New Tools for Prediction and Analysisin the Behavioral Sciences. PhD thesis, Harvard University, 1974.P. J. Werbos. Backpropagation: Past and future. In Proceedings ICNN-88,San Diego, pages 343–353, 1988.218 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comLiteraturverzeichnis[WG94] A.S. Weigend and N.A. Gershenfeld. Time series prediction. Addison-Wesley, 1994.[WH60][Wid89][Zel94]B. Widrow and M. E. Hoff. Adaptive switching circuits. In ProceedingsWESCON, pages 96–104, 1960.R. Widner. Single-stage logic. AIEE Fall General Meeting, 1960. Wasserman,P. Neural Computing, Theory and Practice, Van Nostrand Reinhold,1989.Andreas Zell. Simulation <strong>Neuronale</strong>r <strong>Netze</strong>. Addison-Wesley, 1994. German.D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 219


Abbildungsverzeichnis1.1 Roboter mit 8 Sensoren und 2 Motoren . . . . . . . . . . . . . . . . . . 61.3 Blackbox mit acht Eingängen und zwei Ausgängen . . . . . . . . . . . . 71.2 Lernbeispiele für Beispielroboter . . . . . . . . . . . . . . . . . . . . . . 81.4 Urgesteine des Fachbereichs . . . . . . . . . . . . . . . . . . . . . . . . . 102.1 Zentrales Nervensystem . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2 Gehirn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3 Biologisches Neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4 Aktionspotential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.5 Facettenaugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.1 Datenverarbeitung eines Neurons . . . . . . . . . . . . . . . . . . . . . . 363.2 Verschiedene gängige Aktivierungsfunktionen . . . . . . . . . . . . . . . 393.3 FeedForwardnetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.4 FeedForwardnetz mit Shortcuts . . . . . . . . . . . . . . . . . . . . . . . 423.5 Direkt rückgekoppeltes Netz . . . . . . . . . . . . . . . . . . . . . . . . . 433.6 Indirekt rückgekoppeltes Netz . . . . . . . . . . . . . . . . . . . . . . . . 443.7 Lateral rückgekoppeltes Netz . . . . . . . . . . . . . . . . . . . . . . . . 443.8 Vollständig verbundenes Netz . . . . . . . . . . . . . . . . . . . . . . . . 453.9 Beispielnetz mit und ohne Biasneuron . . . . . . . . . . . . . . . . . . . 473.10 Beispiele für Neuronenarten . . . . . . . . . . . . . . . . . . . . . . . . . 474.1 Trainingsbeispiele und Netzkapazitäten . . . . . . . . . . . . . . . . . . 574.2 Lernkurve mit verschiedenen Skalierungen . . . . . . . . . . . . . . . . . 604.3 Gradientenabstieg, Veranschaulichung in 2D . . . . . . . . . . . . . . . . 624.4 Mögliche Fehler während eines Gradientenabstiegs . . . . . . . . . . . . 644.5 2-Spiralen-Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.6 Schachbrettproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.1 Das Perceptron in drei Ansichten . . . . . . . . . . . . . . . . . . . . . . 735.2 Singlelayerperceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.3 Singlelayerperceptron mit mehreren Ausgabeneuronen . . . . . . . . . . 745.4 AND und OR Singlelayerperceptron . . . . . . . . . . . . . . . . . . . . 75221


Abbildungsverzeichnisdkriesel.com5.5 Fehlerfläche eines <strong>Netze</strong>s mit 2 Verbindungen . . . . . . . . . . . . . . . 785.6 Skizze für ein XOR-SLP . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.7 Lineare Separierung im zweidimensionalen . . . . . . . . . . . . . . . . . 835.8 Lineare Separierung im dreidimensionalen . . . . . . . . . . . . . . . . . 835.9 Das XOR-Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.10 Multilayerperceptrons und Ausgabemengen . . . . . . . . . . . . . . . . 865.11 Lage eines inneren Neurons für Backpropagation-Herleitung . . . . . . . 885.12 Skizze der Backpropagation-Herleitung . . . . . . . . . . . . . . . . . . . 905.13 Fermifunktion und Tangens Hyperbolicus . . . . . . . . . . . . . . . . . 965.14 Momentum-Term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.15 Funktionsweise 8-2-8-Kodierung . . . . . . . . . . . . . . . . . . . . . . . 1006.1 RBF-Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.2 Abstandsfunktion im RBF-Netz . . . . . . . . . . . . . . . . . . . . . . . 1066.3 Einzelne Gaußglocken im Ein- und Zweidimensionalen . . . . . . . . . . 1076.4 Aufkumulieren von Gaußglocken im Eindimensionalen . . . . . . . . . . 1086.5 Aufkumulieren von Gaußglocken im Zweidimensionalen . . . . . . . . . . 1096.6 Gleichmäßige Abdeckung eines Inputraums mit Radialbasisfunktionen . 1156.7 Ungleichmäßige Abdeckung eines Inputraums mit Radialbasisfunktionen 1156.8 Zufällige, ungleichmäßige Abdeckung eines Inputraums mit Radialbasisfunktionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167.1 Rössler-Attraktor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.2 Jordannetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.3 Elmannetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247.4 Unfolding in Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278.1 Hopfieldnetz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308.2 Binäre Schwellenwertfunktion . . . . . . . . . . . . . . . . . . . . . . . . 1328.3 Konvergenz eines Hopfieldnetzes . . . . . . . . . . . . . . . . . . . . . . 1358.4 Fermifunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379.1 Quantisierungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . 14110.1 Beispieltopologien einer SOM . . . . . . . . . . . . . . . . . . . . . . . . 14810.3 SOM-Topologiefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . 15210.2 Beispielabstände von SOM-Topologien . . . . . . . . . . . . . . . . . . . 15310.4 Erstes Beispiel einer SOM . . . . . . . . . . . . . . . . . . . . . . . . . . 15510.5 Training einer SOM mit eindimensionaler Topologie . . . . . . . . . . . 15710.6 SOMs mit ein- und zweidimensionalen Topologien und verschiedenenInputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158222 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comAbbildungsverzeichnis10.7 Topologischer Defekt einer SOM . . . . . . . . . . . . . . . . . . . . . . 15910.8 Auflösungsoptimierung einer SOM auf bestimmte Gebiete . . . . . . . . 16010.9 Durch <strong>Neuronale</strong>s Gas zu klassifizierende Figur . . . . . . . . . . . . . . 16311.1 Aufbau eines ART-<strong>Netze</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . 16811.2 Lernvorgang eines ART-<strong>Netze</strong>s . . . . . . . . . . . . . . . . . . . . . . . 170A.1 Vergleich von Clusteranalyseverfahren . . . . . . . . . . . . . . . . . . . 177A.2 ROLF-Neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179A.3 Clustering durch ein ROLF . . . . . . . . . . . . . . . . . . . . . . . . . 182B.1 Zeitreihe abtastendes <strong>Neuronale</strong>s Netz . . . . . . . . . . . . . . . . . . . 186B.2 One Step Ahead Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 188B.3 Two Step Ahead Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 190B.4 Direct Two Step Ahead Prediction . . . . . . . . . . . . . . . . . . . . . 190B.5 Heterogene One Step Ahead Prediction . . . . . . . . . . . . . . . . . . 192B.6 Heterogene One Step Ahead Prediction mit zwei Ausgaben . . . . . . . 192C.1 Gridworld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197C.2 Reinforcement Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . 198C.3 Gridworld mit optimalen Returns . . . . . . . . . . . . . . . . . . . . . . 204C.4 Reinforcement-Learning-Kreislauf . . . . . . . . . . . . . . . . . . . . . . 206C.5 Montecarlo-Methodik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207C.6 Erweiterte Montecarlo-Methodik . . . . . . . . . . . . . . . . . . . . . . 208C.7 Verbesserung der Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . 208C.8 Action-Value-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209C.9 Reinforcement Learning Zeitstrahl . . . . . . . . . . . . . . . . . . . . . 210D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 223


Tabellenverzeichnis1.1 Vergleich Gehirn – Rechner . . . . . . . . . . . . . . . . . . . . . . . . . 44.1 3-Bit Paritätsfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.1 Definition der XOR-Funktion . . . . . . . . . . . . . . . . . . . . . . . . 825.2 Anzahl linear separierbarer Funktionen . . . . . . . . . . . . . . . . . . . 845.3 Klassifizierbare Mengen pro Perceptron . . . . . . . . . . . . . . . . . . 85225


Index*100-Schritt-Regel . . . . . . . . . . . . . . . . . . . . 6AAbstandeuklidischer. . . . . . . . . . . . . . . .58, 174quadratischer . . . . . . . . . . . . . . 78, 174Action-Value-Funktion . . . . . . . . . . . . 209ADALINE . . . . . . siehe Adaptive LinearNeuronAdaptive Linear Element. . . . . . . . .sieheAdaptive Linear NeuronAdaptive Linear Neuron . . . . . . . . . . . . 10Adaptive Resonance Theory . . . 12, 167Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198Aktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199Aktionspotential. . . . . . . . . . . . . . . . . . . .25Aktionsraum . . . . . . . . . . . . . . . . . . . . . . 199Aktivierung . . . . . . . . . . . . . . . . . . . . . . . . 37Aktivierungsfunktion . . . . . . . . . . . . . . . 38Wahl der . . . . . . . . . . . . . . . . . . . . . . . 94Aktivierungsreihenfolge . . . . . . . . . . . . . 47asynchronfeste Ordnung . . . . . . . . . . . . . . . . 49permutiert zufällige Ordnung . 48topologische Ordnung . . . . . . . . 49zufällige Ordnung . . . . . . . . . . . . 48synchron . . . . . . . . . . . . . . . . . . . . . . . 47Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . 52Amakrinzelle . . . . . . . . . . . . . . . . . . . . . . . 31Approximation . . . . . . . . . . . . . . . . . . . . 111ART siehe Adaptive Resonance TheoryART-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170ART-2A. . . . . . . . . . . . . . . . . . . . . . . . . . .170ART-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Artificial Intelligence . . . . . . . . . . . . . . . 10assoziative Speicherung . . . . . . . . . . . . 161ATP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Attraktor. . . . . . . . . . . . . . . . . . . . . . . . . .121Ausgabedimension . . . . . . . . . . . . . . . . . . 49Ausgabefunktion . . . . . . . . . . . . . . . . . . . 40Ausgabevektor. . . . . . . . . . . . . . . . . . . . . .49Auswendig lernen. . . . . . . . . . . . . . . . . . .56Autoassoziator . . . . . . . . . . . . . . . . . . . . 134Axon . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 25BBackpropagation . . . . . . . . . . . . . . . . . . . 91Second Order . . . . . . . . . . . . . . . . . . 97Backpropagation of Error. . . . . . . . . . .87rekurrentes. . . . . . . . . . . . . . . . . . . .126Balken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140227


Indexdkriesel.comBestärkendes Lernen . . . . . . . . . . . . . . 195Biasneuron . . . . . . . . . . . . . . . . . . . . . . . . . 46Binäre Schwellenwertfunktion. . . . . . .39Bipolarzelle . . . . . . . . . . . . . . . . . . . . . . . . 30Black Box . . . . . . . . . . . . . . . . . . . . . . . . . . . 7CCerebellum . . . . . . . . . . . . siehe KleinhirnCluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Clusteranalyse . . . . . . . . . . . . . . . . . . . . 173Codebookvektor . . . . . . . . . . . . . . 140, 174Cortex . . . . . . . . . . . . siehe Großhirnrindevisueller . . . . . . . . . . . . . . . . . . . . . . . . 17EEarly Stopping . . . . . . . . . . . . . . . . . . . . . 61Eingabedimension . . . . . . . . . . . . . . . . . . 49Eingabemuster . . . . . . . . . . . . . . . . . . . . . 52Eingabevektor . . . . . . . . . . . . . . . . . . . . . . 49Einzelauge . . . . . . . . . siehe OmmatidiumEinzellinsenauge . . . . . . . . . . . . . . . . . . . . 30Elektronengehirn . . . . . . . . . . . . . . . . . . . . 9Elmannetz . . . . . . . . . . . . . . . . . . . . . . . . 123Entwicklungsgeschichte . . . . . . . . . . . . . . 9Episode . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Epoche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Epsilon-Nearest Neighbouring . . . . . 175Evolutionäre Algorithmen . . . . . . . . . 128Exploitation-Ansatz . . . . . . . . . . . . . . . 202Exploration-Ansatz. . . . . . . . . . . . . . . .202DDartmouth Summer Research Project10Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81Delta-Regel . . . . . . . . . . . . . . . . . . . . . . . . 81Dendrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-enbaum . . . . . . . . . . . . . . . . . . . . . . . 21Depolarisation. . . . . . . . . . . . . . . . . . . . . .25Diencephalon . . . . . . siehe ZwischenhirnDifferenzvektor . . . . . siehe Fehlervektordigitales Filter . . . . . . . . . . . . . . . . . . . . 187Digitalisierung . . . . . . . . . . . . . . . . . . . . 140diskret . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Diskretisierung . . . . siehe QuantisierungDynamisches System . . . . . . . . . . . . . . 122FFacettenauge . . . . . . siehe KomplexaugeFeedForward . . . . . . . . . . . . . . . . . . . . . . . 41FehlerGesamt-. . . . . . . . . . . . . . . . . . . . . . . .58spezifischer . . . . . . . . . . . . . . . . . . . . . 58Fehlerfunktion. . . . . . . . . . . . . . . . . . . . . .77spezifische . . . . . . . . . . . . . . . . . . . . . . 77Fehlertoleranz . . . . . . . . . . . . . . . . . . . . . . . 4Fehlervektor . . . . . . . . . . . . . . . . . . . . . . . . 55Fermifunktion . . . . . . . . . . . . . . . . . . . . . . 39Fläche, perzeptive . . . . . . . . . . . . . . . . . 178Flat spot . . . . . . . . . . . . . . . . . . . . . . . . . . . 97elimination . . . . . . . . . . . . . . . . . . . . . 97Funktionsapproximation . . . . . . . . . . . . 95Funktionsapproximatoruniverseller. . . . . . . . . . . . . . . . . . . . . 84228 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comIndexGGanglienzelle . . . . . . . . . . . . . . . . . . . . . . . 30Gauß-Markov-Modell . . . . . . . . . . . . . . 112Gaußglocke. . . . . . . . . . . . . . . . . . . . . . . .151Gehirn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Generalisierung . . . . . . . . . . . . . . . . . . 4, 51Gewicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Gewichtete Summe . . . . . . . . . . . . . . . . . 37Gewichtsänderung . . . . . . . . . . . . . . . . . . 66Gewichtsmatrix . . . . . . . . . . . . . . . . . . . . 36Bottom-Up- . . . . . . . . . . . . . . . . . . . 168Top-Down- . . . . . . . . . . . . . . . . . . . . 167Gewichtsvektor . . . . . . . . . . . . . . . . . . . . . 36Gitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148Gliazelle. . . . . . . . . . . . . . . . . . . . . . . . . . . .26Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Gradientenabstieg . . . . . . . . . . . . . . . . . . 62Probleme. . . . . . . . . . . . . . . . . . . . . . .63Gridworld . . . . . . . . . . . . . . . . . . . . . . . . . 196Großhirn . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Großhirnrinde . . . . . . . . . . . . . . . . . . . . . . 17HHeaviside-Funktion . . . . . . . siehe BinäreSchwellenwertfunktionHebbsche Lernregel . . . . . . . . . . . . . . . . . 66Verallgemeinerte Form . . . . . . . . . 67Heteroassoziator. . . . . . . . . . . . . . . . . . .134Hinton-Darstellung . . . . . . . . . . . . . . . . . 36Hirnstamm . . . . . . . . . . . . . . . . . . . . . . . . . 18Hopfieldnetz. . . . . . . . . . . . . . . . . . . . . . .129kontinuierliches . . . . . . . . . . . . . . . 137Horizontalzelle . . . . . . . . . . . . . . . . . . . . . 31Hypothalamus . . . . . . . . . . . . . . . . . . . . . . 18IInternodien. . . . . . . . . . . . . . . . . . . . . . . . .26Interpolationexakte . . . . . . . . . . . . . . . . . . . . . . . . 111Ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Iris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30JJordannetz . . . . . . . . . . . . . . . . . . . . . . . . 122Kk-Means Clustering. . . . . . . . . . . . . . . .174k-Nearest Neighbouring . . . . . . . . . . . 175Kegelfunktion . . . . . . . . . . . . . . . . . . . . . 153Kleinhirn . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Komplexauge . . . . . . . . . . . . . . . . . . . . . . . 29Kontextbasierte Suche . . . . . . . . . . . . . 161kontinuierlich. . . . . . . . . . . . . . . . . . . . . .139Konzentrationsgradient . . . . . . . . . . . . . 21LLearningreinforcement . . . . . . . . siehe Lernen,bestärkendessupervised . . . . . . . . . . . siehe Lernen,überwachtesunsupervised. . . . . . . . .siehe Lernen,unüberwachtesD. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 229


Indexdkriesel.comLearning Vector Quantization . . . . . 139Lernbarkeit. . . . . . . . . . . . . . . . . . . . . . . . .94Lernenüberwachtes . . . . . . . . . . . . . . . . . . . . 53Batch- . . . . . . . . siehe Lernen, offlinebestärkendes . . . . . . . . . . . . . . . . . . . 53offline . . . . . . . . . . . . . . . . . . . . . . . . . . 54online . . . . . . . . . . . . . . . . . . . . . . . . . . 54unüberwachtes . . . . . . . . . . . . . . . . . 52Lernfähigkeit . . . . . . . . . . . . . . . . . . . . . . . . 4Lernrate. . . . . . . . . . . . . . . . . . . . . . . . . . . .92variable . . . . . . . . . . . . . . . . . . . . . . . . 93Lernverfahren . . . . . . . . . . . . . . . . . . . . . . 40Lineare Separierbarkeit . . . . . . . . . . . . . 83Linearer Assoziator . . . . . . . . . . . . . . . . . 12Linse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Lochkameraauge . . . . . . . . . . . . . . . . . . . 29Locked-In-Syndrom. . . . . . . . . . . . . . . . .18Logistische Funktion . . . . . . . . . . . . . sieheFermifunktionTemperaturparameter . . . . . . . . . . 39LVQ . . . . . . . . . . . . siehe Learning VectorQuantizationLVQ1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143LVQ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143LVQ3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143MM-SOM . . . . siehe Self Organizing Map,MultiMark I Perceptron. . . . . . . . . . . . . . . . . .10Mathematische Symbole(t). . . . . . . . . . . . . . . .siehe ZeitbegriffA(S). . . . . . . . . . .siehe AktionsraumE p . . . . . . . . . . . . . .siehe FehlervektorG . . . . . . . . . . . . . . . . . siehe TopologieN . . . . . . siehe Self Organizing Map,EingabedimensionP . . . . . . . . . . . siehe TrainingsmengeQ ∗ Π (s, a) . . . . . . . siehe Action-Value-Funktion, optimaleQ Π (s, a) . . . . . . . . . . . . . . . . . . . . . sieheAction-Value-FunktionR t . . . . . . . . . . . . . . . . . . . siehe ReturnS . . . . . . . . . . . . siehe SituationsraumT . . . . . siehe TemperaturparameterV ∗ Π(s) . siehe State-Value-Funktion,optimaleV Π (s) . . siehe State-Value-FunktionW . . . . . . . . . . siehe Gewichtsmatrix∆w i,j . . . . . siehe GewichtsänderungΠ . . . . . . . . . . . . . . . . . . . . . siehe PolicyΘ . . . . . . . . . . . . . siehe Schwellenwertα . . . . . . . . . . . . . . . .siehe Momentumβ . . . . . . . . . . . . . siehe Weight Decayδ . . . . . . . . . . . . . . . . . . . . . . siehe Deltaη . . . . . . . . . . . . . . . . . . . siehe Lernrate∇ . . . . . . . . . . . siehe Nabla-Operatorρ. . . . . . . .siehe RadiusmultiplikatorErr . . . . . . . . . . siehe Fehler, Gesamt-Err(W ). . . . . . .siehe FehlerfunktionErr p . . . . . .siehe Fehler, spezifischerErr p (W ) . . . . . siehe Fehlerfunktion,spezifischeErr WD . . . . . . . . siehe Weight Decaya j . . . . . . . . . . . . . . .siehe Aktivierunga t . . . . . . . . . . . . . . . . . . . . siehe Aktioncsiehe Zentrum eines RBF-Neurons,siehe Neuron, Self OrganizingMap-, Zentrumm . . . . . . . . siehe Ausgabedimensionn . . . . . . . . . siehe Eingabedimensionp . . . . . . . . . . . siehe Trainingsmusterr h . . . . . . . . . . . . siehe Zentrum einesRBF-Neurons, Abstand zur t . . . . . . . . . . . . . . . . . . . siehe Reward230 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comIndexs t . . . . . . . . . . . . . . . . . .siehe Situationt. . . . . . . . . . . . .siehe Teaching Inputw i,j . . . . . . . . . . . . . . . . . siehe Gewichtx . . . . . . . . . . . . . siehe Eingabevektory . . . . . . . . . . . . .siehe Ausgabevektorf act . . . . siehe Aktivierungsfunktionf out . . . . . . . . siehe AusgabefunktionMembran. . . . . . . . . . . . . . . . . . . . . . . . . . .21-potential . . . . . . . . . . . . . . . . . . . . . . 21Metrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Mexican-Hat-Funktion . . . . . . . . . . . . 153MLP . . . . . siehe Perceptron, Multilayer-Momentum . . . . . . . . . . . . . . . . . . . . . . . . . 96Momentum-Term . . . . . . . . . . . . . . . . . . . 96Montecarlo-Methodik. . . . . . . . . . . . . .206Moore-Penrose-Pseudoinverse. . . . . .112Moving-Average-Verfahren. . . . . . . . .188Mustererkennung . . . . . . . . . . . . . . 95, 134Myelinscheide . . . . . . . . . . . . . . . . . . . . . . 26NNabla-Operator . . . . . . . . . . . . . . . . . . . . 61Nachpotential . . . . . . . . . . . . . . . . . . . . . . 25Natrium-Kalium-Pumpe . . . . . . . . . . . . 23Neocognitron . . . . . . . . . . . . . . . . . . . . . . . 12Nervensystem . . . . . . . . . . . . . . . . . . . . . . 15<strong>Netze</strong>ingabe . . . . . . . . . . . . . . . . . . . . . . . . 37Netzhaut . . . . . . . . . . . . . . . . . siehe RetinaNeuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36akzeptierendes . . . . . . . . . . . . . . . . 179Binäres. . . . . . . . . . . . . . . . . . . . . . . . .72Eingabe- . . . . . . . . . . . . . . . . . . . . . . . 72Fermi- . . . . . . . . . . . . . . . . . . . . . . . . . 72Gewinner-. . . . . . . . . . . . . . . . . . . . .150Identitäts-. . . . . . . . . . . . . . . . . . . . . .72Informationsverarbeitendes . . . . . 72Input- . . . . . siehe Neuron, Eingabe-Kontext- . . . . . . . . . . . . . . . . . . . . . . 122RBF- . . . . . . . . . . . . . . . . . . . . . . . . . 104RBF-Ausgabe- . . . . . . . . . . . . . . . . 104ROLF- . . . . . . . . . . . . . . . . . . . . . . . . 178Self Organizing Map-. . . . . . . . . .149Zentrum . . . . . . . . . . . . . . . . . . . . 149Tanh- . . . . . . . . . . . . . . . . . . . . . . . . . . 72<strong>Neuronale</strong>s Gas . . . . . . . . . . . . . . . . . . . 162Multi-. . . . . . . . . . . . . . . . . . . . . . . . .164wachsendes. . . . . . . . . . . . . . . . . . . .165<strong>Neuronale</strong>s Netz . . . . . . . . . . . . . . . . . . . . 36rückgekoppeltes . . . . . . . . . . . . . . . 121Neurotransmitter . . . . . . . . . . . . . . . . . . . 19OOligodendrozyten. . . . . . . . . . . . . . . . . . .26OLVQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . .143On-Neuron. . . . . . . . . . .siehe BiasneuronOne Step Ahead Prediction. . . . . . . .187heterogene . . . . . . . . . . . . . . . . . . . . 191Open Loop Learning . . . . . . . . . . . . . . 126Optimal Brain Damage . . . . . . . . . . . . . 98PParallelität . . . . . . . . . . . . . . . . . . . . . . . . . . 6Pattern . . . . . . . . . siehe TrainingsmusterPerceptron . . . . . . . . . . . . . . . . . . . . . . . . . 72Multilayer- . . . . . . . . . . . . . . . . . . . . . 85rückgekoppeltes . . . . . . . . . . . . . 121Singlelayer-. . . . . . . . . . . . . . . . . . . . .74Perceptron-Konvergenz-Theorem . . . 75Perceptron-Lernalgorithmus . . . . . . . . 75D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 231


Indexdkriesel.comPeriode . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Periphäres Nervensystem . . . . . . . . . . . 16PersonenAnderson . . . . . . . . . . . . . . . . . . . . 211 f.Anderson, James A. . . . . . . . . . . . . 12Barto . . . . . . . . . . . . . . . . . . . 195, 211 f.Carpenter, Gail. . . . . . . . . . . .12, 167Elman . . . . . . . . . . . . . . . . . . . . . . . . 122Fukushima . . . . . . . . . . . . . . . . . . . . . 12Girosi . . . . . . . . . . . . . . . . . . . . . . . . . 103Grossberg, Stephen . . . . . . . . 12, 167Hebb, Donald O. . . . . . . . . . . . . 9, 66Hinton . . . . . . . . . . . . . . . . . . . . . . . . . 13Hoff, Marcian E. . . . . . . . . . . . . . . . 10Hopfield, John . . . . . . . . . . . 12 f., 129Ito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Jordan . . . . . . . . . . . . . . . . . . . . . . . . 122Kohonen, Teuvo . 12, 139, 147, 161Lashley, Karl . . . . . . . . . . . . . . . . . . . . 9MacQueen, J. . . . . . . . . . . . . . . . . . 174Martinetz, Thomas. . . . . . . . . . . .162McCulloch, Warren . . . . . . . . . . . . . . 9Minsky, Marvin . . . . . . . . . . . . . . . 10 f.Miyake . . . . . . . . . . . . . . . . . . . . . . . . . 12Nilsson, Nils. . . . . . . . . . . . . . . . . . . .11Papert, Seymour . . . . . . . . . . . . . . . 11Parker, David . . . . . . . . . . . . . . . . . . 97Pitts, Walter . . . . . . . . . . . . . . . . . . . . 9Poggio . . . . . . . . . . . . . . . . . . . . . . . . 103Pythagoras . . . . . . . . . . . . . . . . . . . . . 58Rosenblatt, Frank . . . . . . . . . . 10, 71Rumelhart . . . . . . . . . . . . . . . . . . . . . 13Steinbuch, Karl . . . . . . . . . . . . . . . . 11Sutton . . . . . . . . . . . . . . . . . . 195, 211 f.Tesauro, Gerald . . . . . . . . . . . . . . . 210von der Malsburg, Christoph . . . 12Werbos, Paul . . . . . . . . . . . 12, 87, 98Widrow, Bernard. . . . . . . . . . . . . . .10Wightman, Charles. . . . . . . . . . . . .10Williams . . . . . . . . . . . . . . . . . . . . . . . 13Zuse, Konrad . . . . . . . . . . . . . . . . . . . . 9PNS . . . siehe Periphäres NervensystemPole Balancer . . . . . . . . . . . . . . . . . . . . . 211Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201closed loop . . . . . . . . . . . . . . . . . . . . 201evaluation. . . . . . . . . . . . . . . . . . . . .205greedy . . . . . . . . . . . . . . . . . . . . . . . . 202improvement . . . . . . . . . . . . . . . . . . 205open loop . . . . . . . . . . . . . . . . . . . . . 201Pons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Propagierungsfunktion. . . . . . . . . . . . . .37Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Pupille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30QQ-Learning . . . . . . . . . . . . . . . . . . . . . . . .209Quantisierung . . . . . . . . . . . . . . . . . . . . . 139Quickpropagation . . . . . . . . . . . . . . . . . . 98RRückenmark . . . . . . . . . . . . . . . . . . . . . . . . 16Rückkopplung . . . . . . . . . . . . . . . . . 42, 121direkte . . . . . . . . . . . . . . . . . . . . . . . . . 42indirekte . . . . . . . . . . . . . . . . . . . . . . . 43laterale. . . . . . . . . . . . . . . . . . . . . . . . .43Ranvierscher Schnürring . . . . . . . . . . . . 26RBF-Netz . . . . . . . . . . . . . . . . . . . . . . . . . 104wachsendes. . . . . . . . . . . . . . . . . . . .117Refraktärzeit . . . . . . . . . . . . . . . . . . . . . . . 25Regional and Online Learnable Fields178Reinforcement Learning . . . . . . . . . . . 195Reizleitender Apparat . . . . . . . . . . . . . . 27232 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)


dkriesel.comIndexRekurrenz . . . . . . . . . . . . . . . . . . . . . . . . . . 42Repolarisation . . . . . . . . . . . . . . . . . . . . . . 25Repräsentierbarkeit. . . . . . . . . . . . . . . . .94Resonanz. . . . . . . . . . . . . . . . . . . . . . . . . .168Retina . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 72Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Reward . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Avoidance Strategy. . . . . . . . . . . .203pure delayed . . . . . . . . . . . . . . . . . . 203pure negative . . . . . . . . . . . . . . . . . 203Rezeptives Feld. . . . . . . . . . . . . . . . . . . . .30Rezeptorzelle . . . . . . . . . . . . . . . . . . . . . . . 26Entero-. . . . . . . . . . . . . . . . . . . . . . . . .27Extero-. . . . . . . . . . . . . . . . . . . . . . . . .27Photo- . . . . . . . . . . . . . . . . . . . . . . . . . 30Primär- . . . . . . . . . . . . . . . . . . . . . . . . 27Sekundär- . . . . . . . . . . . . . . . . . . . . . . 27Rindenfeld . . . . . . . . . . . . . . . . . . . . . . . . . 17Assoziations- . . . . . . . . . . . . . . . . . . . 17primäres . . . . . . . . . . . . . . . . . . . . . . . 17RMS . . . . . . . . . siehe Root-Mean-SquareROLFs . . . . . siehe Regional and OnlineLearnable FieldsRoot-Mean-Square . . . . . . . . . . . . . . . . . 58Self Fulfilling Prophecy . . . . . . . . . . . . 193Self Organizing Map. . . . . . . . . . . . . . .147Multi-. . . . . . . . . . . . . . . . . . . . . . . . .164Sensorische Adaption . . . . . . . . . . . . . . . 28Sensorische Transduktion . . . . . . . . . . . 27ShortCut-Connections . . . . . . . . . . . . . . 42Silhouettenkoeffizient . . . . . . . . . . . . . . 176Single Shot Learning . . . . . . . . . . . . . . 133Situation . . . . . . . . . . . . . . . . . . . . . . . . . . 199Situationsbaum . . . . . . . . . . . . . . . . . . . 202Situationsraum . . . . . . . . . . . . . . . . . . . . 199SLP . . . . . siehe Perceptron, Singlelayer-Snark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10SOM . . . . . . . siehe Self Organizing MapSoma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21Spin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129Stabilitäts-Plastizitäts-Dilemma54, 167State Space Forecasting . . . . . . . . . . . 187State-Value-Funktion . . . . . . . . . . . . . . 204Stimulus. . . . . . . . . . . . . . . . . . . . . . .25, 150Swing up an inverted Pendulum . . . 212Symmetry Breaking . . . . . . . . . . . . . . . . 95Synapse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19chemische . . . . . . . . . . . . . . . . . . . . . . 19elektrische. . . . . . . . . . . . . . . . . . . . . .19synaptischer Spalt . . . . . . . . . . . . . . . . . . 19SSaltatorische Impulsleitung . . . . . . . . . 26SchichtAusgabe- . . . . . . . . . . . . . . . . . . . . . . . 41Eingabe- . . . . . . . . . . . . . . . . . . . . . . . 41versteckte . . . . . . . . . . . . . . . . . . . . . . 41Schichten von Neuronen . . . . . . . . . . . . 41Schwannsche Zelle . . . . . . . . . . . . . . . . . . 26Schwellenwert . . . . . . . . . . . . . . . . . . . . . . 38Schwellenwertpotential . . . . . . . . . . . . . 23Selbstorganisierende Karten . . . . . . . . 12TTangens Hyperbolicus . . . . . . . . . . . . . . 39TD-Gammon . . . . . . . . . . . . . . . . . . . . . . 210TD-Learningsiehe Temporal DifferenceLearningTeacher Forcing . . . . . . . . . . . . . . . . . . . 126Teaching Input . . . . . . . . . . . . . . . . . . . . . 55Telencephalon. . . . . . . . . .siehe GroßhirnTemporal Difference Learning . . . . . 208D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE) 233


Indexdkriesel.comThalamus . . . . . . . . . . . . . . . . . . . . . . . . . . 18Topologie . . . . . . . . . . . . . . . . . . . . . . . . . 149Topologiefunktion . . . . . . . . . . . . . . . . . 151Topologischer Defekt . . . . . . . . . . . . . . 156Trainingsmenge. . . . . . . . . . . . . . . . . . . . .52Trainingsmuster . . . . . . . . . . . . . . . . . . . . 55Menge der. . . . . . . . . . . . . . . . . . . . . .55Transferfunktion . . . . . . . . . . . . . . . . . sieheAktivierungsfunktionTruncus cerebri . . . . . . siehe HirnstammTwo Step Ahead Prediction. . . . . . . .189direct . . . . . . . . . . . . . . . . . . . . . . . . . 189UZZeitbegriff . . . . . . . . . . . . . . . . . . . . . . . . . . 35Zeithorizont . . . . . . . . . . . . . . . . . . . . . . . 200Zeitreihe . . . . . . . . . . . . . . . . . . . . . . . . . . 185Zeitreihenvorhersage. . . . . . . . . . . . . . .185Zentrales Nervensystem. . . . . . . . . . . . .16Zentrumeines RBF-Neurons. . . . . . . . . . . .104Abstand zu . . . . . . . . . . . . . . . . . 108eines ROLF-Neurons . . . . . . . . . . 178ZNS . . . . . siehe Zentrales NervensystemZustand . . . . . . . . . . . . . . . . . . . . . . . . . . . 199Zwischenhirn . . . . . . . . . . . . . . . . . . . . . . . 18Zylinderfunktion . . . . . . . . . . . . . . . . . . 153Umwelt . . . . . . . . . . . . . . . . . . . . . . . . . . . 198Unfolding in Time. . . . . . . . . . . . . . . . .126VVerbindung . . . . . . . . . . . . . . . . . . . . . . . . . 36Vollverknüpfung . . . . . . . . . . . . . . . . . . . . 41Voronoidiagramm . . . . . . . . . . . . . . . . . 141WWeight Decay . . . . . . . . . . . . . . . . . . . . . . 98Widrow-Hoff-Regel . . siehe Delta-RegelWinner-Takes-All-Schema . . . . . . . . . . 43234 D. Kriesel – Ein kleiner Überblick über <strong>Neuronale</strong> <strong>Netze</strong> (EPSILON-DE)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!