Künstliches neuronales Netz

Netz aus künstlichen Neuronen
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Oktober 2005 um 12:43 Uhr durch 80.136.17.70 (Diskussion) (Weblinks). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Künstliche neuronale Netze (kurz: KNN, engl. artificial neural networks – ANNs) sind ein Zweig der künstlichen Intelligenz und prinzipieller Forschungsgegenstand der Neuroinformatik.

Vereinfachte Darstellung eines künstlichen neuronalen Netzes

Ein KNN ist die Kombination einer komplizierten nichtlinearen Funktion mit einem einfachen „Lern”-Algorithmus, der durch iterative oder rekursive Vorgehensweise aus vorhandenen Eingangs- und gewünschten Ausgangswerten alle Parameter der Funktion zu bestimmen versucht.

KNN sind dabei eine Realisierung des konnektionistischen Paradigmas, da die Funktion aus vielen einfachen gleichartigen Teilen besteht, die auf die sogenannten künstlichen Neuronen zurückgeführt werden können. Erst in ihrer Summe wird die Funktion kompliziert.

KNN haben im Vergleich zu anderen Gebieten der künstlichen Intelligenz, z.B. den Expertensystemen ihren Anwendungsschwerpunkt dort, wo ein Rechner durch einige wenige ausgewählte Eingabemuster lernen soll, ein beliebiges Eingabemuster in das gewünschte Ausgabemuster zu überführen. („Generalisierung”).

Anwendung

Seine besonderen Eigenschaften machen das KNN bei allen Anwendungen interessant, bei denen kein bzw. nur geringes explizites (systematisches) Wissen über das zu lösende Problem vorliegt.

Dies sind z.B. die Texterkennung, Bilderkennung und Gesichtserkennung, bei denen einige Hunderttausend bis Millionen Bildpunkte in eine im Vergleich dazu geringe Anzahl von erlaubten Ergebnissen überführt werden müssen.

Auch in der Regelungstechnik kommen KNN zum Einsatz, um herkömmliche Regler zu ersetzen oder ihnen Sollwerte vorzugeben, die das Netz aus einer selbst entwickelten Prognose über den Prozessverlauf ermittelt hat.

Die Anwendungsmöglichkeiten sind aber nicht auf techniknahe Gebiete begrenzt: Bei der Vorhersage von Veränderungen in komplexen Systemen werden KNNs unterstützend hinzugezogen, z.B. zur Früherkennung sich abzeichnender Tornados oder aber auch zur Abschätzung der weiteren Entwicklung wirtschaftlicher Prozesse.

Biologische Grundlagen

Während das Gehirn zur massiven Parallelverarbeitung in der Lage ist, arbeiten die meisten heutigen Computersysteme nur sequentiell bzw. partiell parallel (sog. Von-Neumann-Architektur eines Rechners). Es gibt jedoch auch erste Prototypen neuronaler Rechnerarchitekturen, sozusagen den Neuronalen Chip, für die das Forschungsgebiet der KNNs die theoretischen Grundlagen bereitstellt. Auch dabei werden die tatsächlichen physiologischen Vorgänge im Gehirn jedoch nicht nachgebildet.

Man stellt KNNs damit explizit den natürlichen neuronalen Netzen gegenüber, welches Modelle von Nervenzellverschaltungen im Gehirn sind.


Typen von KNN

Lernverfahren

Anwendungen

Schwierigkeiten

