Visualisierung des Trainingsprozesses eines Convolutional Neural Networks

Ein Vergleich aktueller Ansätze


Seminararbeit, 2021

24 Seiten, Note: 1,3


Leseprobe


INHALTSVERZEICHNIS

1 Einführung

2 grundlegende begriffe
2.1 Aufbau eines CNNs
2.2 Begrifflichkeiten zum Trainingsprozess

3 verwandte arbeiten

4 bestehende konzepte
4.1 InstanceFlow
4.2 DeepEyes
4.3 DeepTracker

5 vergleichende analyse
5.1 Kriterien
5.2 Analyse
5.3 Diskussion

6 Zusammenfassung und Ausblick

Literatur

ZUSAMMENFASSUNG

Convolutional Neural Networks (CNNs) werden in vielen Bereichen der In­dustrie eingesetzt. Das Training von neuronalen Netzen beansprucht viel Zeit und Computerressourcen. Zur Beschleunigung des Trainingsprozesses müssen Experten verstehen, welche Faktoren zu einer Verbesserung des CNNs führen. In diesem Zusammenhang untersucht diese Studie inwieweit Visualisierungen beim Trainingsprozess eines CNNs unterstützen können. Im Rahmen der Studie werden drei Visualisierungssysteme zur Unterstüt­zung des Trainingsprozesses vorgestellt. Diese Visualisierungssysteme wer­den in einer Analyse anhand von Kriterien verglichen. Abschließend disku­tiert diese Arbeit die Ergebnisse der Analyse indem mögliche Einsatzzwe­cke der einzelnen Visualisierungen herausgearbeitet werden. Im Ergebnis hat sich gezeigt, dass es im wissenschaftlichen Kontext bereits vielverspre­chende Visualisierungssysteme zur Unterstützung während des Trainings­prozesses gibt, allerdings ist eine intensive Einarbeitung notwendig bevor ein Nutzen für Experten entsteht.

ABBILDUNGSVERZEICHNIS

Abbildung 2.1 Aufbau eines CNNs (in Anlehnung an [Pati9])

Abbildung 4.1 Überblick: InstanceFlow [PHS20]

Abbildung 4.2 InstanceFlow: Flow View im Detail [PHS20]

Abbildung 4.3 InstanceFlow: Tabular View im Detail [PHS20]

Abbildung 4.4 Überblick: DeepEyes [Pez+17]

Abbildung 4.5 Würfelstil: DeepTracker [Liu+18]

Abbildung 4.6 Validation View: DeepTracker [Liu+18]

Abbildung 4.7 Layer View: DeepTracker [Liu+18]

Abbildung 4.8 Corr. View: DeepTracker [Liu+18]

Abbildung 5.1 Analysekriterien und Methodologie: Eine Studie ak­tueller Ansätze

EINFÜHRUNG

Seit einigen Jahren werden Convolutional Neural Networks in der Indus­trie eingesetzt. In der Automobilindustrie werden CNNs beispielsweise für selbst fahrende Fahrzeuge verwendet [Mun+18]. Die Flexibilität und der Umgang mit komplexen Problemen machen CNNs für die Industrie so in­teressant. Die Motivation für diese Arbeit ist eine Analyse aktueller Ansätze zur Visualisierung des Trainingsprozesses eines CNNs. Ein Trainingsversuch kann bei tiefen CNNs sehr lange dauern, deshalb ist es wichtig, dass die Experten den Trainingsprozess verstehen, um bei weiteren Trainingsversu­chen entsprechende Anpassungen treffen zu können. Ein neueres Paradig­ma, genannt Progressive Visual Analytics, zielt darauf ab, die Interaktion mit komplexen Machine Learning Algorithmen zu verbessern (vgl. [FPi6], [Pez+16], [SPG 14]). In diesem Zusammenhang bekommen Entwickler Visua­lisierungen der Zwischenergebnisse zur Verfügung gestellt, um das Training des Netzes besser zu verstehen. Durch die Komplexität großer neuronaler Netze müssen die Daten aggregiert werden, damit sinnvolle Visualisierun­gen möglich sind. Populäre Trainingsplattformen wie z.B. Tensorflow lie­fern während des Trainingsprozesses allerdings nur wenige Informationen, wie z.B. Trainings-/ Validierungsfehler. Diese Informationen reichen nicht aus, um den Trainingsprozess effizienter und schneller zu gestalten. In die­sem Zusammenhang wäre ein Visualisierungssystem wünschenswert, damit ein Entwickler während des Trainingsprozesses anschauliche Visualisierun­gen zur Verbesserung des Netzes erhält. Die meisten Ansätze zur Visuali­sierung des Trainingsprozesses beziehen sich auf die Merkmale (engl. fea­tures), welche während des Trainings erlernt werden. Im Weiteren haben sich nur wenige Arbeiten mit der gesamten Trainingsdynamik auseinander­gesetzt. Hieraus ergeben sich zwei Herausforderungen. Erstens besteht der Trainingsprozess aus mehreren Iterationen, hierbei müssen die Parameter sowie die Klassifikationsergebnisse abgespeichert werden. Zweitens enthält ein Trainingsprozess mehrere heterogene Informationen. Neben der Struktur des neuronalen Netzes, gibt es die numerischen Gewichte und die Bilddaten­sätze. Diese Daten enthalten wichtige Informationen, wodurch die Entwick­ler bei der Konzeption eines CNNs wertvolle Erkenntnisse erhalten. Aus diesen Herausforderungen wurden folgende Forschungsfragen abgeleitet:

