Thema: Delphi Neuronale Netze ???

Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#24

Re: Neuronale Netze ???

  Alt 2. Jan 2004, 18:29
Das nennt man "Lernkurve". Am Anfang wird das Netz ziemlich rasch sehr schnell "lernen", sich also auf die Aufgabe anpassen. In späteren Zyklen wird aber die Lernkurve drastisch abfallen, bis hin zur Stagnation. Da das Netz inkrementell lernen muß, d.h. immer ein neues Inputset nach den anderen kann es sich neuen Gegebenheiten nur anpassen indem es ständig neue Neuronen in's Netz einfügt, es wird also live trainiert mit noch unbekannten Eingaben. Generell kann man sagen das ein einmal trainiertes Netz sehr sehr schlecht auf neue Bedinungen umzutrainieren ist. Dies ist vergleichbar mit uns Menschen, haben wir einmal Fahrrad fahren gelernt so verlernen wir es nur sehr sehr schlecht. Würde nun das Fahrrad absolut anders funktionieren so fällt es unserm Hirn enorm schwer sich sehr schnell diesen neuen Bedingungen anzupassen. Um so älter ein Mensch und sein Hirn wird um so mehr wird es fixiert und wird sich immer schlechter anpassen.
Exakt mit diesem "Trick" kann man das Netz auch austricksen. Man füttert es lange Zeit mit ähnlichen Eingaben. Im späteren Verlauf ändert man die grunsätzliche Taktik beim Tippen. Das Netz wird sich dann viel schwerer der neuen Taktik anpassen können als wenn es ein ganz frisches Netz wäre.

Im Falle der Software sollte diese so abgeändert werden das das Netz bei einer bestimmten Größe nicht weiter trainiert wird. Es wird sowieso nicht besser reagieren können. Dies zeigts sich auch wenn man das Netz per Zufallsgenerator trainieren will. Das Netz wird sich NIE an den Zufallsgenerator anpassen können, was gleichbedeutend ist mit dem Fakt das es einfach NICHT lernen kann, wo es KEIN Muster gibt. Deshalb wir beim Spiel mit Zufallsgenerator das Netz sehr schnell enorm groß und dementsprechend langsam.

Allerdings, das von mir benutzte Recurrente Cascade Correlation Netzwerk ist eines der am schnellsten lernenden Netzwerke. Es ist erheblich effizienter als zB. normale Feedforward Backpropagation Netzwerke.

Im allgemeinen erkennt man an Hand einer schlechten Lernkurve das irgend etwas nicht vom Design her passt. Entweder existieren in den Trainingsdaten zwischen den Inputdaten und Outputdaten keinerlei Zusammenhänge, eben zufällig, oder man hat das Netz falsch parametrisiert, oder aber es existiert ein logischer Fehler im der Anwendung des Netzwerkes auf das zu lösende Problem. D.h. ein Deutscher versteht nur chinesisch wenn er ohne Sprachkenntnisse einer russischen Fachdiskussion zuhört. Exakt das gleiche passiert sehr oft mit schlecht angepassten NNs, sie verstehen einfach nicht die Inputdaten, d.h. die Inputdaten sind NICHT für das Netz erlernbar übersetzt worden. Diese "Übersetzung" der Inputs ist aber der entscheidende Knackpunkt der die effiziente Anwendung der NN's so schwierig macht.

Gruß Hagen
  Mit Zitat antworten Zitat