Sie sind hier
E-Book

Neuronale Netze - Grundlagen

Mit Beispielprogrammen in Java

AutorThomas Kaffka
Verlagmitp Verlags GmbH & Co. KG
Erscheinungsjahr2017
Seitenanzahl240 Seiten
ISBN9783958456099
FormatePUB
Kopierschutzkein Kopierschutz
GerätePC/MAC/eReader/Tablet
Preis25,99 EUR
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 Gewichtsmatix, 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

Thomas Kaffka hat als Softwareingenieur sowie Projektleiter in Softwarehäusern und Wirtschaftsprüfungs- und Beratungsgesellschaften gearbeitet. Mit den Instrumenten der Künstlichen Intelligenzforschung beschäftigt er sich seit seinem Studium und hat im Rahmen seines Berufslebens auch solche Systeme eingesetzt.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Kapitel 2: Die Simulation des Gehirns


2.1  Die ersten Versuche


Nachdem die Struktur und die Aufgabe des Gehirns erkannt wurden, versuchte man, sein Verarbeitungsprinzip zu formalisieren. Man stellte sich vor, die Arbeitsweise von Nervenzellen zu simulieren und dabei auch die Verarbeitungsleistung des Gehirns simulieren zu können.

Dies war jedoch ein Trugschluss. Es konnten Modelle über die Arbeitsweise einzelner und einem Netz von Nervenzellen erstellt werden, die auch gut funktionieren. Die Simulation des gesamten Gehirns liegt jedoch noch in weiter Ferne.

In den 1940er-Jahren wurden erste Anstrengungen unternommen, die Arbeitsweise von Nervenzellen zu modellieren. In diesem Zusammenhang schlugen die Mathematiker Warren McCulloch und Walter Pitts 1943 vor, eine Nervenzelle als ein logisches Schwellenwertelement zu betrachten, das zwei Zustände hat, nämlich die binären Zustände eins und null (Nervenzellen werde ich im Folgenden auch als Elemente bezeichnen).

Wie bei einer Nervenzelle gibt es mehrere Eingangsleitungen (xi, das i soll angeben, dass beispielsweise bei drei Eingangsleitungen x dreimal vorkommt: x1, x2 und x3) und eine Ausgangsleitung (y). Über die Eingangsleitungen werden Impulse in Form von Einsen und Nullen übertragen. Das Schwellenwertelement addiert die Impulse und gibt selbst einen Impuls (1) weiter, wenn diese Summe einen Schwellenwert s überschreitet. Das bedeutet, dass die Ausgangsleitung sich zunächst im Zustand null befindet und, nach dem Überschreiten des Schwellenwerts, in den Zustand eins übergeht. Die erwähnten Eingangsleitungen können sowohl erregende (1) als auch hemmende (–1) Wirkung haben. Dies ist die zugehörige mathematische Formel, die ich danach sofort erläutere:

Formel 1

  • Das y steht für den Ausgabewert des Elements.

  • (der griechische Buchstabe Theta) soll Folgendes berechnen: Wenn das Ergebnis in der Klammer größer oder gleich null ist, ist das Ergebnis der gesamten Berechnung 1, sonst null.

  • zeigt an, dass eine Summe gebildet werden soll, nämlich von wi * xi.

  • wi ist dabei die Synapsen-Stärke (+1 oder –1).

  • xi sind die Eingabeleitungen (1 oder 0).

  • s ist der Schwellenwert des Elements.

Das i steht dafür, dass es mehrere Eingabeleitungen zum Element gibt. Wäre i = 3, gäbe es x1, x2 und x3 sowie w1, w2 und w3.

Grafisch können Sie sich das, wie in Abbildung 2.1 gezeigt, veranschaulichen.

Abb. 2.1: Ein Nervenzellen-Element

Mit der oben genannten Formel werden zunächst die Eingangssignale und die Synapsen-Gewichte multipliziert und danach summiert. Davon wird der Schwellenwert s subtrahiert. Der Körper des Elements steht für Theta. Er gibt nach y eine 1 weiter, wenn die Summe größer oder gleich null ist und eine Null, wenn die Summe kleiner als null ist.