- (RQi) Welche aktuellen Ansätze gibt es zur Visualisierung des Trai­ningsprozesses eines neuronalen Netzes?
- (RQ2) Wie können Visualisierungen im Trainingsprozess von CNNs zur Verbesserung des Netzes beitragen?

Diese Studie zeigt Visualisierungsansätze für den Trainingsprozess eines CNNs auf. Zunächst wird der Ansatz mit dem Namen InstanceFlow von

Pühringer u. a. [PHS20] analysiert. Anschließend wird das Visualisierungs­system DeepEyes von Pezzotti u. a. [Pez+17] untersucht. Außerdem wird das Visualisierungssystem DeepTracker von Liu u.a. [Liu+18] analysiert, da dieser Ansatz eine neuartige Visualisierung im Würfelsystem eingeführt hat. Als Ergebnis hat sich gezeigt, dass Visualisierungen beim Trainingsprozess als unterstützendes Element hilfreich sind. Die Arbeit beschäftigt sich zu­nächst mit den grundlegenden Begrifflichkeiten eines CNNs, um ein einheit­liches Verständnis hinsichtlich der Begriffe zu vermitteln. Anschließend wer­den die drei Visualisierungssysteme vorgestellt und schließlich durch eine vergleichende Analyse anhand ausgewählter Kriterien untersucht. In einer anschließenden Diskussion werden die Ergebnisse der Analyse in Bezug auf die Forschungsfragen diskutiert.

2 GRUNDLEGENDE BEGRIFFE

2.i aufbau eines cnns

Ein Convolutional Neural Network gehört zu den Deep Learning Metho­den und wird hauptsächlich für die maschinelle Verarbeitung von Bild-, Video- und Audiodateien verwendet (vgl. [SS20]). In diesem Zusammen­hang spricht man von tiefen neuronalen Netzen. Außerdem sind CNNs dem Teilgebiet des Überwachten Lernens (engl. supervised learning) zu zuord­nen. Die Abbildung 2.1 veranschaulicht den typischen Aufbau eines CNNs. Ein CNN enthält mehrere Schichten (engl. layer), wobei die Eingabe-Bilder

Anmerkung der Redaktion: Diese Abbildung wurde aus urheberrechtlichen Gründen entfernt.

Abbildung 2.1: Aufbau eines CNNs (in Anlehnung an [Pati9])

durch diese Schichten transformiert werden. In diesem Zusammenhang ent­hält eine typische CNN-Architektur Convolutional Layer (Conv-Layer), Poo­ling Layer (Pool-Layer) und Fully-connected Layer (FC-Layer). Der Weg der Eingabedaten durch das CNN erfolgt von der Eingabeschicht bis zur Aus­gabeschicht und wird als Feedforward bezeichnet. Zunächst durchläuft ein Bild einen Conv-Layer, der mehrere Faltungsoperationen auf das Bild an­wendet. In der Abbildung 2.1 werden im ersten Conv-Layer 32 Faltungs­kerne auf die Bilder angewendet. Anschließend normalisiert eine Aktivie­rungsfunktion die Eingangssignale. Bei CNNs ist die ReLu-Aktivierungs- funktion geeignet. Die Abkürzung steht für rectified linear unit und ist defi­niert als fReLU(c) = max (0,c) [SS20]. Im nächsten Schritt wird auf dem ers­ten Pool-Layer ein Max-Pooling angewendet. Ein Pool-Layer befindet sich in der Regel zwischen zwei Conv-Layer, um die Größe der Bilder durch ei­ne Downsampling-Operation zu reduzieren. Hierdurch wird die Menge an Modellparametern und die Anzahl der Berechnungen reduziert [Sta]. Durch das Max-Pooling sind CNNs relativ translations- und skalierungsinvariant. Im letzten Schritt durchlaufen die Daten ein Fully-connected Neural Net­work mit einem Klassifikator (z.B. Softmax). In diesem Beispiel findet eine Klassifikation von handgeschriebenen Zahlen statt.

