Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Neuronale Netze - Grundlagen (eBook)

Mit Beispielprogrammen in Java
eBook Download: EPUB
2017 | 1. Auflage
240 Seiten
MITP Verlags GmbH & Co. KG
978-3-95845-609-9 (ISBN)

Lese- und Medienproben

Neuronale Netze - Grundlagen -  Thomas Kaffka
Systemvoraussetzungen
25,99 inkl. MwSt
(CHF 25,35)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
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.

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.

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...

Erscheint lt. Verlag 27.10.2017
Reihe/Serie mitp Professional
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte Deep learning • Künstliche Intelligenz • machine learning • Programmierung
ISBN-10 3-95845-609-X / 395845609X
ISBN-13 978-3-95845-609-9 / 9783958456099
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Ohne DRM)
Größe: 10,1 MB

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 30,70
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 34,10
Deterministische und randomisierte Algorithmen

von Volker Turau; Christoph Weyer

eBook Download (2024)
De Gruyter (Verlag)
CHF 63,45