Deep-Learning-Methoden verzeichnen große Erfolge für viele Vorhersage-Aufgaben, wodurch das Interesse an solchen Verfahren immer weiter steigt. Ein Vertreter von Deep-Learning-Methoden, die mit Bildern oder Videos arbeiten, sind Convolutional Neural Networks (CNNs). CNNs enthalten mehrere hunderte Layer, tausende von Neuronen und Millionen von Verbindungen, wodurch das Verständnis von komplexen CNNs eine große Herausforderung darstellt. Bisherige Visualisierungsansätze beschäftigen sich häufig entweder mit der Mathematik oder der Modellarchitektur. In dieser Arbeit werden Kriterien für eine ganzheitliche Visualisierung von CNNs herausgearbeitet, damit sowohl die Mathematik als auch die Modellarchitektur in den Visualisierungen Berücksichtigung finden. Diese Kriterien werden auf bestehende Konzepte aus der Literatur angewendet und abschließend diskutiert.
INHALTSVERZEICHNIS
1 Einführung
2 Grundlagen
2.1 Convolutional Neural Networks
2.2 Arten von Visualisierung
3 verwandte arbeiten
4 bestehende konzepte
4.1 CNN Explainer
4.2 ActiVis
4.3 CNNVis
5 vergleichende analyse
5.1 Kriterien
5.2 Analyse
6 Diskussion
7 Zusammenfassung und Ausblick
Literatur
ZUSAMMENFASSUNG
Deep Learning Methoden verzeichnen große Erfolge für viele Vorhersage Aufgaben, wodurch das Interesse an solchen Verfahren immer weiter steigt. Ein Vertreter von Deep Learning Methoden, die mit Bildern oder Videos arbeiten, sind Convolutional Neural Networks (CNNs). CNNs enthalten mehrere hunderte Layer, tausende von Neuronen und Millionen von Verbindungen, wodurch das Verständnis von komplexen CNNs eine große Herausforderung darstellt. Bisherige Visualisierungsansätze beschäftigen sich häufig entweder mit der Mathematik oder der Modellarchitektur. In dieser Arbeit werden Kriterien für eine ganzheitliche Visualisierung von CNNs herausgearbeitet, damit sowohl die Mathematik als auch die Modellarchitektur in den Visualisierungen Berücksichtigung finden. Diese Kriterien werden auf bestehende Konzepte aus der Literatur angewendet und abschließend diskutiert. Im Ergebnis hat sich gezeigt, dass vielversprechende Ansätze zur Visualisierung von CNNs bestehen, allerdings sind diese meistens nicht öffentlich als Anwendung verfügbar.
ABBILDUNGSVERZEICHNIS
Abbildung 2.1 Aufbau eines Convolutional Neural Networks (i.A. an [Pati9])
Abbildung 4.1 CNN Explainer [Wan+2ob]
Abbildung 4.2 Interactive Formula View [Wan+2ob]
Abbildung 4.3 ActiVis Ansicht [Kah+17] io
Abbildung 4.4 DAG Transformation [Liu+16]
Abbildung 4.5 CNNVis Ansicht [Liu+16]
Abbildung 4.6 Neuronen Aktivierungen Matrix Visualisierung [Liu+16]
Abbildung 5.1 Analyseergebnisse
EINFÜHRUNG
Deep Learning bezeichnet eine spezifische Methodik aus dem Bereich Machine Learning, die sich auf den Einsatz von künstlichen neuronalen Netzen konzentriert. Der Fokus liegt dabei immer auf dem Erlernen von Strukturen in den Daten, sodass Inferenzen1 auf neuen Datensätze erfolgen können. In einigen Forschungsdomänen und im Industrieeinsatz haben Deep Learning Ansätze bereits vielversprechende Ergebnisse erzielt, wodurch das Interesse an diesen Verfahren stetig steigt. Beispiele hierfür sind autonome Fahrzeuge, AlphaGo2 oder Industrieroboter.
Außerdem sind Open Source Toolkits und Deep Learning Bibliotheken zum Bauen, Trainieren und Evaluieren von Modellen mittlerweile sehr robust und einfach zu verwenden, deshalb ist die Hürde zum Entwickeln neuer Modelle so niedrig wie nie zuvor [Hoh+18]. Eine Konsequenz daraus ist, dass die Entwicklung von neuen Deep Learning Modellen zu einer großen Anzahl von unterschiedlichen Architekturen der jeweiligen Netze führt. An dieser Stelle können Visualisierungen zum besseren Verständnis neuer Modelle beitragen.
Im Weiteren beschäftigen sich bisherige Ansätze häufig nur mit der Mathematik oder der Modellstruktur. Tools, die sich mit dem Verständnis der Modellstruktur beschäftigen, sind bspw. ConvNetJS MNIST Demo [Kari6], TensorFlow Playground [Smi+17] und GANLab [Kah+18]. Diese Tools sind allerdings oftmals rudimentär aufgebaut, da sie den Einstieg in die Deep Learning Welt vereinfachen sollen. Außerdem existieren bereits erste Arbeiten, die untersuchen, wie Deep Learning Verfahren mithilfe von Virtual Reality verständlicher dargestellt werden können [Meii9].
Diese Arbeit beschränkt sich auf das Themengebiet Convolutional Neural Networks (CNNs). CNNs stellen eine Klasse von Deep Learning Methoden dar, die mit Videos oder Bildern trainiert werden. Der zentrale Schwerpunkt der Arbeit liegt dabei vor allem auf computergraphischen Visualisierungstechniken, mit welchen die Verständlichkeit von Deep Learning Verfahren verbessert werden kann. Hieraus ergeben sich zwei konkrete Forschungsfragen:
- (RQi) Welche aktuellen Ansätze zur Visualisierung der Funktionsweise von CNNs bestehen bereits?
- (RQ2) Wie können Visualisierungen zur Erklärbarkeit von komplexen CNNs beitragen?
Die Arbeit nimmt zunächst Bezug auf die grundlegenden Begriffe im Zusammenhang mit CNNs. In einem weiteren Abschnitt werden drei beste- hende Konzepte vorgestellt. Als Erstes wird der CNN Explainer [Wan+2ob], [Wan+2oa] vorgestellt, welcher intuitive und interaktive Visualisierungen bereitstellt. Als zweites Konzept wird in die Anwendung ActiVis [Kah+17] eingeführt, welches ein umfassendes Visualisierungssystem für Deep Learning Experten ist. Das dritte Konzept wird als CNNVis [Liu+16] bezeichnet und stellt Methoden zur Aggregation von komplexen CNNs dar. Auf Grundlage dieser Konzepte wird eine vergleichende Analyse anhand ausgewählter Kriterien durchgeführt. Der Fokus liegt in der Analyse auf der ganzheitlichen Visualisierung eines CNNs. In einer anschließenden Diskussion werden die Analyseergebnisse in Bezug auf die Forschungsfragen diskutiert.
2 GRUNDLAGEN
2.i convolutional neural networks
In diesem Abschnitt wird die grundlegende Funktionsweise eines CNNs erklärt. Es wird sich dabei auf die notwendigen Begrifflichkeiten, die für diese Arbeit relevant sind, beschränkt.
CNNs gehören zu den Verfahren des überwachten Lernens (engl. supervised learning), das heißt es werden gelabelte Daten zum Training benötigt. Die Architektur eines CNNs setzt sich aus zwei wesentlichen Abschnitten zusammen: dem Kodierungs- und dem Prädiktionsblock. Der Kodierungsblock besteht aus einer Folge von Convolutional Layer (Faltungsschicht), Activation Layer (Aktivierungsschicht) und Downsampling-Layer wie bspw. das Max-Pooling (vgl. [SS20], S. 199). Im Weiteren ist anzuführen, dass sich die Berechnungen in einem CNN in zwei grundlegende Richtungen unterteilen: in das Feedforward und in die Backpropagation. Beim Feedforward fließen die Eingabedaten von der Eingabeschicht zur Ausgabeschicht. Die Backpropagation wird durchgeführt, wenn durch das Feedforward Ausgabewerte vorliegen. Bei der Backpropagation wird das Netz von der Ausgabeschicht zur Eingabeschicht durchlaufen, wobei Fehler für alle Ausgabeknoten auf Basis des Zielwertes im Netz verteilt werden. Durch die Backpropagation werden die Parameter des Netzes optimiert und damit das Netz trainiert. Diese Arbeit beschäftigt sich allerdings ausschließlich mit trainierten Netzen, deshalb wird im Folgenden nur das Feedforward erklärt.
In Abbildung 2.1 ist ein einfaches CNN dargestellt. In der Literatur werden CNNs häufig in dieser Form kompakt dargestellt. In Bezug auf RQi stellt diese Abbildung einen ersten Ansatz zur Visualisierung der Funktionsweise von CNNs dar. CNNs werden häufig zur Klassifikation von Objekten in Bildern oder Videos verwendet. In dem dargestellten CNN soll die Zahl sieben klassifiziert werden. Die grundlegende Funktionsweise eines CNNs lässt sich an einem speziellen Beispiel verständlich erklären. Das Bild hat eine Auflösung von 28x28 Pixeln. Zunächst werden im Kodierungsblock mehrere Faltungsmatrizen auf das Bild angewendet. Die Faltungen werden im Convolutional Layer durchgeführt. In diesem Beispiel werden Faltungskerne der Größe 3x3 eingesetzt. Der Parameter padding ist notwendig, da somit die Faltungsoperationen auch auf die äußeren Pixel im Bild angewendet werden können. Im Beispiel wurde das Bild an den Rändern um einen Pixel (padding = 1) erweitert. Der Parameter stride bezeichnet die Schrittweite, mit welcher die Faltungsmatrizen über das Bild laufen. Die Aktivierungsfunktionen normalisieren die Ausgabe aus dem Convolutional Layer auf einen bestimmten Wertebereich. Bei der Aktivierungsfunktion ReLU (rectified linear unit) werden alle negativen Werte auf Null abgebildet und alle positiven Werte blei-
Anmerkung der Redaktion: Diese Abbildung wurde aus urheberrechtlichen Gründen entfernt.
Abbildung 2.1: Aufbau eines Convolutional Neural Networks (i.A. an [Pati9])
ben erhalten. Als Nächstes folgt der Downsampling-Layer, in welchem das Pooling angewendet wird. Das Pooling wird auf die Ausgabedaten des vorherigen Layers angewendet. Durch das Pooling werden die weitergereichten Daten reduziert. In der Abbildung wird ein Max-Pooling mit dem Kernel 2x2 eingesetzt, dadurch verkleinern sich die Feature-Maps um die Hälfte. Das Ergebnis ist eine Feature-Map mit der Größe 14x14. Im zweiten Abschnitt des Kodierungsblocks wird das aufgezeigte Vorgehen erneut durchgeführt. Die Ausgabe des Kodierungsblocks sind 64 Feature-Maps mit einer Größe von 7x7. Diese Feature Maps werden im Prädiktionsblock als Eingabe in ein voll verbundenes Neuronale Netz (engl. fully-connected neural network) gegeben. In einem voll verbundenen Neuronalen Netz sind alle Neuronen einer Schicht mit der jeweiligen benachbarten Schicht vernetzt. Das voll verbundene Neuronale Netz führt schließlich auf Grundlage der Eingabedaten eine Inferenz durch.
2.2 arten von Visualisierung
In [Sei+17] werden einige Arten von Visualisierungen herausgearbeitet, welche im Kontext von Deep Learning Netzen eingesetzt werden. Diese werden im Folgenden kurz erläutert.
Pixel Displays sind rechteckige Bilder, bei denen sich jeder Farbwert eines Pixel aus der Netzwerkaktivierung ergibt. Heatmaps sind ein Spezialfall von Pixel Displays, bei welchen der Wert für jedes Pixel eine akkumulierte Menge darstellt. Es wird dabei ein definiertes Farbschema verwendet. Bei Similarity Layouts liegen ähnliche Datenpunkte nahe beieinander und unähnliche weiter voneinander entfernt. Es müssen jeweils geeignete Ähnlichkeitsmaße gefunden werden. Eine Confusion Matrix zeigt die Beziehung zwischen wahren und vorhergesagten Klassen in einer Matrix an. Ähnlich zu Heatmaps können die einzelnen Zellen eingefärbt werden. Die Diagonale zeigt die korrekten Klassifizierungen an und alle anderen Werte außerhalb sind Fehler. Ein Node-Link Diagramm bezeichnet die Visualisierung von Graphen, in welchem Knoten Objekte und Verbindungen Beziehungen zwischen Objekten repräsentieren. (vgl. [Sei+17])
3. VERWANDTE ARBEITEN
Es existieren einige Ansätze aus der Literatur, die sich mit der Analyse von Visualisierungstechniken im Deep Learning Umfeld beschäftigen. In den Arbeiten [Hoh+18], [Sei+17], [CL18] werden unterschiedliche Ansätze zur Visualisierung von Deep Learning Methoden übersichtlich herausgearbeitet. In [Hoh+18] wird dabei der Stand der Technik zusammengefasst, indem ein menschenzentrierter Fragerahmen zum Einsatz von Visualisierungen verwendet wird. Dieser Fragerahmen bezieht sich auf die fünf W's (Warum, Wer, Was, Wann, Wo) und das Wie. Außerdem wird herausgestellt, dass es drei unterschiedliche Gruppen von Personen gibt, die Visualisierungen im Deep Learning Bereich einsetzen. Es gibt die Modell Entwickler, die Modell Nutzer und die Nicht-Experten.
Die bisherigen Arbeiten beschäftigen sich entweder mit einem Gesamtüberblick oder beschreiben spezifische Umsetzungen von Visualisierungen. In den Arbeiten [Hoh+18], [CL18] wird als Forschungsproblem angeführt, dass es effektivere und effizientere Visualisierung für große Modelle geben müsse. Im Weiteren können visuelle Darstellungen und hilfreiche Interaktionsmöglichkeiten in Benutzeroberflächen zu großen Durchbrüchen beim Verständnis neuronaler Netze führen [Hoh+18], [CL18]. In diesem Zusammenhang setzt diese Arbeit an. Es werden drei unterschiedliche Konzepte zur Visualisierung von CNNs vorgestellt und anhand ausgewählter Kriterien analysiert. Eine verständliche Darstellung von CNNs ist nur möglich, wenn Kriterien für eine ganzheitliche Darstellung bestehen. Diese Kriterien werden in dieser Arbeit herausgearbeitet und sollen als Denkanstoß für zukünftige Visualisierungssysteme dienen.
4. BESTEHENDE KONZEPTE
In wissenschaftlichen Arbeiten werden einige Vorschläge zur Visualisierung von neuronalen Netzen und speziell für CNNs aufgezeigt. In dieser Arbeit wurden drei Konzepte zur Analyse ausgewählt, die im Folgenden beschrieben werden. Zunächst wird der CNN Explainer [Wan+2ob], [Wan+2oa] vorgestellt, da dieser ein CNN auf verschiedenen Abstraktionsebenen veranschaulicht. Als zweites Konzept wird ActiVis [Kah+17] vorgestellt, welches in Zusammenarbeit mit Facebook entstanden ist. Das dritte Konzept nennt sich CNNVis [Liu+16] und wurde in Zusammenarbeit mit Deep Learning Experten erstellt. Die Konzepte dieser drei Arbeiten wurden bereits praktisch implementiert, wodurch sie neben theoretischen auch praktische Vorschläge zur Visualisierung von CNNs geben.
4.1 cnn explainer
In der Arbeit [Wan+2ob] wird der CNN Explainer vorgeschlagen. Dieses Konzept beschreibt, wie trainierte CNNs visuell verständlich beim Feedforward dargestellt werden können. Der CNN Explainer hat das Ziel die Struktur und die grundlegende Mathematik zu erklären. Im Weiteren adressiert der CNN Explainer das Zusammenspiel zwischen globaler Modellstruktur und lokalen Layer-Operationen, da dies als eines der Hindernisse beim Verständnis von Deep Learning Methoden identifiziert wurde (vgl. [Wan+2ob]). Die Visualisierungsmethoden, die im CNN Explainer Anwendung finden, wurden durch Befragungen von vier Deep Learning Experten und 19 ehemaligen Studenten abgeleitet [Wan+2ob]. Im Weiteren bietet der CNN Explainer eine interaktive Weboberfläche3, die sowohl eine abstrahierte als auch eine Detailansicht bietet.
Die Visualisierungsoberfläche des CNN Explainers ist in die drei Abstraktionsebenen unterteilt: Overview (A), Elastic Explanation View (B) und Interactive Formula View (C). In Abbildung 4.1 sind diese Abstraktionsebenen gezeigt.
Im Weiteren wird als trainiertes CNN ein Tiny VGG4 Modell verwendet, welches die gleichen Convolutional Layer wie das ursprüngliche VGG Model verwendet, allerdings mit weniger Layern. Das Tiny VGG Model kann zehn Bilder klassifizieren. Der CNN Explainer ist auf dieses eine Modell beschränkt, dennoch zeigen die Autoren mit ihrer Implementierung, wie CNNs intuitiv visualisiert werden können. Im Folgenden werden die Abstraktionsebenen mit den Visualisierungsmöglichkeiten erläutert.
[...]
1 Der Begriff Inferenz bezieht sich auf die Verwendung eines trainierten Machine Learning Modells, um Vorhersagen treffen zu können. (vgl. [DeBi9])
2 https://deepmind.com/research/case-studies/alphago-the-story-so-far (Zugriff: 07.02.2021)
3 https://poloclub.github.io/cnn-explainer/ (Zugriff: 18.o2.2o21)
4 Das ursprüngliche VGG Modell wurde von Forschern der Oxford Visual Geometry Group (kurz: VGG) entwickelt.
-
-
-
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X.