Hi Niels,
solche Fragen sind immer recht schwierig zu beantworten. Ich selber habe ausschließlich englische Literatur, hauptsächlich die originalen Forschungsarbeiten über die entsprechenden Netzwerke. Mein Grundwissen stammt aus grauer Vorzeit, denn auch schon vor 10-15 Jahren kannte man neuronale Netzwerke. Du hast aber recht mit der Aussage das man nur noch sehr wenig gute und vollständige Informationen im WEB findet. Das liegt wohl am derzeitgen Trend alles durch Patente schützen zu wollen.
Trotzdem mal zwei Links:
http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html
http://www.doc.ic.ac.uk/~nd/surprise...11/report.html
Um englisch wirst du nicht herumkommen, da selbst die Deutschen Forscher alles in englisch veröffentlichen, obwohl die Deutschen auf dem Gebiet neuronaler Netzwerke lange Zeit führend waren.
Meine
Unit basiert auf einem relativ neuem und daher noch wenig bekanntem Netzwerk.
Leider ist es bei der Umsetzung von NN's in Software immer so das aus Effizienzgründen die Arbeitsweisen der NN's ver-kompliziert dargstellt werden. D.h. der Source sieht immer viel schwieriger aus als er vom Modell her gesehen eigentlich tatsächlich ist.
Wenn das Auffinden von Informationen über NN's im WEB schon schwierig ist so wird es nochmals viel schwieriger an Informationen heranzukommen die echte praktische Beispiele von AI aufzeigen. D.h. man findet immer wieder Informationen das mit Hilfe von NN's zB. "intelligente" Spiele oder Roboter gebaut wurden. Aber wie und mit welchen Netzwerktypen dies erfolgte findet man nicht.
Es ist also ein großer Unterschied zwischen dem Wissen wie NN's funktionieren und wie sie nun auf einfachste "Demo" probleme angewendete wurden, zu dem praktischen Wissen wie man NN's nun tatsächlich anwendet.
Zb. wollen wir eine AI für ein Game einsetzen. Dazu soll ein NN als Entscheidungskern dienen. Selbst wenn man weiß wie NN's funktionieren so benötigen wir noch das entscheidende Wissen wie wir das NN richtig in die AI einbauen müssen. Das sind solche Fragen wie, "woher kommt der Input des NN's ?", "wie bereiten wir den AI Input auf so daß das NN sauber arbeiten kann?", "wie interpretieren wir den Output des NN's, und verknüpfen diesen mit sinnvollen Aktionen der AI ?", "wie trainieren wir das Netzwerk ?"
Mit meiner
Unit habe ich versucht die Detailfragen der korrekten Einstellung eines NN's zu automatisieren. Normalerweise muß ein NN-Anwender bei den meisten NN's sehr viele und wichtige Parameter einstellen, damit das NN überhaupt korrekt arbeitet. Zb. Layer Anzahl, Aktivierungsfunktionen, Anzahl der Neuronen (ich bervorzuge den Namen "Units") pro Layer, deren Verküpfungen usw. usw.
Ich persönlich habe mich bisher mit Schrifterkennungen, Spracherkennungen, Mustererkennungungen in Dateidaten Klassifizierungen und kleineren Game KI's wie zB. für 4Gewinnt herumgeschlagen.
Bei der Schrifterkennung drehte es sich hauptsächlich um sogenannte "Stroke-basierte" Systeme, also exakt sowas wie die Schrifterkennung auf Palm Handhelds oder Pentop PC. Das heist also keine OCR-Zeichenerkennung. Das Spracherkennungsprojekt ist eher als "Sound-Filterungs" projekt zu verstehen. Das NN sollte aus einem Stereo-Signal die 3D Räumlichkeiten der Aufnahme filtern. Also im Grunde ein System das so ähnlich wie ein Dolby Sourround Chip aus einem Stereosignal ein 3D Signal Filter implementiert. Die rießige Schwierigkeit für mich war dabei der Fakt wie man korrekte Daten erzeugt die zum Training des Netzwerkes notwenig sind.
Die Mustererkennung basierte auf der Idee x'beliebige Dateien anhand ihres Inhaltes zu klassifizieren. Das System sollte erkennen ob eine beliebige Datei aus Text,
HTML,Pascal oder komprimierten Daten usw. besteht. Das hat auch ziemlich sauber funktioniert.
Die Game KI's war da eigentlich schon viel schwieriger, da man dort die Regeln und deren Software Umsetzung und Algorithmen erstmal exakt beherrschen muß. Erst wenn alle konventionellen Methoden keine Verbesserungen mehr bringen fängt man an Neuronale Netzwerke oder Genetische Algos. zu verwenden. Eine spezielle Form einer Game-AI war zB. mein Projekt zur automatischen Erzeugung beliebiger Kreuzwort Rätsel. Dabei ging es darum ein beliebiges Gitter mit sinnvollen Wörtern zu füllen. Es stellte sich heraus das hier Genetische Algorithmen viel effizienter sind.
Ein besonderes Spezialprojekt war die Benutzung der NN's zur Klassifizierung verschlüsselter Informationen bzw. zum Brechen einfacher Czäsar Verschlüsselungen.
Alle Projekte haben zwei gemeinsamme Merkmale
1.) die möglichen Datenmengen und deren Kombinationsvielfalt ist schier unendlich groß, das NN sollte also die generischen Hauptmuster/Unterscheidungsmerkmale finden.
2.) es gibt keine einfachen mathematischen Formeln die den optimalen Weg finden können, das NN eg. genetischer Algo. sollte also solche "Formeln" finden.
Gruß Hagen