Neuronale Netze: Möglichkeiten und Grenzen neuronaler Netze

1. Möglichkeiten und Grenzen neuronaler Netze

Neuronale Netze, oder besser künstliche neuronale Netze sind Software-Produkte. Neuronale Netze immitieren in sehr abstrakter Weise einen Teil eines Nervensystems. Neuronale Netze wurden zuerst entwickelt, um Abläufe im Gehirn besser zu verstehen. Inzwischen nutzt man sie für kognitive Anwendungen, z.B. für Lernzwecke oder Optimierungen. Im Idealfall lernt das neuronale Netz ähnlich wie ein Gehirn an Beispielen. In anthropomorpher Sprechweise kann man die Arbeitsweise eines neuronalen Netzes etwa so beschreiben: Gibt man dem neuronalen Netz genügend viele Beispiele zum Lernen, dann kann es die gewonnene Erfahrung nutzen, um sie auf andere Fälle anzuwenden. Diesen Lernprozeß bezeichnet man als Training eines neuronalen Netzes.

Neuronale Netze können in sehr unterschiedlichen Bereichen zur Modellierung eingesetzt werden. Typische Anwendungsbereiche sind medizinische Diagnostik, Analyse von Wirtschaftsdaten, Kontrolle von Fertigungsprozessen, Vorhersage von Devisenkursen, Robotik, etc. In diesen Anwendungen besteht die Aufgabe des neuronalen Netzes darin, aus vorgegebenen Daten weitere Informationen zu gewinnen. Neuronale Netze werden vor allem in Fällen eingesetzt, wo es nicht möglich ist, diese Informationen auf einfachere Art und Weise zu erhalten.

Im Prinzip kann man jede mathematische Funktion mit Hilfe eines neuronalen Netzes lernen. Neuronale Netze lassen sich besonders gut dann verwenden, wenn man eine Funktion nicht kennt, aber viele Daten zur Verfügung hat. Speziell Klassifizierungsprobleme oder Probleme, bei denen eine komplizierte Funktion aus Daten approximativ dargestellt werden soll, lassen sich mit Holfe neuronaler Netze sehr gut bearbeiten.

Bevor man eine Simulation mit einem neuronalen Netz startet, sollte genau überlegt werden, welche Alternativen es gibt und ob die Fragestellung mit einem neuronalen Netz sinnvoll bearbeitet werden kann. Beispielsweise würde es keinen Sinn machen, die Lottozahlen der nächsten Woche aus den Ziehungen der vergangenen fünf Wochen berechnen zu wollen. In diesem Fall steht fest, daß zwischen verschiedenen Ziehungen keine Korrelationen bestehen. Deshalb ist es sinnlos zu erwarten, eine solche Rechnung könnte erfolgreich sein. Eine Wettervorhersage aufgrund des Wetters der vergangenen fünf Tage könnte dagegen mit einem neuronalen Netz möglich sein. Allerdings gibt es hier sehr viele zusätzliche Gesetzmäßigkeiten, die in Wetterberechnungen benützt werden; ein neuronales Netz kann diese Informationen nicht nutzen und andere Methoden sind dem neuronalen Netz daher überlegen. Ein Text über allgemeine mathematische Modelle diskutiert unterschiedliche Aspekte solcher Modelle und ihre Simulation. In vielen Problemen erwartet man Korrelationen, kennt aber keine zusätzlichen Gesetzmäßigkeiten. Solche Probleme sind prädestiniert für die Anwendung eines neuronalen Netzes. Ein sehr interessantes Anwendungsbeispiel ist ein Programm, das mit Hilfe weniger Eingabeparameter eine Risikoabschätzung für Prostatakrebs liefert. Dazu werden wenige Parameter, deren genaue Korrelation nicht explizit bekannt sind, verwendet. Ein neuronales Netz wurde mit Datensätzen von vielen Prostatapatienten trainiert und liefert Aussagen zum Risiko für Prostatakrebs. Ein komplizierteres Beispiel für eine medizinische Anwendung wird im Abschnitt medizinische Anwendung vorgestellt. Weitere Anwendungsbeispiele finden Sie unter den Links, die wir im Abschnitt Linksangeben.

