AnIdea: Approximation der Lösung einer Differenzialgleichung mit neuronalen Netzwerken

 

Mathematik | Informatik

 

Dominique Garmier, 2001 | Villmergen, AG

 

Mit Machinelearning, manchmal auch als künstliche Intelligenz bezeichnet, lassen sich diverse Probleme, zum Beispiel Bilderkennung oder Spracherkennung, lösen. In dieser Arbeit wurde versucht, Machinelearning auf das Lösen von Differenzialgleichungen anzuwenden.
AnIdea ist eine Software, die im Rahmen dieser Arbeit von Grund auf programmiert wurde. AnIdea löst das Anfangswertproblem einer (festgelegten) Differenzialgleichung zweiter Ordnung approximativ für beliebige Anfangsbedingungen. Hierfür wird ein neuronales Netzwerk als Funktion der unabhängigen Variablen sowie der Anfangsbedingungen so trainiert, dass die Verletzung der Differenzialgleichung minimiert und die Anfangsbedingungen eingehalten werden. Anhand der Differenzialgleichung des nicht-linearisierten mathematischen Pendels konnte die Genauigkeit von AnIdea demonstriert werden. Es wurde gezeigt, dass bei gleichem Rechenaufwand die Genauigkeit von AnIdea höher ist als die des Euler-Verfahrens, jedoch geringer als die des klassischen Runge-Kutta-Verfahrens.

Fragestellung

Das Ziel dieser Arbeit war es, die Möglichkeiten und Eigenschaften einer auf neuronalen Netzwerken basierenden Methode für das Lösen von Differenzialgleichungen zu untersuchen. Konkreter sollte diese Methode mit bereits bestehenden Methoden wie dem Euler-Verfahren oder dem Runge-Kutta-Verfahren verglichen werden.

Methodik

Um die Fragestellung überprüfen zu können, wurde ein neuartiger Algorithmus zum Lösen von Differenzialgleichungen entwickelt und danach auch implementiert. Das entstandene Programm heisst AnIdea. AnIdea wurde mit Python 3.6 programmiert und stützt sich auf mehrere Packages, zum Beispiel Numpy und Tensorflow. Tensorflow bietet bereits implementierte Versionen des Matrix- und Tensor-Produktes und Optimierungsalgorithmen (wie Gradient Descent oder ADAM). Das Ziel des Projektes ist es, ein neuronales Netzwerk so zu trainieren, dass es die Lösung einer Differenzialgleichung lokal in der Zeit approximiert. Das bedeutet, dass dieses neuronale Netzwerk die Lösung eines Anfangswertproblems für beliebige Anfangsbedingungen über kurze Zeitschritte ungefähr lösen kann. Das Problem der Ungenauigkeit über längere Zeiten kann mit der Eigenschaft der freien Wahl der Anfangsbedingungen bewältigt werden. So kann dasselbe neuronale Netzwerk verwendet werden, um Schritt für Schritt eine über längere Zeit genaue Lösung der Differenzialgleichung zu konstruieren.
Das verwendete neuronale Netzwerk besitzt eine eigens entwickelte Architektur, die zwei neuronale Netzwerke miteinander verbindet. Das eine Netzwerk (Parameterfunktion / Hypernetzwerk) liefert die Verbindungsgewichte für das andere (Stammnetzwerk), damit dieses sich flexibel an die Anfangsbedingungen anpassen kann. In der Arbeit wurde mittels statistischer Methoden gezeigt, dass diese neue Architektur für das vorliegende Problem auch wirklich besser ist als Standardmethoden.

Ergebnisse

Um die Genauigkeit des neuen Verfahrens zu analysieren, wurden verschiedene Auswertungsmethoden verwendet. Beispielsweise wurde die Phasenraumdifferenz zwischen der durch AnIdea generierten Lösung und einer exakten gemessen, um die Genauigkeit des Verfahrens zu bestimmen. Ausserdem wurde die sogenannte Lossfunktion im Verlauf der Trainingsphase des neuronalen Netzwerks und dessen Wirkung auf die obengenannte Genauigkeit des Verfahrens untersucht.

Diskussion

Anhand der oben erwähnten Messung der Genauigkeit konnte gezeigt werden, dass AnIdea bei gleichem Rechenaufwand zwar genauer ist als das Eulerverfahren, jedoch weniger genau ist als das Runge-Kutta-Verfahren. Dies ist dennoch bemerkenswert, da AnIdea erst ein Prototyp ist und es in vielen Aspekten Verbesserungspotenzial gibt. Es sind schon konkrete Verbesserungsmöglichkeiten bekannt, die in einer weiteren Programmversion implementiert werden könnten.

Schlussfolgerungen

Es besteht die Möglichkeit, dass ein Verfahren wie AnIdea nach der Weiterentwicklung die Genauigkeit des Runge-Kutta-Verfahrens überschreiten wird. In diesem Fall könnte ein solcher Algorithmus in Bereichen wie der numerischen Strömungsdynamik (CFD), der Wetterprognosen oder allgemein in der numerischen Physik eingesetzt werden. Zudem könnte er eingesetzt werden, um sehr schnell und effizient Differenzialgleichungen zu approximieren. Dies ist im Bereich der Robotik wichtig, wenn die Bewegung eines Roboterarms in Sekundenbruchteilen bestimmt werden muss.

 

 

Würdigung durch den Experten

Alpha Renner

Herr Garmier hat in dieser Arbeit ein neuronales Netzwerk zur Approximation von Differenzialgleichungen entwickelt. Anstatt ein konventionelles Netzwerk zu verwenden, hat er eine innovative, hierarchische neuronale Architektur entworfen, von Grund auf implementiert und umfangreich getestet. Sie löst das Problem besonders effizient und ähnelt einer erst kürzlich publizierten einflussreichen Technik. Eine solche Methode selbst zu entwickeln, bedarf nicht nur eines soliden Verständnisses und Begeisterung für das Thema, sondern auch erheblicher Kreativität.

Prädikat:

sehr gut

 

 

 

Kantonsschule Wohlen
Lehrer: Dr Mark Heinz