Die Hauptnachteile von KNN sind gegenwärtig

  1. Das Trainieren von KNN (im Terminus der Statistik: Das Schätzen der im Modell enthaltenen Parameter) führt in der Regel zu hochdimensionalen, nichtlinearen Optimierungsproblemen. Die prinzipielle Schwierigkeit bei der Lösung dieser Probleme besteht in der Praxis häufig darin, dass man nicht sicher sein kann, ob man das globale(!) Optimum gefunden hat oder nur ein lokales. Obgleich in der Mathematik eine Fülle relativ schnell konvergierender lokaler Optimierungsverfahren entwickelt wurde (beispielsweise Quasi-Newton Verfahren: BFGS, DFP usw.), finden auch diese in der Regel nur suboptimale Lösungen. Eine zeitaufwändige Näherung an die globale Lösung erreicht man ggf. durch die vielfache Wiederholung der Optimierung mit immer neuen Startwerten.
  2. Es müssen Trainingsdaten gesammelt oder manuell erzeugt werden. Dieser Vorgang kann sehr schwierig sein, da man verhindern muss, dass das Netz Eigenschaften der Muster lernt, die zwar auf dem Trainingsset mit dem Ergebnis in irgendeiner Weise korreliert sind, die aber in anderen Situationen nicht zur Entscheidung herangezogen werden können. Wenn bspw. die Helligkeit von Trainingsbildern bestimmte Muster aufweist, dann 'achtet' das Netz unter Umständen nicht mehr die gewünschten Eigenschaften, sondern klassifiziert die Daten nur noch aufgrund der Helligkeit.
  3. Bei Anwendung einer ‚heuristischen‘ – nicht statistischen – Vorgehensweise bei der Netzwerkspezifikation, neigen KNN dazu, die Trainingsdaten einfach auswendig zu lernen (Overfitting). Wenn dies geschieht, können sie nicht mehr auf neue Daten verallgemeinern. Um Overfitting zu vermeiden, muss die Netzwerkarchitektur sehr ‚vorsichtig‘ gewählt werden. Dieses Problem existiert auch bei vielen anderen statistischen Verfahren und wird als ‚bias-variance trade-off‘ bezeichnet. Seit einigen Jahren werden häufig verbesserte Verfahren (Boosting, Support Vektor Maschinen, Regularisierungsnetzwerke) eingesetzt, die diesem Problem begegnen.
  4. Die Kodierung der Trainingsdaten muss problemangepasst und nach Möglichkeit redundanzfrei gewählt werden. In welcher Form die zu lernenden Daten dem Netz präsentiert werden hat einen großen Einfluß auf die Lerngeschwindigkeit, sowie darauf, ob das Problem überhaupt von einem Netz gelernt werden kann. Gute Beispiele hierfür sind Sprachdaten, Musikdaten oder auch Texte. Das einfache Einspeisen von Zahlen, beispielsweise einer Wavdatei für Sprache, führt selten zu einem erfolgreichen Ergebnis. Je präziser das Problem allein durch die Vorverarbeitung und Kodierung gestellt wird, desto erfolgreicher kann ein KNN dieses verarbeiten.

Implementierungen und Simulationspakete

Stand

Die gängige Softwareimplementierung der künstlichen neuronalen Netze beschränkt die Anzahl der Neuronen auf einige hundert Neuronen, weil das Traininieren des KNN viel Zeit in Anspruch nimmt. Hardwarebasierte Lösungen besitzen derzeit eine Neuronenanzahl von 30.000. Schnecken zum Beispiel besitzen etwa 20.000 Neuronen. Ein menschliches Gehirn besteht aus etwa 10-100 Milliarden Neuronen.

Ein weiterer Ansatz liegt darin echte neuronale Netze zu benutzen. Der amerikanische Biomediziner Thomas DeMarse experimentiert mit Neuronen, die aus dem Gehirn von Ratten entnommen, in einer Petrischale gezüchtet und per Elektroden mit einem Computer verbunden werden. Er verband 25.000 Neuronen über 60 Elektroden mit einer Computersimulation eines Flugzeugs. Nach anfänglich offenbar willkürlichen Impulsen soll das neuronale Netz Signale gegeben haben, mit denen die Fluglage in der Simulation stabil gehalten werden konnte.

Siehe auch

Aktivierungsraum, Neuroinformatik

Literatur

Newsgroups