In künstlichen neuronalen Netzen werden einige Strukturen eines Nervensystems in karrikativer Weise immitiert, um so ein Programm zu erhalten, mit dem Daten in einer bestimmten Weise verarbeitet werden können. Ein künstliches neuronales Netz besteht aus einer Menge von Knoten und deren Verbindungen untereinander, wobei jeder Knoten eine einzelnen Nervenzelle modelliert. Jeder Knoten wird durch eine Variable beschrieben, die seinen Zustand anzeigt. Für jede Verbindung zwischen zwei Knoten wird eine weitere Variable eingeführt, die die Stärke der Verbindung zwischen den Nervenzellen modelliert. Die Abbildung zeigt eine Skizze eines neuronalen Netzes.

Ein neuronales Netz

Neben den genannten Größen gibt es noch weitere Parameter, die zum Verständnis weniger wichtig sind. Häufig betrachtet man neuronale Netze, die aus verschiedenen Schichten bestehen, einer Eingabeschicht, mehreren Zwischenschichten und einer Ausgabeschicht. Die Aufgabe eines solchen Netzes kann zum Beispiel in einer Klassifizierung bestehen: Die Eingabedaten werden in die Eingabeschicht eingespeist und die Ausgabeschicht sortiert diesen Eingabedatensatz in eine bestimmte Klasse. Die oben erwähnten medizinischen Beispiele fallen in diese Klasse

Neuronale Netze werden mit vollständigen Datensätzen trainiert. Ein vollständiger Datensatz besteht aus den Eingabedaten und den Ausgabedaten. Man variiert die Parameter, die das Netz beschreiben, im wesentlichen also die Kopplungen zwischen den Knoten, in geeigneter Weise, so daß das Netz bei den vollständigen Datensätzen die richtigen Ausgabedaten liefert. In einem zweiten Durchgang wird das neuronale Netz mit einem zweiten, unabhängigen Satz von vollständigen Datensätzen getestet. Beide Datensätze, der zum Trainieren und der zum Testen müssen groß genug sein und vor allem richtig verteilt sein. Was das genau heißt, werden wir im Abschnitt Daten sehen. Für das obige medizinische Beispiel bedeutet das, daß man die Laborwerte von sehr vielen Patienten, beispielsweise aus mehreren großen Kliniken oder Studien zum Trainieren und Testen des Netzes benutzt. Sind die Tests erfolgreich, dann enthält das Netz quasi die Information aller dieser Daten in komprimierter Form und kann nun aus den Labordaten eines neuen Patienten Vorhersagen darüber machen, ob dieser Patient die Krankheit hat. Da das neuronale Netz mit den Daten von sehr vielen Patienten trainiert wurde, enthält es quasi eine Erfahrung, die, soweit es die Interpretation der Labordaten angeht, über die eines einzelnen Arztes eventuell deutlich hinausgeht. Die Ausgabe des neuronalen Netzes kann deshalb für den Arzt eine wichtige Hilfe sein. Natürlich sollte er sich nie allein darauf verlassen, sondern versuchen, mit weiteren diagnostischen Verfahren die Vermutung zu erhärten oder zu widerlegen.

Folgende Schritte sind wichtig, wenn man beginnt, mit einem neuronalen Netz zu arbeiten:

  1. Man sollte überprüfen, ob es andere, effizientere Methoden gibt um das Problem zu lösen. Auch eine Machbarkeitsstudie ist sinnvoll: Kann das Problem mit einem neuronalen Netz behandelt werden.
  2. Das Projekt muß sorgfältig geplant werden. Dazu gehört die Planung von Resourcen, Personal, Kosten und Dokumentation.
  3. Der nächste Schritt besteht darin, Standards für die Datenbeschaffung und -kodierung festzulegen. Qualität und Quantität der Daten müssen überprüft werden.
  4. Jetzt kann man das neuronale Netz entwickeln. Meist werden mehrere Trainingszyklen benötigt um eine optimale Struktur zu erhalten.
  5. Für das trainierte Netz müssen Fehlerschranken für die Ausgabedaten sorgfältig abgeschätzt werden.
  6. Es ist möglich, mit Hilfe des trainierten Netzwerks Regeln zu entwickeln. Regeln sind für Optimierung und Kontrolle in der späteren Nutzung wichtig.
  7. Das Netzwerk kann jetzt benutzt werden. Dabei sollten permanente Kontrollen vorgesehen werden. Es ist auch möglich, kleine Optimierungen vorzunehmen.


Mit ICRA gekennzeichnet. Valid HTML 4.0! Valid CSS!

Copyright (c) Andreas Mielke 1999-2010. Letzte Änderung: 04.03.2011. info@andreas-mielke.de