2.2 begrifflichkeiten zum Trainingsprozess

Dieser Abschnitt legt die zentrale Begrifflichkeiten (kursiv markiert) des Trai­ningsprozesses dar, die für den weiteren Verlauf der Arbeit wichtig für das Verständnis sind. Beim Training eines CNNs werden die Bilddaten zunächst in kleine Pakete, die sogenannten Batches, unterteilt. Des Weiteren werden die Gewichte in den Faltungsschichten zufällig initialisiert. Das CNN be­rechnet schließlich für jedes Bild eines Batches ein Klassifikationsergebnis. Die berechneten Ergebniswerte am Ausgang des Netzes besitzen einen Feh­ler im Vergleich zu den wahren Ergebniswerten. Die Rückführung der Feh­ler nennt man Backpropagation, wobei hierbei die Fehler pro Knoten berech­net werden. Abschließend wird das Gradientenabstiegsverfahrens zur Minimie­rung der Fehlerterme eingesetzt. Wenn die Minimierung der Fehlerterme für die gemittelten Fehler aus einem Batch durchgeführt wird, spricht man von einem Mini-Batch-Gradientenabstiegsverfahren [NSi8]. In diesem Zusammen­hang werden auch die Gewichte in den Faltungskernen aktualisiert. Nach­dem alle Batches abgearbeitet sind, ist eine sogenannte Epoche abgeschlossen. Nach jeder Epoche werden die Bilder neu gemischt. Anschließend beginnt ein weiterer Trainingsprozess. Dieses Vorgehen wird solange wiederholt bis der Entwickler mit dem Ergebnis des CNNs zufrieden ist.

3. VERWANDTE ARBEITEN

Im wissenschaftlichen Kontext gibt es einige Studien, die sich mit der Visua­lisierung von neuronalen Netzen während des Trainingsprozesses beschäf­tigt haben. Grundsätzlich unterteilen sich die Ansätze in feature-orientiert oder evolutions-orientiert. Bei den Feature-orientierten Ansätzen wird unter­sucht wie sich ein CNN auf ein bestimmtes Eingabebild verhält. Evolutions­orientierte Ansätze konzentrieren sich auf die komplette Dynamik des Trai­ningsprozesses. Ein Vergleich unterschiedlicher Visualisierungsmethoden ha­ben die Autoren Hohman u.a. in ihrer Arbeit [Hoh+18] durchgeführt. Die Autoren Hohman u. a. präsentieren in ihrer Arbeit eine Übersicht über die Rolle der Visual Analytics in der Deep Learning Forschung, wobei das gan­ze Themenspektrum von Deep Learning miteinbezogen wird. Die Autoren Qin u. a. veranschaulichen in ihrer Arbeit [Qin+i8] unterschiedliche Visuali­sierungsmöglichkeiten in Bezug auf CNNs. Hierbei haben die Autoren den Fokus auf die feature-orientierten Ansätze gelegt.

Die Arbeit von Hohman u.a. dient dazu sich einen allgemeinen Über­blick über die vorhandenen Visualisierungsmöglichkeiten in Bezug auf Deep Learning Verfahren zu verschaffen. Die Arbeit von Qin u. a. vergleicht hinge­gen unterschiedliche Methoden der Visualisierung eines CNNs aus feature­orientierter Perspektive. Diese Arbeit grenzt sich von den bisherigen Studi­en ab, weil diese Arbeit den Fokus auf evolutions-orientierte Ansätze zur Visualisierung des Trainingsprozesses eines CNNs legt. In diesem Zusam­menhang werden drei vielversprechende Visualisierungssysteme analysiert und deren Einsatzmöglichkeiten diskutiert.

4. BESTEHENDE KONZEPTE

Zunächst wird der Ansatz InstanceFlow von Pühringer u. a. aus dem Jahr 2020 [PHS20] vorgestellt. Schließlich wird auf DeepEyes von Pezzotti u. a. aus dem Jahr 2018 [Pez+17] eingegangen, welches die Identifikation von Problemen (z.B. überflüssige Schichten) erleichtert. Als letzter Ansatz erfolgt die Betrachtung von DeepTracker der Autoren Liu u.a. aus dem Jahr 2018 [Liu+18], da dieses System für den Industrieeinsatz entwickelt wurde. Die zentralen Konzepte der einzelnen Systeme sind kursiv hervorgehoben.

