Ein kleiner Überblick über Neuronale Netze David Kriesel dkriesel.com Downloadadresse: http://www.dkriesel.com/science/neural_networks NEU ‐ Für die Coder: Skalierbares, effizientes NN‐Framework für JAVA http://www.dkriesel.com/tech/snipe dkriesel.com In Gedenken an Dr. Peter Kemp, Notar a.D., Bonn. D. Kriesel – Ein kleiner Überblick über Neuronale Netze (ZETA2-DE) iii Vorwörtchen „Diese 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 unter www.dkriesel.com am 27.05.2005) immer mehr erweitert – erstens, um mit der Zeit einen möglichst guten Überblick über das Thema der Neuronalen Netze liefern zu können und zweitens schlicht und einfach, weil ich daran immer mehr und besser LATEX lernen möchte. Wer weiss, vielleicht wird aus dieser Zusammenfassung ja sogar einmal ein Vorwort!“ Zusammenfassung dieser Arbeit, Ende 2005 Aus der obenstehenden Zusammenfassung stieg in das Gebiet der Neuronalen Netze ist bis jetzt zwar kein Vorwort, aber im- zu ermöglichen. merhin ein Vorwörtchen geworden, nach- dem sich die Erweiterung der Arbeit (da- Trotzdem kann der mathematisch und for- malsauf40Seiten)beimirunverhofftzum mal versierte Leser die Definitionen wei- Downloadschlager entwickelt hat. testgehend ohne Fließtext lesen, der nur an dem Gebiet an sich interessierte Le- ser umgekehrt; alles wird also sowohl um- gangssprachlich wie auch formal erklärt. Anspruch und Intention dieses Ich bitte ausdrücklich um Hinweise, falls ich diese Doppelmoral einmal nicht ausrei- Manuskripts chend bewerkstelligt haben sollte. Der ganze Text ist großzügiger geschrie- Abschnitte dieser Arbeit sind ben und ausführlicher bebildert als früher. weitestgehend eigenständig Die Illustrationen sind nun „nach meinem Gusto“ selbst erstellt, zum Großteil direkt in LATEX unter Verwendung des Pakets Das Dokument selbst gliedert sich in meh- XYpic. Sie spiegeln das wieder, was ich rere Teile, die sich wiederum in Kapitel mir beim Erarbeiten des Stoffs gewünscht teilen. Trotz Querverweisen untereinander hätte, sollen also mit dem Text zusammen kann man die Kapitel mit nur geringem möglichst eingängig und schnell verständ- Vorwissen auch für sich selbst lesen. Hier- lich sein, um möglichst vielen einen Ein- bei gibt es größere und kleinere Kapitel: v dkriesel.com Während die größeren einen etwas fundier- res Framework für Neuronale Netze imple- teren Einblick in ein Paradigma Neurona- mentiert. Für nichtkommerzielle Einsatz- ler Netze geben sollen (z.B. beim Stan- gebiete ist es kostenlos verfügbar. Es war dardbeispiel Neuronaler Netze, dem Per- von mir ursprünglich für den Einsatz in ceptron und seiner Lernverfahren), sind Hochleistungssimulationen konzipiert, in die kleineren für einen kurzen Überblick denen sehr viele, auch große Netze gleich- gedacht – dies wird in der jeweiligen Kapi- zeitigtrainiertundausgeführtwerden.Vor teleinleitung auch beschrieben. In einigen kurzem habe ich mich nun entschieden, Exkursen möchte ich noch gerne im Zu- SnipealsprofessionelleReferenzimplemen- sammenhang interessantes, aber nicht di- tierung zu dieser Arbeit online zu stel- rekt dem Stoff zugehöriges Wissen vermit- len, die sehr viele der behandelten Aspek- teln. te abdeckt, aber angesichts des ursprüng- lichen Design-Ziels effizienter arbeitet als Auf der Suche nach kostenlosen deutschen die meisten anderen Implementierungen. Quellen, die inhaltlich (was die Paradig- Wer also direkt vieles vom Gelernten aus- men Neuronaler Netze angeht) vielfältig, probieren möchte oder aus anderen Grün- aber trotzdem durchgehend einheitlichen den nach dem Lernen eine schnelle und Stils sind, bin ich (zumindest was deutsch- stabile Neuronale-Netze-Implementierung sprachiges Material angeht) leider nicht braucht, ist mit Snipe sicher gut bera- wirklich fündig geworden. Das Ziel dieser ten. Arbeit (auch wenn sie es vielleicht nicht auf Anhieb erfüllen kann) ist, diese Lücke Die von Snipe abgedeckten Aspekte sind nach und nach zu schließen und das Fach- allerdings nicht komplett deckungsgleich gebiet auf leicht verständliche Weise zu- mit dem Manuskript. Manche im Manu- gänglich zu machen. skript vorgestellten Arten Neuronaler Net- ze werden von Snipe nicht unterstützt, während Snipe in anderen Bereichen deut- Für diejenigen, die direkt lich mehr Fähigkeiten hat, als im Manu- skript in Form von Praxistipps beschrie- während des Lesens ben werden kann (ich habe aber die programmieren möchten, gibt Erfahrung gemacht, dass die allermeis- es SNIPE ten Implementierungsinteressen der Leser gut abgedeckt werden). Auf der Snipe- Downloadseite gibt es in der Rubrik „Los- SNIPE1 ist eine ausführlich dokumen- legen mit Snipe“ eine einfache, schrittwei- tierte JAVA-Bibliothek, welche ein schnel- se Einführung in Snipe und seine Doku- les, feature-reiches und einfach benutzba- mentation, sowie einige Beispiele. 1 Scalable and Generalized Neural Information Pro- SNIPE:DiesesManuskriptintegriertSnipe cessing Engine, Download unter http://www. sehrstark.ÜberweiteTeiledesManuskrip- dkriesel.com/tech/snipe, Online-JavaDoc un- tes hinweg finden sich abgesetzte, unter- ter http://snipe.dkriesel.com vi D. Kriesel – Ein kleiner Überblick über Neuronale Netze (ZETA2-DE) dkriesel.com Verschiedene Kapiteltypen sind im legte Textstellen wie diese, aus denen her- vorgeht, wie der gerade beschriebene Kon- Inhalt gekennzeichnet text in Snipe realisiert werden kann. Wer Snipe nicht nutzen möchte, muss al- Direkt im Inhaltsverzeichnis sind die Ka- so nur diese abgesetzten Textstellen überspringen! Die Snipe-Textstellen set- piteltypen gekennzeichnet. Kapitel, die zen voraus, dass man sich vorher die „Los- als „wichtige Grundlagen“ gekennzeichnet legen mit Snipe“-Anleitung auf der Down- sind, sollte man definitiv zu Anfang lesen, loadseite zu Gemüte geführt hat. Oftmals denn eigentlich alle nachfolgenden Kapitel werden Klassennamen verwendet; da Sni- pe nicht sehr viele Java-Pakete hat, habe basiereninirgendeinerFormdarauf.Ande- ich die Paketnamen der Übersichtlichkeit reKapitelbasierenzusätzlichaufbestimm- halber nicht den Klassennamen vorange- ten anderen (vorherigen) Kapiteln, auch stellt. hier steht eine entsprechende Bemerkung im Inhaltsverzeichnis neben dem Kapitel- titel. Es ist einfach, diese Arbeit zu Sprechende Überschriften im Text, drucken kürzere im Inhaltsverzeichnis Das ganze Scriptum ist nun mit sprechen- DieseAusarbeitungistdurchgehendfarbig denÜberschriftendurchzogen.Sprechende gehalten, kann jedoch auch so, wie sie ist Überschriften sind nicht nur einfach ein monochrom gedruckt werden: Die Farben Titel wie z.B. „Bestärkendes Lernen“, son- sindinAbbildungen,TabellenundTextso derndefinierendenKernpunktdeszugehö- gewählt, dass sie neben schönem Farbde- rigen Abschnitts: in diesem Fall „Bestär- sign auch einen hervorragenden Schwarz- kendes Lernen gibt dem Netz Feedback, Weiss-Kontrast ergeben. ob es sich gut oder schlecht verhält“. Die letztere, lange Version dient hierbei als Überschrift, die im Text verwendet wird, die kürzere steht im Inhaltsverzeichnis, so Es sind viele Hilfsmittel im dass dieses griffig bleibt. Text integriert Randbemerkungen sind eine In das Dokument sind verschiedene Hilfs- Navigationshilfe mittel direkt integriert, die das Lesen we- sentlich flexibler machen sollen: Wer (wie Über das ganze Dokument hinweg exis- ich) lieber auf Papier liest als am Bild- tieren umgangssprachliche Randhinweise schirm, soll sich trotzdem einiger Features (siehe nebenstehendes Beispiel), an de- Hypertext erfreuen. nen entlang man (unter Mitbenutzung aufPapier :-) D. Kriesel – Ein kleiner Überblick über Neuronale Netze (ZETA2-DE) vii dkriesel.com der Überschriften) durch den Text „glei- Nutzungsbedingungen und ten“ und Textstellen einfach wiederfinden Lizenz kann. Neue mathematische Symbole kennzeich- Von der Epsilon-Edition an ist das ne ich zum einfachen Wiederfinden mit Manuskript unter Creative Commons (cid:73) besonderen Randhinweisen (nebenstehend Attribution-No Derivative Works 3.0 Un- x ein Beispiel für x). ported License2 lizensiert, bis auf einige wenige Kleinteile, die liberaleren Lizen- zenunterstehen(imWesentlicheneinpaar Bilder, die in den Wikimedia Commons Es gibt verschiedene Arten der sind). Hier ist eine Kurzzusammenfassung Indizierung dessen, was diese Lizenz ungefähr wieder- gibt: Es existieren verschiedene Arten der In- 1. Dieses Dokument darf frei weiterver- dizierung: Zunächst kann man einen Be- breitet werden (auch wenn es eine griff, nachdem man ihn im Index gefun- bessere Idee ist, einfach die URL den und die betreffende Seite aufgeschla- meiner Homepage weiterzuverbreiten, gen hat, einfach finden, indem man nach dennhiergibtesschließlichimmerdie hervorgehobenem Text sucht – indizier- neueste Version). te Begriffe sind grundsätzlich auf diese Weise hervorgehoben. 2. Dieses Dokument darf nicht modifi- ziert oder als Teil eines anderen ver- Kapitelübergreifende mathematische Sym- wendetwerden,insbesonderenichtfür bole(wiez.B.ΩfüreinOutputneuron,ich kommerzielle Zwecke. habe mich bemüht, bei allgegenwärtig wie- derkehrenden Elementen eine konsistente 3. DiesesDokumentmussinjeglichersei- ner Verwendungen dem Autor zuge- Nomenklatur beizubehalten) besitzen eine schrieben werden. Die Urheberschaft eigene Indexkategorie unter „Mathemati- des Autors darf nicht verschleiert wer- sche Symbole“, so dass sie einfach dem den. entsprechendenBegriffzugeordnetwerden können. 4. Die o.g. Zuschreibung des Dokumen- tes zum Autor impliziert nicht, dass Kapitälchen Personennamen, welche in der Autor die Art befürwortet, auf geschrieben sind, werden in der Indexkate- dieeinbeliebigerLeserdasDokument gorie „Personen“ indiziert und nach Nach- nutzt. namen geordnet. 2 http://creativecommons.org/licenses/ by-nd/3.0/ viii D. Kriesel – Ein kleiner Überblick über Neuronale Netze (ZETA2-DE) dkriesel.com Da ich kein Anwalt bin, ist die obige Lesern Dietmar Berger, Igor Buchmüller, Stichpunktzusammenfassung nur informa- Marie Christ, Julia Damaschek, Jochen tiv gemeint. Wenn sie in irgendeiner Form Döll, Maximilian Ernestus, Hardy Falk, in Konflikt zur o.g. Creative Commons- Anne Feldmeier, Sascha Fink, Andreas Lizenz steht, so hat letztere in jedem Friedmann,JanGassen,MarkusGerhards, FallVorrang.NatürlichberührtdieLizenz SebastianHirsch,AndreasHochrath,Nico ebenfallsnichtdenSourceCodedesManu- Höft, Thomas Ihme, Boris Jentsch, Tim skripts, der nicht veröffentlicht wird. Hussein,ThiloKeller,MarioKrenn,Mirko Kunze, Maikel Linke, Adam Maciak, Ben- jamin Meier, David Möller, Andreas Mül- Wie dieser Text zitiert wird ler, Rainer Penninger, Lena Reichel, Alex- ander Schier, Matthias Siegmund, Mathi- Da dieser Text keinen offiziellen Verlag as Tirtasana, Oliver Tischler, Maximilian hat, muss man mit Referenzen sorgfäl- Voit,IgorWall,AchimWeber,FrankWein- tig sein: Hierzu gibt es Informationen in reis, Gideon Maillette de Buij Wenniger, Deutsch und Englisch auf meiner Homepa- PhilippWoockundvielenanderenausspre- ge bzw. der zum Text gehörenden Unter- chen. seite3. Herzlicher Dank geht an Sebastian Merz- bach, der die Epsilon2-Version des Skrip- Danksagung tums auf gewissenhafteste und gründlichs- te Art und Weise auf Inkonsistenzen und Fehler durchgesehen hat. Insbesondere die Ich möchte nun einige Danksagungen los- englische Version verdankt ihm zusätzlich werden, da ein Skriptum wie dieses durch- unzählige sprachliche und ortographische aus genug Arbeit macht, um viele Hel- Verbesserungen. fer zu benötigen. Zunächst einmal möchte ich mich bei den Korrektoren dieses Skrip- Ebenfalls danke ich Beate Kuhl ganz be- tums bedanken, welche mir und der Leser- sondersfürdieÜbersetzungdesSkriptums schaft sehr sehr geholfen haben. Genannt vom Deutschen ins Englische und Nachfra- seien in alphabetischer Ordnung: Wolf- gen, die mich bewogen haben, einige For- gang Apolinarski, Kathrin Gräve, Paul mulierungen anders zu gestalten. Imhoff, Thomas Kühn, Christoph Kun- ze, Malte Lohmeyer, Joachim Nock, Da- Ganz besonderen Dank möchte ich Prof. niel Plohmann, Daniel Rosenthal, Christi- Rolf Eckmiller und Dr. Nils Goerke aus- an Schulz und Tobias Wilken. sprechen,sowiederganzenAbteilungNeu- roinformatik des Instituts für Informatik VielenDankfürVerbesserungen,Feedback der Universität Bonn – sie sorgten da- und Anmerkungen möchte ich auch den für, dass ich immer Neues über Neurona- le Netze und Fachverwandtes lernte (und 3 http://www.dkriesel.com/science/neural_ networks auch lernen musste). Insbesondere Herr D. Kriesel – Ein kleiner Überblick über Neuronale Netze (ZETA2-DE) ix dkriesel.com Dr. Goerke war und ist immer bereit, auf Dr.KolbausBonn,beiderichmichimmer jedwedeFrageeinzugehen,dieichmirwäh- gut aufgehoben fühle und die alles tut, da- rend des Schreibens nicht selber beantwor- mit sich meine Druckkosten im Rahmen ten konnte. Gespräche mit Prof. Eckmiller halten - insbesondere seien hier erwähnt waren für mich immer bereichernd und ga- ChristianeFlammeundHerrDr.Kemp! ben Anstoß für weitere Recherchen oder Als letztes, und sozusagen als Ehrenplatz, verleiteten mich, „von der Tafel zurückzu- möchte ich aber zwei Personen danken, treten“, um Sachverhalte von weiter weg die sich sehr um das Skriptum verdient nüchtern zu betrachten und nächste Auf- machen: Meine Freundin Verena Thomas, gaben auszumachen. die, obwohl viele andere Dinge für sie zu Ganz global und nicht nur auf das Skrip- tun sind, viele mathematische und logi- tumbezogengehteinweiteresDankeschön sche Fehler in meinem Skriptum aufge- an meine Eltern, welche nie müde werden, deckt und mit mir diskutiert hat – und mir fachbezogene und damit nicht wirk- Christiane Schultze, die das Skript sorgfäl- lich preiswerte Buchwünsche zu erfüllen tigst auf Rechtschreibfehler und Inkonsis- und mir auch sonst viel Unterstützung für tenzen durchgesehen hat. mein Studium zukommen lassen. Für viele „Bemerkungen“ und die ganz be- sonders herzliche Stimmung ;-) bedanke ich mich sehr bei Andreas Huber und To- biasTreutler,mitdenenesseitdemersten Semester nur selten langweilig wurde! IchmöchteauchnochkurzanmeineSchul- David Kriesel zeit denken und mich bei jenen Lehrern ganz herzlich danken, die mir (das ist mei- ne Überzeugung) trotz meiner vielleicht nicht immer vollherzigen Mitarbeit natur- wissenschaftlich etwas mit auf den Weg gegeben haben: Herrn Wilfried Hartmann, Herrn Hubert Peters und Herrn Frank Nö- kel. Ein Dankeschön geht auch an die Wikime- dia Commons, wo ich einige (wenige) Bild- vorlagen entnommen und auf mein Skrip- tum angepasst habe. Weiterhin danke ich der gesamten Mann- bzw. Frauschaft des Notariates Dr. Kemp x D. Kriesel – Ein kleiner Überblick über Neuronale Netze (ZETA2-DE)