Aus mehreren Elementen kann man beispielsweise das folgende Modell eines Netzwerks entwickeln (siehe Abbildung 2.2).

Wir erkennen an dieser Darstellung sehr schön das in Kapitel 1 behandelte Modell einer Nervenzelle.

McCulloch und Pitts konnten zeigen, dass man mit solchen »Nervenzellen« sämtliche logischen Funktionen nachbauen kann. Insbesondere sind ein Und-Gatter, ein Oder-Gatter sowie ein Inverter möglich, die die Grundlage der anderen logischen Funktionen sind. Der Beitrag beider Mathematiker findet sich noch heute in den Modellen der Neuronalen Netze.

Abb. 2.2: Netzwerk von Elementen (E = Eingabe und A = Ausgabe)

Wir betrachten nun drei Modelle für ein Und- sowie Oder-Gatter und einen Inverter. Solche logischen Elemente verarbeiten Wahrheitswerte, nämlich die Werte wahr und falsch. Die nachfolgende Tabelle 2.1 zeigt, wie diese Elemente Wahrheitswerte verarbeiten.

Eingang 1

Eingang 2

Ausgang

Wahr

Wahr

Wahr

Wahr

Falsch

Falsch

Falsch

Wahr

Falsch

Falsch

Falsch

Falsch

Tabelle 2.1: Verarbeitung des Und-Gatters

Wenn ein Und-Gatter zwei Wahrheitswerte verarbeitet, dann liegt an seinem Ausgang der Wahrheitswert wahr nur an, wenn an beiden Eingängen der Wahrheitswert wahr anliegt.

Eingang 1

Eingang 2

Ausgang

Wahr

Wahr

Wahr

Wahr

Falsch

Wahr

Falsch

Wahr

Wahr

Falsch

Falsch

Falsch

Tabelle 2.2: Verarbeitung des Oder-Gatters

Ein Oder-Gatter gibt den Wahrheitswert wahr aus, wenn an einem der beiden Eingänge oder an beiden der Wahrheitswert wahr anliegt.

Eingang

Ausgang

Wahr

Falsch

Falsch

Wahr

Tabelle 2.3: Verarbeitung des Inverters

Der Inverter dreht den am Eingang anliegenden Wahrheitswert um.

Nun betrachte ich, wie die dargestellten, logischen Gatter mit Elementen nach McCulloch und Pitts abgebildet werden können.

Das Element in Abbildung 2.3 hat zwei Eingänge, die Gewichte befinden sich auf 1 und der Schwellenwert ist auf 2 eingestellt. Das Element leitet also eine 1 nur weiter, wenn beide Eingangsleitungen eine 1 führen.

Abb. 2.3: Das logische Und-Gatter

Das Element in Abbildung 2.4 hat zwei Eingänge, die Gewichte befinden sich auf 1 und der Schwellenwert ist auf 1 eingestellt. Das Element leitet also eine 1 weiter, wenn x1 oder x2 oder beide eine 1 führen.

Abb. 2.4: Das logische Oder-Gatter

Das Element (Inverter) aus Abbildung 2.5 ist schon ein wenig schwieriger zu verstehen. Es hat nur einen Eingang. Wenn dieser eine 1 führt, soll es eine Null ausgeben, und wenn der Eingang eine Null führt, soll es eine 1 ausgeben; das Signal also immer umdrehen. Dies wird erreicht, indem das Gewicht auf –1 gesetzt wird und der Schwellenwert auf 0. Lassen Sie uns sehen, was passiert.

Abb. 2.5: Das logische Nicht-Gatter (Inverter)

