Marcel Bock ist Student der Computervisualistik und verfasste seine Masterarbeit in der Einrichtung Simulations- und Softwaretechnik in der Abteilung für Intelligente und verteilte Systeme des DLR. Sein Thema: ‚Nachvollziehbarkeit und Begründbarkeit maschineller Lernverfahren mithilfe von 3D-Visualisierung‘.
Vernetzung von Themen
Eigentlich kommt Marcel aus dem Bereich Computervisualistik. Das umschließt Computerspiele, Animationsfilme, Grafikprogrammierung und ähnliches. Seit er allerdings in der Uni eine Vorlesung zu dem Thema ‚Neuronale Netze‘ besucht hat, faszinieren ihn auch diese. Da erreichte ihn die Ausschreibung für das Anfertigen einer Masterarbeit über dieses Thema gerade rechtzeitig. Online hatte Marcel Bock nach Masterarbeitsthemen gesucht. „Meine Masterarbeit wollte ich unbedingt in einer Firma schreiben, um ein wenig mehr Erfahrung zu sammeln und auch schon mal Abläufe und Vorgänge in einer Firma besser kennen zu lernen.“ berichtet Bock. Durch sein Interesse an Astronomie, kannte er das DLR bereits. „Ich hab es mir spannend vorgestellt, beim DLR die Arbeit zu schreiben.“ Schnell wurde er fündig und hat seine Bewerbung direkt über die Webseite abgeschickt. Nach einem erfolgreichen Bewerbungsgespräch durfte Marcel seine Masterarbeit beim DLR schreiben.
Recherchieren, Programmieren, Visualisieren
Die Vereinbarung des Themas zwischen Universität und DLR verlief reibungslos. Trotz des bereits feststehenden Themas der Masterarbeit, fühlte sich Marcel bei der Umsetzung von einzelnen Themen und Vorstellungen sehr frei: „Eine Visualisierung in 3D wurde als Idee von Andreas Schreiber direkt unterstützt. Er hat mir sowohl zu Beginn als auch bei unseren monatlichen Treffen neue Ideen vorgeschlagen. Diese habe ich natürlich versucht umzusetzen, aber generell war ich komplett frei.“ Aber was hat Computervisualistik mit der Visualisierung von neuronalen Netzen gemeinsam? Im weitesten Sinne geht es in beiden Gebieten darum, Informationen darzustellen. Bei Grafikprogrammierungen geht es um die möglichst realistische Darstellung von Materialen, wie Reflektionen, Transparenz und Oberflächenbeschaffenheit. Dies geschieht durch Informationen in Gestalt von Zahlen, die in Algorithmen abgewandelt werden und so Ergebnisse berechnen. Dies bildet die kleine Schnittstelle zwischen den zwei Themengebieten Computervisualistik und Neuronalen Netzen.
Die tägliche Arbeit von Marcel Bock bestand in der ersten Zeit darin, wissenschaftliche Arbeiten über neuronale Netze und deren Visualisierungen zu lesen. Nach diesem wichtigen ersten Schritt, hat er begonnen zu programmieren und einen Prototyp für seine Arbeit zu entwickeln. Mit Erfolg! Marcel fand heraus, dass durch seine Evaluation einige Ansprüche an Visualisierungen von neuronalen Netzen festgestellt werden konnten. Die Anforderungen sollten von der Visualisierung erfüllt werden, damit die Ergebnisse nachvollziehbarer und begründbarer werden. „Generell würde ich sagen, dass ich durch den Prototypen herausfinden konnte, dass eine Visualisierung in 3D möglich ist und auch eine Daseinsberechtigung hat“, erzählt Marcel.
Hund oder Katze?
Doch was genau sind neuronale Netze? Kurz: Maschinelle Lernverfahren. Sie werden im Allgemeinen dazu verwendet, Eingaben von Benutzern zu klassifizieren. Beispielsweise soll ein System herausfinden, ob auf einem Bild ein Hund oder eine Katze zu sehen ist. Auch wenn von Hunden und Katzen die Rede ist, dahinter steckt höhere Mathematik. Solche Systeme benötigen für solche Berechnungen viele Variablen. Das macht sie sehr komplex, besonders wenn die Klassifizierungsaufgabe schwieriger wird. Neuronale Netze sind eine Form solcher Systeme. Sie benutzen Neuronen, die letzten Endes mathematische Funktionen repräsentieren sowie Layer, denen Neuronen zugeordnet sind und letzten Endes als „Phasen“ verstanden werden können. Während einer ‚Phase‘ werden alle Neuronen, also Funktionen, des Layers gleichzeitig ausgeführt. Die Ergebnisse eines Layers werden dann an jedes Neuron des nachfolgenden Layers weitergegeben.
Für das Beispiel des Tierbildes könnte ein Neuron horizontale Linien in diesem Bild finden, ein anderes Neuron dagegen vertikale Linien. „Neuronale Netze werden visualisiert, indem die Ergebnisse ausgelesen und auf möglichst sinnvolle Art und Weise zusammengefasst werden. Der Benutzer soll am Ende sehen können, welche Funktionen genutzt wurden und wie die Ergebnisse davon aussahen.“ erklärt Marcel. Er dachte aber noch einen Schritt weiter: „Da ich aus dem Bereich der 3D-Entwicklung komme habe ich mir überlegt, ob es nicht auch möglich ist, die Ergebnisse in einer 3D-Umgebung darzustellen.“ Anstatt der bisher herkömmlichen 2D Visualisierungen, programmierte er schließlich dreidimensional. „Zum einen kann sich der Benutzer dann frei bewegen, es ist viel Platz da, um Strukturen zu visualisieren und Zusammenhänge anzuzeigen. Es könnten sogar Virtual oder Mixed Reality Brillen (HoloLens, Oculus Rift u.a.) eingebunden werden.“
Darstellung von Informationen
Das neuronale Netz hat Marcel durch Neuronen und Layer in einer 3D-Szene dargestellt. Die Layer wurden als Schichten dargestellt, die Neuronen als Kugeln. Für jedes Neuron wurden anschließend die Ergebnisse der Funktion, die das Neuron ausgeführt hat, ausgelesen und in einem Menü dargestellt. „Der Benutzer kann sich in dieser Szene frei bewegen und mit der Maus mit dem System interagieren.“ so Marcel. „Als Grundlage habe ich ein Netz genommen, dass handgeschriebene Zahlen klassifiziert.“ Wenn man also ein Bild einer Zahl eingibt, weiß das System, welche Zahl zu sehen ist. Für die Neuronen hat Marcel beispielsweise anzeigen lassen, wie das Eingabebild gefiltert wird. Dies geschieht, indem das Bild dargestellt wird, nachdem die Funktion des Neurons ausgeführt wurde. Auch einige der Variablen hat er darstellen lassen, damit die Werte kontrolliert werden können. „Diese Werte konnten auch zum Teil vom Benutzer verändert werden. Dadurch kann der Benutzer sehen, welche Auswirkungen die Veränderungen auf das System haben.“
Während seiner Arbeit stellte sich eine Frage heraus: Welche Anforderung muss eine Visualisierung erfüllen, um einen signifikanten Mehrwert zu generieren? Durch eine anschließende Evaluierung konnte Marcel seine Anforderungen festhalten. Diese sind zum Beispiel, dass Werte des neuronalen Netzes in der Szene verändert werden können. Veränderungen von Ergebnissen sollten deutlich zu erkennen sein. Zusätzlich sollten nicht nur Informationen von einzelnen Neuronen angezeigt werden, sondern auch eine Zusammenfassung aller Neuronen eines Layers.
Den Horizont erweitern
Marcel beschreibt seine Erfahrungen sehr positiv. Er fühlte sich bei seiner Arbeit stets gut unterstützt und betreut. Zusätzlich wurde ihm der nötige Freiraum gewährt, eigene Ideen zu entwickeln. Gerne denkt Marcel an weitere Erlebnissen zurück, die ihm durch das DLR ermöglicht wurden: „Ich konnte Angebote vom DLR wahrnehmen, wie eine Schulung in Hamburg (Unity-Engine) und durfte auch zu einer Konferenz nach England fliegen, was auch eine tolle Erfahrung war.“ Diese hat er in besonderer Erinnerung. „Es war spannend zu sehen, wie sich Forscher aus aller Welt treffen, um sich über aktuelle Themen auszutauschen“, berichtet Marcel. Schließlich ist es wichtig, kontinuierlich seinen Horizont zu erweitern.