Mathematik | Informatik
Flurin Graeff, 2005 | Nottwil, LU
Neuronale Netzwerke mit einem Gradientenverfahren zu optimieren, ist ein häufig angewendetes Verfahren. Unzureichende Qualität und eingeschränkte Verfügbarkeit von Trainingsdaten können aber ein durch diese Trainingsmethode trainiertes Objekt nicht immer zu einem idealen Resultat leiten. In der Arbeit wird dieses Trainingsverfahren mit an der Natur und an deren evolutionären Entwicklungen inspirierten Methoden, sogenannten genetischen Algorithmen, erweitert. Durch das Entwickeln einer JavaScript-Bibliothek konnte dieses Verfahren direkt an Beispielproblemen getestet werden. Die Zusammenarbeit der beiden Algorithmen eliminierte die Nachteile der einzelnen Algorithmen und hob deren Vorteile hervor. Ein trainiertes Objekt wies dadurch nach dem modifizierten Training einen höheren Fitnesswert auf als bei herkömmlichen Methoden.
Fragestellung
Die Arbeit untersucht die Zusammenarbeit von Backpropagation und genetischen Algorithmen, um ein neuronales Netzwerk effizient trainieren zu können. Es soll herausgefunden werden, ob der durch die Kombination entstandene Algorithmus in der Anwendung dem neuronalen Netzwerk nebst dem Erwerb von Eigenschaften durch Trainingsdaten auch Eigenschaften hinzufügen kann, die über die Qualität dieser Daten hinausgehen.
Methodik
Zur Umsetzung wurden Backpropagation sowie eine für die Anwendung an neuronalen Netzwerken optimierte Version der genetischen Algorithmen als JavaScript-Bibliothek implementiert. Die Bibliothek wurde dann zur Evaluation der Ergebnisse an mehreren Computerspielen getestet. Wie die Backpropagation trainieren auch die genetischen Algorithmen ein neuronales Netzwerk, indem die Gewichte des Netzes optimiert werden. Während bei der Backpropagation auf existierende Trainingsdatensätze gesetzt wird, verwenden die genetischen Algorithmen primär Zufallswerte. Ein Selektionsprozess entscheidet über die Fitness der zufällig entstandenen Veränderungen. Beginnend mit der Backpropagation wird das Netzwerk auf den Stand der Trainingsdaten trainiert. Die genetischen Algorithmen werden darauffolgend als weiterführende Optimierung eingesetzt.
Ergebnisse
Der neu entstandene Algorithmus wird an mehreren Beispielen getestet, die von existierenden Computerspielen inspiriert sind. Bei allen getesteten Beispielen konnte das selbstständige Spielen dem zu trainierenden Objekt immer beigebracht werden. Die Funktionalität der Backpropagation wurde durch Klassifikationsprobleme getestet, welche bei passender Lernrate immer gelöst werden konnten. Mit dem Computerspiel FlappyBird wurden die genetischen Algorithmen analysiert. Durch Manipulation der Umweltparameter wurden weitergehende Beurteilungen der Fitness der trainierten Objekte vorgenommen. Leichte Umweltveränderungen stellten für die meisten Individuen kein Problem dar. Um die Kombination beider Algorithmen zu testen, wurde ein Fahrzeug auf einer virtuellen Teststrecke durch Daten von menschlichen Inputs mit der Backpropagation trainiert und anschliessend mit genetischen Algorithmen weiter optimiert. Die genetischen Algorithmen konnten bis zu 30% mehr an Fitness herausholen.
Diskussion
Die Ergebnisse zeigen auf, dass bei einem erfolgreichen Training mit einem Datensatz noch nicht das beste Resultat für das Problem erreicht wird. Manipuliert man das zu trainierende Objekt mit Zufallswerten, kann ein noch hochwertigeres Resultat erreicht werden. Diese Trainingsmethode inklusive der implementierten Bibliothek sind, erkennbar durch die Ergebnisse, ideal geeignet für die getesteten Problemstellungen. Gerade beim Training mit Trainingsdaten unzureichender Qualität ist diese Methode von Vorteil. Ein Beispiel dafür ist der Einsatz in Computerspielen. Normalerweise werden diese Daten anhand von menschlichen Spieleraktivitäten gewonnen, die erwartungsgemäss nicht perfekten Aktivitäten entsprechen. Zudem weist die Bibliothek eine breite Anwendbarkeit dank der Implementierung in JavaScript auf und kann dadurch in jeden mit den Beispielen vergleichbaren Projekten eingesetzt werden.
Schlussfolgerungen
Die universelle Umsetzung mit dem Fokus auf Browser-Kompatibilität und die Kompaktheit der Bibliothek ermöglichen es, den Algorithmus in beliebigen weiteren Projekten einzusetzen. Die Bibliothek fokussiert sich somit auf eine Nische, die grosse Machine-Learning-Bibliotheken meist nicht abdecken. Während alternative Bibliotheken für komplexe Anwendungsfälle mit Gebrauch von optimierter Hardware optimiert sind, ist diese Bibliothek für einfachere Anwendungsfälle optimiert, mit dem Vorteil auf Alltagsgeräten zu funktionieren.
Würdigung durch den Experten
Dr. Stefan Ganscha
Die Frage nach der Kombination von überwachtem Lernen und genetischen Algorithmen beantwortet Flurin Graeff im Rahmen eines sehr breit angelegten Projektes. Er erarbeitet sich alle algorithmischen Grundlagen, entwickelt eine wiederverwendbare Javascript-Bibliothek, inkl. Webseite mit mehreren Demos, und analysiert ihre Leistungsfähigkeit sowie die Qualität der gelernten Modelle. Am kreativen Beispiel einer Fahrsimulation zeigt der Teilnehmer die Vorteile seiner Algorithmen-Kombination, indem über die erfassten Trainingsdaten hinaus durch Exploration bessere Modelle gefunden werden.
Prädikat:
sehr gut
Sonderpreis «European Space Camp (ESC)» gestiftet von der Gamil Stiftung
Kantonsschule Sursee
Lehrer: Dr. Philipp Hurni