Liegt eine 1 an, so ergibt die Multiplikation mit dem Gewicht –1. Da die Schwelle 0 ist, bleibt die –1 bestehen. Da das Ergebnis aber kleiner 0 ist, gibt der Körper des Elements (denken Sie an Theta in der Formel 1) eine Null weiter. Liegt eine Null an, bleibt das Ergebnis nach der Multiplikation mit –1 Null. Nachdem die Schwelle abgezogen wurde, bleibt die Null bestehen. Theta macht nun aus der Null eine Eins, die als Ergebnis weitergegeben wird. Das Ergebnis ist damit insgesamt also richtig.

Der Ansatz von McCulloch und Pitts hat jedoch auch Schwächen. Es konnte nicht gezeigt werden, wie das Lernen zustande kommt, und solche Netze sind nicht fehlertolerant. Sie funktionieren nur, wenn alle Komponenten richtig arbeiten.

2.2 Die Hebbsche Formel


Der Schwäche des »Nicht-Lernen-Könnens« begegnete Hebb 1949 mit dem Vorschlag, die Verbindung der Synapsen variabel zu gestalten. Er schlug dazu die folgende Formel vor. Jetzt kommt wieder ein wenig Mathematik. Aber ich werde die Formel sofort erläutern.

Formel 2

  • wi ist dabei die Synapsen-Stärke (Gewicht). Das griechische Delta davor gibt an, dass es sich um eine Veränderung der Synapsen-Stärke handelt.

  • (der griechische Buchstabe Epsilon) stellt einen beliebigen Wert größer als null dar und steht für die Größe eines Lernschritts (ich nenne diesen Parameter Lernrate).

  • xi ist die Eingabe an den Eingangsleitungen.

  • y(x) ist die Ausgabe an der Ausgangsleitung.

Das i steht dafür, dass es mehrere Eingangsleitungen gibt, beispielsweise bei drei Eingangsleitungen x1, x2 und x3. Die Werte der Gewichte können nun auch Kommazahlen darstellen.

Die Formel gibt also an, dass beim Lernen die Gewichte einer Leitung um einen Betrag verändert werden, der sich aus einer Lernrate, den einzelnen Eingangssignalen und dem Ausgangssignal ergibt.

2.3 Das Perzeptron


Das Perzeptron ist ein Modell von mehreren Nervenzellen. Dieses Modell wurde von Frank Rosenblatt 1958 vorgestellt. 1960 hatte er es per Computerprogramm implementiert.

Das Perzeptron kann klassifizieren. Dazu werden verschiedene Vektoren gebildet und verschiedenen Klassen zugeordnet. Ein Perzeptron kann lernen, welche Vektoren zu »seiner« Klasse...

Blick ins Buch

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Baumarkt

Baumarkt

Baumarkt enthält eine ausführliche jährliche Konjunkturanalyse des deutschen Baumarktes und stellt die wichtigsten Ergebnisse des abgelaufenen Baujahres in vielen Zahlen und Fakten zusammen. Auf ...

dental:spiegel

dental:spiegel

dental:spiegel - Das Magazin für das erfolgreiche Praxisteam. Der dental:spiegel gehört zu den Top 5 der reichweitenstärksten Fachzeitschriften für Zahnärzte in Deutschland (laut LA-DENT 2011 ...

Der Steuerzahler

Der Steuerzahler

Der Steuerzahler ist das monatliche Wirtschafts- und Mitgliedermagazin des Bundes der Steuerzahler und erreicht mit fast 230.000 Abonnenten einen weitesten Leserkreis von 1 ...

Deutsche Hockey Zeitung

Deutsche Hockey Zeitung

Informiert über das nationale und internationale Hockey. Die Deutsche Hockeyzeitung ist Ihr kompetenter Partner für Ihren Auftritt im Hockeymarkt. Sie ist die einzige bundesweite Hockeyzeitung ...

IT-BUSINESS

IT-BUSINESS

IT-BUSINESS ist seit mehr als 25 Jahren die Fachzeitschrift für den IT-Markt Sie liefert 2-wöchentlich fundiert recherchierte Themen, praxisbezogene Fallstudien, aktuelle Hintergrundberichte aus ...

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...