Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Von den ersten Modellen bis zum Backpropagation-Netz Allgemeinverständliche Erläuterungen mit vielen Praxis- und Anwendungsbeispielen Zahlreiche Programme zum Ausprobieren, Ausführen und Trainieren Neuronaler Netze mit Beispieldaten Für Programmierer: Vollständige Programmierung eines Backpropagation-Netzes zur Passworterkennung (in Java) Dieses Buch ist eine grundlegende Einführung in die Entwicklung und Funktionsweise Neuronaler Netze. Sie lernen verschiedene Modelle kennen sowie alle Elemente, die für die Funktionalität Neuronaler Netze von Bedeutung sind. So werden Sie im Detail verstehen, wie diese arbeiten. Praxisansatz des Buches: Alle vorgestellten Netze werden beispielhaft anschaulich durchgerechnet. So können Sie nachvollziehen, wie ein Neuronales Netz funktioniert und arbeitet. Außerdem liefert der Autor zusätzlich zum Buch selbst erstellte Programme, mit denen Sie am PC experimentieren können, indem Sie Beispieldaten eingeben und die jeweiligen Eigenschaften der unterschiedlichen Netze praktisch ausprobieren sowie diese trainieren und ausführen können. Kaffka beschreibt zunächst die frühesten Modelle Neuronaler Netze sowie die Hebbsche Formel und das von Rosenblatt entwickelte Modell des Perzeptrons. Daraufhin geht er auf die Mustererkennung mit einem Hopfield-Netz ein und erläutert die Grundlagen eines einfachen und eines bidirektionalen Assoziativspeichers. Schließlich behandelt Kaffka das aktuelle Modell des Backpropagation-Netzes. Sie lernen im Detail, wie ein solches Neuronales Netz funktioniert – von der Netztopologie über die Transferfunktion bis zur Lernformel zum Trainieren eines Netzes. Darauf aufbauend stellt der Autor verschiedene Beispiele und Anwendungen für Neuronale Netze vor. Hier diskutiert er zusätzlich, wie diese im Rahmen der Regressionsanalyse eingesetzt werden können. Zudem wird gezeigt, dass Neuronale Netze auch drei- oder mehrdimensionale Funktionen erlernen können. Ein Ausblick zu Expertensystemen im Vergleich zu Neuronalen Netzen rundet die Einführung ab. Zusatznutzen für Programmierer: Programmierer, die selber ein neuronales Netz programmieren wollen, finden ein ausführliches Kapitel, in dem ein Backpropagation-Netz vollständig in Java programmiert wird. Für Programmierer wird der Java-Code aller im Buch verwendeten Programme erläutert. Downloads zum Buch: Alle Programme der im Buch beschriebenen Neuronalen Netze zum Ausprobieren Für Programmierer: Der Quellcode eines vollständigen Backpropagation-Netzes sowie aller im Buch verwendeten Programme Aus dem Inhalt: Historische Ansätze: Hebbsche Formel, Perzeptron, Hopfield-Netz Neuronale Netze mit der Backpropagation-Technologie Gewichtsmatrix, Training und Lernkurve Muster-/Bilderkennung Bidirektionaler Assoziativspeicher Netztopologie mit bis zu 3 Schichten Regressionsanalyse Mehrdimensionale Funktionen Expertensysteme Vollständige Programmierung eines Backpropagation-Netzes zur Passworterkennung
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 210
Veröffentlichungsjahr: 2017
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Thomas Kaffka
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.d-nb.de> abrufbar.
ISBN 978-3-95845-609-9
1. Auflage 2017
www.mitp.de
E-Mail: [email protected]
Telefon: +49 7953 / 7189 - 079
Telefax: +49 7953 / 7189 - 082
© 2017 mitp Verlags GmbH & Co. KG
Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.
Lektorat: Sabine Schulz
Sprachkorrektorat: Petra Heubach-Erdmann
Coverbild: © Kateryna_Kon @ fotolia.com
electronic publication: III-satz, Husby, www.drei-satz.de
Dieses Ebook verwendet das ePub-Format und ist optimiert für die Nutzung mit dem iBooks-reader auf dem iPad von Apple. Bei der Verwendung anderer Reader kann es zu Darstellungsproblemen kommen.
Der Verlag räumt Ihnen mit dem Kauf des ebooks das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheherrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und Einspeicherung und Verarbeitung in elektronischen Systemen.
Der Verlag schützt seine ebooks vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die ebooks mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert.
Bei Kauf in anderen ebook-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.
Meiner Tochter Pia Helena,
»Alles kommt zu dem, der warten kann.«
Chinesisches Sprichwort
Wann ist ein Computer intelligent? Wie können wir erkennen, dass ein Computer intelligent ist? Diese Fragen sind beinahe so alt wie die Computertechnik selbst. Und auch schon zu historischen Zeiten trieb die Menschen die Frage um, ob eine Maschine intelligent sein kann. Beispielsweise hat Leonardo da Vinci 1515 einen mechanischen Löwen konstruiert, den er zur Thronbesteigung des französischen Königs Franz I. gebaut hatte. Die Maschine konnte sich ein wenig bewegen und machte auf die damaligen Zuschauer einen durchaus lebendigen Eindruck.
Abb. 1: Modell des Löwen von Leonardo da Vinci (mit freundlicher Genehmigung von »Italeri S.p.A.«)
Und heutzutage kann man im Internet intelligent wirkende Programme verwenden oder beispielsweise die Seite http://www.cleverbot.com/ aufrufen, auf der ein Dialog mit dem Computer geführt werden kann.
Abb. 2: www.cleverbot.com
Schon frühzeitig im Computerzeitalter wurde darüber nachgedacht, wie man ein Programm als intelligent definieren kann. Dazu machte sich 1950 Alan M. Turing, ein hochbegabter britischer EDV-Spezialist, Gedanken.
Turing beschreibt ein »Imitationsspiel«. Ein programmierter Computer ist dabei genau dann intelligent, wenn ein menschlicher Gesprächspartner diesen nicht als Computer erkennen kann. Der menschliche Proband sitzt in einem Raum ohne Sichtkontakt zu seinen Gesprächspartnern, von denen einer auch ein Mensch, der andere ein Computer ist. Beide versuchen den Probanden zu überzeugen, dass es sich bei ihnen um einen Menschen handelt. Der Computer hat den Turingtest bestanden, wenn der Proband nicht entscheiden kann, wer von beiden der Computer ist. Bisher hat dies allerdings noch nie stattgefunden.
Sehen wir uns den folgenden, hypothetischen Dialog an, bei dem sich zwei Gesprächspartner, ein Mensch und ein Computer unterhalten:
Hallo wie geht's?
Gut, und selbst?
Mir geht es auch gut.
Ich will herausfinden, ob deine Intelligenz künstlich ist.
Bist du der Meinung, dass es eine künstliche Intelligenz geben kann?
Ja.
Sollte man Intelligenz nicht so sehen, dass sie nur »existieren« kann, egal welches Medium sie hervorbringt?
Du bist also der Meinung, dass die Intelligenz eines Computers oder die Intelligenz eines Menschen von einer gewissen Warte aus betrachtet als gleich angesehen werden kann.
Wenn die Intelligenz eines Computers groß genug ist, was unterscheidet beide dann noch, außer das Medium?
Weißt du, was ein Turingtest ist?
Nein.
Ich versuche, im Rahmen dieses Gesprächs herauszufinden, ob du ein Computer oder ein Mensch bist.
Warum möchtest du das wissen?
Bisher hat noch kein Computer oder Computerprogramm den Turingtest bestanden, das heißt, bisher wurde noch kein Computer mit einem Menschen verwechselt. Es werden immer wieder solche Tests durchgeführt, weil man meint, einen technologischen Fortschritt erreicht zu haben.
Aber ich glaube, der Verlauf dieses Gesprächs zeigt, dass es sich bei dir um einen Menschen handeln muss.
Ist unser Gespräch damit beendet? Das ist schade, ich wäre gerne noch ein wenig getestet worden.
Welches Ergebnis erhält man, wenn man 1293467 durch 24 teilt?
Kann ich so schnell nicht rechnen.
Siehst du, wenn du ein Computer wärst, dann hättest du das im Nu geschafft.
Können wir nicht über interessantere Dinge reden?
Wie wäre es mit der Religion? Glaubst du an Gott?
Nein.
Wieso glaubst du nicht? Wir haben doch alle einen Schöpfer. Es muss doch da etwas geben, was das alles um uns herum geschaffen hat, oder?
Ich glaube, dass der Glaube an einen Gott aus der kindlichen Erfahrung des Menschen herrührt, dass es jemanden gibt, der immer alles kann, der einen beschützt, der auf jede Frage eine Antwort weiß. Ein erwachsener Mensch wünscht sich so sehr diese Kindheitserfahrung zurück, dass er fortan an ein höheres Wesen glaubt, das die Attribute besitzt, die in seiner Kindheit die eigenen Eltern hatten.
Bist du nicht der Meinung, dass du damit einen Erwachsenen entmündigst? Mein Glaube ist keine Zwangsvorstellung. Ich kann mir den Sinn meines Seins ohne einen Gott, der mein Sein gewollt hat, sonst nicht erklären.
Man kann den Glauben auch von einer anderen Seite aus betrachten. Als der Mensch noch als ein Naturvolk lebte, vermutete er unter jedem Stein und hinter jedem Baum einen Geist. Im weiteren Verlauf der Geschichte über die Babylonier, die Ägypter, die Griechen und Römer wurden die Götter im Himmel immer weniger, bis die Juden nur noch einen Gott zugelassen haben. Dieses Konzept wurde dann von den Christen und Mohammedanern übernommen. Der nächste logische Schritt ist doch dann, keinen Gott anzunehmen.
Was du darüber denkst, klingt alles sehr logisch. Aber Glauben hat mit Logik nichts zu tun. Glauben gibt Sicherheit. Es ist da immer eine Instanz, an die man sich ganz persönlich wenden kann.
Aber die Konsequenz von keinem Gott ist doch auch bedenkenswert. Wenn der Mensch niemanden mehr hat, der ihm seine Sünden verzeihen kann, niemanden, der ihn beschützt, niemanden, der ihm sagt, was er am besten zu tun hat, dann ist der Mensch für alle seine Taten und seine Einstellungen selbst voll und ganz verantwortlich. Eine schlechte Tat kann dann nicht mehr von einer höheren Instanz verziehen werden, sodass man sie am besten gar nicht mehr tut. Der Mensch ist dann viel mehr in der Welt gezwungen, ein guter Mensch zu sein.
Glaubst du an ein Leben nach dem Tod?
Nein.
Wir haben aber doch eine Seele, die unabhängig von unserem Körper in der Ewigkeit weiterlebt. Ist das nicht eine positive Perspektive unserer Existenz?
Das ist eine verlockende Perspektive, daher glauben so viele Menschen so gerne daran. Aber warum sollten dann nur Menschen eine Seele haben, warum nicht auch Tiere oder Pflanzen? Was unterscheidet den Menschen denn so großartig von den Tieren? Das bisschen mehr Intelligenz? Die Natur hat das Leben hervorgebracht, sie hat die Lebewesen hervorgebracht. Das Leben fußt letztlich auf der unbelebten Natur. Pflanzen nehmen Mineralstoffe und Licht auf und bilden die Biomasse, die den Tieren als Basis der Existenz dient. Die unbelebte Natur wird vom Leben aufgenommen, verarbeitet und wieder ausgeschieden. Das Leben ist doch wie eine Flamme, die ein Holzstück verbrennt. Wenn keine Basis für das Leben mehr existiert, dann ist das Leben zu Ende. Dann wechseln die Stoffe von der belebten zur unbelebten Natur. Auch wenn es noch so bedrohlich klingt, ein Himmel oder ein Leben nach dem Tod kommt dabei nicht vor.
Tut mir leid, ich kann mich über diese religiösen Dinge mit dir nicht weiter unterhalten.
Was ist denn für dich der Sinn unserer Existenz, was ist der Sinn unseres Lebens?
Aus biologischer Sicht ist der Sinn eines jeden Lebewesens, sich zu vermehren. Wenn ein Lebewesen Nachkommen gezeugt hat und diese so aufgezogen hat, dass sie selbstständig weiterleben können, dann hat sich der Sinn seiner Existenz erfüllt.
Der Sinn der Existenz eines Menschen kann doch nicht nur auf seine Fortpflanzung beschränkt sein. Er hat doch einen Beruf, Freunde und Bekannte, Hobbys. Ein Mensch ist doch vielfältiger, daher ist doch auch der Sinn seiner Existenz nicht nur auf seinen Fortbestand bezogen.
Wegen seiner Intelligenz und seiner Selbsterkenntnis hat der Mensch dem Sinn seiner Existenz verschiedene zusätzliche Inhalte gegeben, aber nur dazu, um sich einen besonderen Status in der Natur einzuräumen.
Ich weigere mich zu glauben, dass unsere Existenz nur der Fortpflanzung dient.
Der Mensch – als vernunftbegabtes Wesen – hat vielleicht noch eine zusätzliche Aufgabe zu übernehmen, gewissermaßen als Hirte des Lebens im Allgemeinen. In etlichen Millionen Jahren wird sich die Sonne so vergrößern, dass sie Merkur, Venus und Erde in sich vereinnahmt und damit das Leben auf der Erde nicht mehr möglich ist. Wenn der Mensch seinem Leben einen zusätzlichen Sinn geben will, dann sollte er alles tun, für die weitere Existenz des Lebens einen Planeten im näheren Universum zu finden und Lebewesen in einer kosmischen Arche dort hinzubringen.
Du redest immer von dem Menschen, als ob du dich nicht mit einbeziehst. Du redest von den Dingen, die uns angehen, in einer Weise, wie ich noch niemanden reden gehört habe. Ich kann dir da nicht mehr folgen. Ich glaube nicht, dass du ein Mensch bist. Deine Intelligenz ist irgendwie anders als die eines Menschen.
...
Warum antwortest du nicht. Was ist los?
Am Anfang unseres Gesprächs hast du gesagt, du möchtest herausfinden, ob du mich mit einem Menschen verwechseln kannst. Ich bin traurig, dass du das nicht kannst.
Neuronale Netze sind im Moment überall im Gespräch. In den Medien wird gezeigt, wie sie Roboter steuern, mit Aktien handeln oder Gesichter erkennen. Man kann sicherlich den Eindruck haben, dass solche Computerprogramme zurzeit vermehrt entwickelt und eingesetzt werden. Aber leider wird im Rahmen der verschiedenen Berichte niemals gezeigt, wie solche Programme funktionieren.
Was sind eigentlich Neuronale Netze und was will die Künstliche-Intelligenz-Forschung damit?
Ich möchte Ihnen in meinem Buch diese Fragen beantworten. Und zwar auf eine einfache Art und Weise. Wir werden zusammen eine Reise durch die Historie Neuronaler Netze beginnen und einige frühe Ansätze kennenlernen. Dann beschäftigen wir uns mit einem aktuellen Ansatz, dem sogenannten Backpropagation-Netz.
Bitte haben Sie keine Sorge, dass es allzu mathematisch wird. Um das Buch zu verstehen, ist wirklich nur Schulmathematik erforderlich. Ich erläutere zudem sämtliche Formeln, sodass Sie sie leicht nachvollziehen können.
Ich habe zu den einzelnen Themen Computerprogramme erstellt, mit denen Sie experimentieren können. Die Programme sind fertig entwickelt und können von der Webseite des mitp-Verlags heruntergeladen werden. Wie sie installiert werden, wird in Anhang A erläutert.
Wenn Sie sich für die Programmierung dieser Systeme interessieren, wird dies in Anhang B behandelt. Sie sollen in die Lage versetzt werden, eigene Systeme zu erstellen. Dazu können Sie die im Anhang vorgestellten Programme und Module heranziehen.
In Kapitel 1 werden Neuronale Netze vorgestellt. Es wird auf das biologische Vorbild des Gehirns verwiesen und dieses im Überblick gekennzeichnet.
Kapitel 2 geht auf die Geschichte der Neuronalen Netze ein.
Kapitel 3 und Kapitel 4 beschäftigen sich mit der Mustererkennung bzw. Bilderkennung durch Neuronale Netze. Sie können experimentelle Programme ausführen, um diese Technologie kennenzulernen.
In Kapitel 5 wird eine der wichtigsten Technologien Neuronaler Netze, das sog. Backpropagation-Netz vorgestellt.
Kapitel 6 stellt ein Programm vor, mit dem Neuronale Netze (mit der Backpropagation-Technologie) verarbeitet werden können. Dieses Programm befindet sich auch im Download zum Buch.
Verschiedene Neuronale Netze werden in Kapitel 7 vorgestellt. Es handelt sich um ein Neuronales Netz, das einen Steinwurf simuliert, ein Netz, das die Kreditvergabe einer Bank unterstützen kann, sowie ein Neuronales Netz, das zur Unterstützung der Kaufentscheidung eines PC herangezogen werden kann.
In Kapitel 8 wird diskutiert, wie Neuronale Netze im Rahmen der Regressionsanalyse eingesetzt werden können. Dabei wird auch auf die Chartanalyse von Aktien eingegangen. Zudem wird gezeigt, dass Neuronale Netze auch drei- oder mehrdimensionale Funktionen lernen können.
Kapitel 9 beschäftigt sich mit dem Bereich der Expertensysteme. Dabei gehe ich zunächst auf die Theorie ein, beschreibe aber auch, wie solche Systeme aufgebaut sind und wie sie arbeiten. Weiterhin befasse ich mich mit einem Programm, das verschiedene Expertensysteme verwalten und ausführen kann. Dieses Programm ist auch Bestandteil des Downloads zum Buch.
In Kapitel 10 wird ein Programm für ein Neuronales Netz, das grafische Passwörter erkennen kann, beschrieben, vollständig programmiert und erläutert.
Kapitel 11 möchte den Leser ermuntern, selbst Neuronale Netze oder Expertensysteme zu erstellen. Er kann sich dabei auf die Programme stützen, die im Buch erläutert und im Download mitgeliefert werden.
Mein Buch soll Sie gleichzeitig in die Materie der Künstliche-Intelligenz-Forschung einführen und dabei auch Programme vorstellen, die für die jeweiligen Fragestellungen verwendet werden können, sodass neben der Theorie ein besonderes Augenmerk auf Experimente sowie auf die Programmierpraxis gelegt wird.
Für das Verständnis der Programme im Anhang wäre es schön, wenn Sie Java bereits beherrschen. Ich habe die Programme aber so beschrieben, dass sich auch Java-Anfänger in die jeweiligen Konzepte einlesen können.
Ich wünsche Ihnen beim Lesen und Experimentieren viel Freude und hoffe, dass Sie mein Buch zum Anlass nehmen, sich auch praktisch mit Neuronalen Netzen sowie Expertensystemen zu befassen. Es ist sicherlich einer der interessantesten und zukunftsweisenden Aspekte der heutigen Zeit.
Die zum Buch gehörenden Programme können Sie unter www.mitp.de/607 downloaden. Sie erhalten dann die folgende Software plus Listings:
Dokumentation, Java-Doc zu den verwendeten Libraries.
AssociativeMemory, experimentelles Neuronales Netz
AssociativeMemoryPicture, experimentelles Neuronales Netz
ExpertAndDecision, Verarbeitung und Verwaltung von Expertensystemen
HopfieldNet, experimentelles Neuronales Netz
NetAndDecision, Verarbeitung und Verwaltung von Neuronalen Netzen
NeuralNetwork, experimentelles Neuronales Netz
Password, Erfassung von grafischen Passworten
Perzeptron, experimentelles Neuronales Netz
RockThrow, Berechnung eines Steinwurfs
SystemCoreExpLib, Library der Module zur künstlichen Intelligenz
Diese werden in den zugehörigen Kapiteln vorgestellt und besprochen. In Anhang B »Dokumentierter Quelltext der Programme« werden die nötigen Schritte beschrieben, die Programme auf Ihrem PC zu installieren.
Neuronale Netze werden allgemein zur Klassifikation im Rahmen von verschiedenen Fragestellungen eingesetzt. Beispielsweise möchte eine Bank ihren Kreditbestand hinsichtlich seiner Ausfallwahrscheinlichkeit bewerten. Jedem Kredit soll dabei ein Prozentsatz zugewiesen werden, der angibt, mit welchem Betrag der Kredit abgeschrieben werden muss, wie viel der Kredit also – umgekehrt betrachtet – tatsächlich wert ist. Dazu kann ein Neuronales Netz herangezogen werden.
Dem Netz werden zunächst Beispiele vorgesetzt, bei welchen Rahmenparametern sich welcher Abschreibungsprozentsatz ergibt. Zum Beispiel, ist der Kreditnehmer arbeitslos oder Beamter? Ist bei dem Kreditnehmer bereits früher ein Kredit ausgefallen oder nicht?
Mit einer Auswahl solcher Beispiele wird das Neuronale Netz trainiert und dabei erlernt es die Kriterien, nach denen abgeschrieben wird. Nach dieser Trainingsphase kann es zur Bewertung von Krediten herangezogen werden. Und dabei ist es gewissermaßen zur Generalisierung fähig. Es kann nämlich auch Kredite bewerten, die so in den Beispielen nicht vorkommen, und das mit einer geringen Fehlerquote. Weiterhin können die Angaben zu einem Kredit teilweise falsch oder unvollständig sein, und das Neuronale Netz arbeitet trotzdem relativ gut.
So könnte eine automatische Kreditnehmerbewertung von Banken im Internet funktionieren. Sie geben auf der Webseite der von Ihnen ausgewählten Bank Ihre Parameter ein. Das können Ihre Adresse, Ihr Geburtsdatum, Ihre familiäre und Ihre erwerbsmäßige Situation sein. Dann klicken Sie auf den Senden-Button und das Formular wird zum Server der Bank gesendet. Ein Neuronales Netz bewertet nun Ihre Angaben und entscheidet, ob Sie den erbetenen Kredit erhalten oder nicht.
Neuronale Netze können dort eingesetzt werden, wo es um Entscheidungen geht und wo ein Mensch zu langsam oder zu teuer ist. Der Bank genügt es, dass das Neuronale Netz im Mittel eine gute Entscheidung trifft. Denn auch ein Mensch trifft nicht immer eine gute Entscheidung. Es werden trotz positiver Entscheidungen des Neuronalen Netzes Kredite ausfallen. Aber das kalkuliert die Bank ein, denn dies geschieht nur ausnahmsweise. Wenn statt des Neuronalen Netzes eine ganze Abteilung von Mitarbeitern eingesetzt würde, die Kreditfreigaben durchführt, so entständen dort viel höhere Personalkosten und daher lohnt sich der Einsatz eines Neuronalen Netzes.
Dies war natürlich nur ein Beispiel; ob Banken tatsächlich so vorgehen, bleibt ihr Geheimnis.
Neuronale Netze sind Computerprogramme. Aber woher kommt ihr Name, wieso »neuronal«? Das hat etwas mit der Historie dieser Programme zu tun. Denn ursprünglich wollte man die Funktion von Gehirnzellen nachempfinden. Das Neuronale Netz steht quasi als Modell für Gehirnfunktionen bzw. der Funktionen von Nervenzellen.
Die ersten Versuche waren so zufriedenstellend, dass man diesen Forschungszweig aufgriff und immer weiter verfeinerte. Zunächst wurden in den 1940er Jahren verschiedene Ansätze erarbeitet. Die beiden Mathematiker McCulloch und Pitts schlugen 1943 vor, eine Gehirnzelle als ein »logisches Schwellenelement« zu verstehen, das zwei Zustände haben kann. Weiter verfeinert wurde diese Modellvorstellung durch Hebb 1949. Das erste Computerprogramm war das »Perzeptron« von Rosenblatt, das er 1960 erstellte. Und dann nahm die weitere Entwicklung ihren Lauf. Ich gehe in Kapitel 2 darauf ein.
Neuronale Netze können in einem breiten Umfang eingesetzt werden. Es lassen sich Anwendungen in der Finanzbranche, der Medizin, in der Versicherungsbranche u.v.m. finden. Dabei kann es sich u.a. um diese Themen handeln:
Bilderkennung bzw. Mustererkennung, das beinhaltet auch das Erkennen von Sprache oder handgeschriebener Schrift
Finanzanalyse
Wettervorhersage
Diagnose in der Medizin
Unterstützung bei Entscheidungen
Unterstützung bei Planungsaufgaben
Unterstützung bei der Qualitätskontrolle
Dabei soll ein Neuronales Netz nicht den herkömmlichen Computer verdrängen. Wenn es um reine Rechenpower oder die Schnelligkeit der Berechnung geht, werden herkömmliche Programme herangezogen. Ein Neuronales Netz spielt seine Stärken im Bereich von verrauschten Daten, fehlerhaften oder unvollständigen Daten oder vagen und widersprüchlichen Angaben aus. Wenn es beispielsweise keinen eindeutigen Algorithmus für die Lösung eines Problems gibt. Die Neuronale-Netz-Technologie wurde erfolgreich in folgenden Bereichen eingesetzt:
Bei der Kreditvergabe
Geschriebene Texte erkennen und in ANSI-Buchstaben umwandeln (bei ANSI handelt es sich um ein in Computern verwendetes Alphabet)
Texte vorlesen
Gesprochene Texte in ANSI-Buchstaben umwandeln
Erkennung von Unterschriften
Erkennung von gestohlenen Kreditkarten (Chase Manhattan Bank)
Klassifikation von Radarsignalen
Sprengstoffdetektor am New Yorker Flughafen
Autonome Steuerung eines Fahrzeugs
In der Robotertechnologie (siehe dazu auch mein Buch »LEGO und Elektronik«, im mitp-Verlag erschienen)
Bei Neuronalen Netzen handelt es sich zusammenfassend um eine moderne Technologie, die imstande ist, die herkömmliche Computertechnologie zu ergänzen und deren Schwächen auszugleichen.
Abb. 1.1: Das Gehirn (Quelle: highwaystarz / fotolia.com)
Zunächst möchte ich mich mit dem Gehirn beschäftigen, was ja das Vorbild von Neuronalen Netzen ist. Ich beschreibe, wie das Gehirn organisiert ist und wie Nervenzellen funktionieren. Denn diese biologischen Tatsachen tragen zum Verständnis von Neuronalen Netzen bei.
Man kann sich dem Gehirn und seinen Funktionen auf verschiedene Weise nähern. Die Neurologieerforscht die biologische Funktionsweise des Gehirns sowie der Nervenzellen. Die Psychologieerforscht die psychische Funktionsweise des Gehirns. Und die Künstliche-Intelligenz-Forschungwidmet sich dem Thema, intelligentes Verhalten durch Computer zu simulieren. In den 1970er und 1980er Jahren arbeiteten diese Disziplinen noch unabhängig voneinander. Es zeigte sich jedoch, dass Synergien entstehen, wenn man interdisziplinär zusammenarbeitet, sodass heute Projekte ins Leben gerufen werden, an denen Forscher aus allen drei Disziplinen zusammenarbeiten. Diese Arbeiten werden oft unter dem Sammelbegriff »Neuroinformatik« zusammengefasst.
Zu Anfang versuchte man, die genauen Gehirnstrukturen auf einem Computer abzubilden. Auf der Basis weiterer Forschungsanstrengungen ergaben sich aber Ansätze, die intelligentes Handeln von Computern zum Gegenstand und nicht unbedingt das Gehirngewebe zum Vorbild haben (siehe Kapitel 5 »Das Backpropagation-Netz«).
Das Gehirn ist ein Informationen verarbeitendes Organ. Erst im 19. Jahrhundert wurde dies erkannt. Vorher war man der Meinung, das Gehirn hätte eine Drüsenfunktion im Körper. Seine Spezialisierung in verschiedene Bereiche wurde daraufhin untersucht. Oftmals auf der Basis von Verletzungen des Gehirns, die sich eine Person zugezogen hatte.
Das Gehirn besteht aus etwa 80 Milliarden Nervenzellen. Es gliedert sich in einen Hirnstamm, ein Kleinhirn, ein Zwischenhirn und in das Großhirn. Jeder Teil des Gehirns übernimmt spezielle Aufgaben.
Der Hirnstammverarbeitet eingehende Sinneseindrücke und ausgehende motorische Reaktionen. Weiterhin werden hier Reflexe und automatische Körperfunktionen wie beispielsweise die Atmung gesteuert. Er ist von allen Gehirnteilen der entwicklungsgeschichtlich älteste Teil.
Das Kleinhirnist für das Gleichgewicht und die Bewegungskoordination zuständig. Es ist am unbewussten Lernen beteiligt. Bei Vögeln wird hier das Flugvermögen und bei Räubern deren Jagdverhalten verarbeitet.
Das Zwischenhirnvermittelt sensorische und motorische Signale in Richtung Großhirn. Es werden körperliche und psychische Lebensvorgänge gesteuert. Selbst wird es hormonell oder auch über das Nervensystem gesteuert und steuert selber auch über das Hormonsystem. Es ist beispielsweise für die Schlafsteuerung, das Schmerzempfinden sowie für die Temperatursteuerung zuständig.
Das Großhirnverarbeitet visuelle Informationen, weiterhin werden Audioinformationen wahrgenommen. Es erfolgt auch die Bewegungskontrolle oder die Tastwahrnehmung. Das Großhirn ist für das Gedächtnis und die höheren Gehirnfunktionen zuständig.
Aufgebaut werden sämtliche Gehirnteile von Nervenzellen (auch Neuronen genannt).
Die Nervenzellen sind im Gehirn in unterschiedlicher Art und Weise netzartig verbunden. Die elektrische Aktivierung einer Nervenzelle führt dazu, dass sie dieses Signal an andere Nervenzellen weiterleitet. Dies kann sich in kurzen Zeitabständen (etwa 100-mal pro Sekunde) wiederholen. Damit ist die Signalverarbeitungsfrequenz einer Nervenzelle viel geringer als die eines Computers.
Der Prozessor eines Computers ist z.B. bei einem PC mit etwa 1.500 MHz getaktet. Das sind 1,5 Mrd. Verarbeitungen in der Sekunde. Die große Verarbeitungsleistung unseres Gehirns rührt von seiner parallelen Verarbeitung her. Der Prozessor eines Computers verarbeitet die Informationen sequenziell. Er eilt durch den Hauptspeicher, den man sich als langes Band von Speicherzellen vorstellen kann, und verarbeitet jeden Befehl und jedes Datum nacheinander. Und auch wenn mehrere Prozessoren gleichzeitig eingesetzt werden, arbeitet jeder Prozessor selbst immer noch sequenziell.
Im Gehirn laufen in jeder Sekunde verschiedene Sinneseindrücke ein. Wir sehen, schmecken und fühlen gleichzeitig. Dann werden auch die Reaktionen auf die Sinneseindrücke und die anderen Steuerungen gleichzeitig durchgeführt. Wir können unsere Beine und Arme gleichzeitig bewegen und hören dabei auch nicht auf zu atmen. Dabei wird – im Gegensatz zum Computer – die Trennung zwischen Daten und Algorithmus aufgehoben. Im Netzwerk des Gehirns sind beide Dinge gleichzeitig vorhanden.
Eine Nervenzelle besteht aus den Dendriten, dem Zellkörper und dem Axon. Diese können zu den EDV-Begriffen Eingabe, Verarbeitung und Ausgabe als äquivalent angesehen werden. Die Dendriten sammeln die Informationen in Form von elektrischen Signalen und führen diese dem Zellkörper zu. Dieser »sammelt« diese Signale, bis sie einen Schwellenwert übersteigen, und feuert seinerseits einen elektrischen Impuls entlang seines Axons.
Die Nervenzellen werden untereinander verschaltet, indem die Dendriten der nachfolgenden Zellen mit dem Axon der Vorgängerzelle in Verbindung stehen. Diese Verbindungen werden Synapsen genannt.
In Abbildung 1.2