4.1 instanceflow

InstanceFlow ist ein Dual-View Visualisierungstool, dass die Analyse des Lernverhaltens eines neuronalen Netzes ermöglicht. Es richtet sich an Mo­dellentwickler, die einen Überblick zum Trainingsprozess eines Deep Lear­ning Netzes haben möchten. Die Abbildung 4.1 zeigt die beiden Ansichten Flow-View (A) und Tabular-View (B, C) überblicksartig. Für die Erläuterun­gen von InstanceFlow werden die Abbildungen 4.2 und 4.3 herangezogen. Zunächst wird auf die Flow-View Darstellung eingegangen. Die Flow-View vi-

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4.1: Überblick: InstanceFlow [PHS20]

sualisiert durch ein Sankey-Diagramm1 den Fluss der Instanzen farblich über die Epochen hinweg, wodurch Klassenwechsler zwischen den unterschied­lichen Epochen identifiziert werden können. Die Instanzen sind in diesem Kontext die einzelnen Bilder. In der Abbildung 4.2 (oben links) ist dieser Datenfluss zu sehen, wobei die x-Achse die Epochen und die y-Achse die Klassen angibt. Die einzelnen Klassen haben unterschiedliche Farben. Je brei­ter ein Fluss ist, desto mehr Instanzen wechseln die Klassen während des Trainingsprozesses. Der Entwickler kann bestimmte Klassen auswählen, die schließlich im Sankey-Diagramm angezeigt werden. Alle nicht ausgewählten

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4.2: InstanceFlow: Flow View im Detail [PHS20]

Klassen werden als Other aggregiert und ebenfalls im Diagramm angezeigt. Der Bereich der zu visualisierenden Epochen kann ebenfalls ausgewählt wer­den. Diese Auswahl der Klassen und Epochen ist in Abbildung 4.1 (oberer Bereich) zu sehen. In diesem Fall wurden die Epochen drei bis acht ausge­wählt. Im Weiteren können die Distribution Bar Charts (siehe Abb. 4.2 oben rechts) aktiviert werden. Hierbei wird die Klassenverteilung zu jeder Epo­che dargestellt. Diese Darstellung hat die gleiche Aussage wie die Breite der Flussbänder, allerdings ermöglichen diese Balkendiagramme einen quantita­tiven Vergleich. Die Instance Glyphs (siehe Abb. 4.2 unten links) zeigen eine detaillierte Ansicht, indem die einzelnen Instanzen durch Rechtecke darge­stellt werden. Die Farbe zeigt die tatsächliche Klasse an und die Form zeigt an, ob die Instanz-Vorhersage zeitlich stabil ist. Eine detaillierte Erklärung kann dem Paper [PHS20] entnommen werden. Die Instance Traces (siehe Abb. 4.2 unten rechts) ermöglichen die Spuren bestimmter Instanzen zu verfolgen. In diesem Zusammenhang wird farblich visualisiert, ob sich eine Instanz in die richtige oder falsche Klasse bewegt. Die Farbe grün signalisiert, dass die Instanz in die richtige Klasse gewechselt ist. Bei einer roten Linie ist die Instanz in einer Epoche falsch klassifiziert worden.

[...]


1 Ein Sankey-Diagramm ist eine spezielle Art eines Flussdiagramms, wobei die Mengen durch mengen-proportionale dicke Pfeile dargestellt werden. (vgl. [Hon19])

Ende der Leseprobe aus 24 Seiten

Details

Titel
Visualisierung des Trainingsprozesses eines Convolutional Neural Networks
Untertitel
Ein Vergleich aktueller Ansätze
Hochschule
Hochschule Darmstadt
Veranstaltung
Hauptseminar
Note
1,3
Autor
Jahr
2021
Seiten
24
Katalognummer
V1041175
ISBN (eBook)
9783346461919
Sprache
Deutsch
Schlagworte
CNN, Convolutional Neural Networks, Deep Learning, Visualisierung, Neuronale Netze, Computer Vision
Arbeit zitieren
Janik Tinz (Autor:in), 2021, Visualisierung des Trainingsprozesses eines Convolutional Neural Networks, München, GRIN Verlag, https://www.grin.com/document/1041175

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Visualisierung des Trainingsprozesses eines Convolutional Neural Networks



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden