Ich habe mich vor längerer Zeit auch mal mit der Materie befasst. Im Wesentlichen hatte ich zwei Projekte:
* Buchstabenerkennung: Definition aller Buchstaben, jeweils in einem 5x7-Pixel-Raster. Eingabe des Netzes waren dann die 5x7=35 Bits des zu erkennenden Buchstabens. Hier lässt sich wunderbar Backpropagation anwenden, da der Eingabe eine eindeutig richtige Antwort zugeordnet werden kann. Leider hatte ich nur mäßige Ergebnisse, weit entfernt von zuverlässiger Buchstabenerkennung
* Pacman: Ein neuronales Netz steuert den Gegner von Pacman durch ein einfaches Labyrinth um Pacman zu fangen. Dies habe ich mit Hilfe von Mutation/Selektion gemacht. Es hat deutlich besser geklappt als die Buchstabenerkennung. Auch hat man deutlich mehr Spaß dabei, die Lernfortschritte der Netze zu beobachten. Das Problem hierbei ist, dass man nicht eine einzelne Reaktion des NN auf eine Eingabe bewerten kann. Denn es braucht ja viele Schritte, um Pacman zu fangen. Ich habe also jedem Individuum 200 Schritte Zeit gegeben, Pacman zu fangen. Wer die geringste Entfernung zu Pacman hat, bzw. ihn in möglichst wenig Schritten gefangen hat, hat sich dupliziert. Die erfolglosesten Netze wurden verworfen.