Seminar Visual Computing

Wintersemester 2022/23

Themenliste

Themenauswahl Seminar Visual Computing

Wie auf der Hauptseite beschrieben, können Sie eines der unten genannten Themen auswählen; es ist aber auch möglich, eigene Vorschläge einzubringen.

Um ein Thema (verbindlich!) zu wählen, posten Sie den Namen des Papers in den Mattermost-Kanal “Themenauswahl”. Schauen Sie dort vorher nach, ob das Thema schon vergeben wurde. Falls Sie einen eigenen Vorschlag machen möchten, besprechen Sie dies bitte zunächst mit uns in den entsprechenden Treffen. Themen grundsätzlich first-come-first-served vergeben.

Hinweise zum Aufbau der Themen

Seminarvorträge: Modellierungs-Seminar “Verständnis neuronaler Repräsentationen”

Jedes Thema besteht aus ein oder mehreren Papers. Aufgabe für das Seminar ist es, die wichtigen / interessanten Inhalte diese Papers wiederzugeben. Die Entscheidung darüber, was besonders betont werden soll, liegt dabei bei den Studierenden, die das Thema bearbeiten. Teil der Bewertung ist dabei natürlich auch, wie gut diese Auswahl gelungen ist (hat man wirklich entscheidende Aspekte verstanden und gut vermittelt?). Ein Fokus auf eine Teilmenge der Inhalte ist dabei natürlich fast immer notwendig.

Bei den meisten Themen ist eine “Aufgabenstellung” für das Seminar formuliert, die dabei helfen soll, wichtige Aspekte zu identifizieren. Dies hat allerdings den Status einer Empfehlung.

Experimente für Seminarvortrag und Ausarbeitung:

Weiterhin gibt es zu jedem Thema ein oder mehrere Vorschläge für praktische Experimente. Auch dies sind Empfehlungen. Bei Schwierigkeiten ist es auch immer möglich, Experimente eines verwandten Themas durchzuführen oder auf die unten auf dieser Seite benannten “alternativen” Vorschläge für Experimente zurückzugreifen.

Die Themenvorschläge bestehen zum Teil aus mehreren Stufen: Dies ist so zu verstehen, dass man die “Ausbaustufen” der Aufgabe nacheinander bearbeiten sollte; es kann sein, dass der Zeitrahmen bereits ausgeschöpft ist, bevor alle Stufen bearbeitet wurden; die Lösung wäre dann aber trotzdem akzeptabel. In einigen Themen sind auch “alternative” Ansätze beschrieben; hier ist die Idee, dass man nur eine dieser Alternativen ausprobieren sollte.

Grundsätzlich sollten die Gestaltung des Seminarvortrages und die Ausrichtung der Experimente in den angesetzten Vorbesprechungen individuell abgesprochen werden (nur das ist dann verbindlich); auf dieser Webseite finden sich nur Themenvorschläge.

Experimente für das Praktikum: Modellierungs-Praktikums “Verständnis neuronaler Repräsentationen”

Weiterführende Experimente im Rahmen des Praktikums werden individuell abgesprochen. Ausgangspunkt sollte hierbei ein Seminarthema sein (“soll” heißt allerdings nicht “muss”; andere Themen sind nach individueller Absprache ebenfalls möglich). Es wird dabei erwartet, umfangreichere und/oder eigenständigere Experimente und Untersuchungen durchzuführen (z.B. eigenes Nachimplementieren statt Code vom Netz, genauere Analyse der Auswirkung verschiedener Parameter, etc.). Dafür sind die Anforderungen an die Ausarbeitung geringer und es ist kein aktiver Seminarbeitrag (im Rahmen des Praktikums) erforderlich.

Themenliste

Die von uns vorgeschlagenen Seminarthemen gliedern sich in fünf Gebiet (A)-(E), die verschiedene Ansätze zur Analyse von Repräsentationen tiefer Netzwerke vorstellen.

(A) Reverse-Engineering neuronaler Repräsentationen – die Basics

A.1 Gradienten: Die Ableitung der Ausgabe nach dem Bild – Eine der ersten Ideen, auf der viele Ansätze bis heute beruhen, die versuchen zu erklären, wie Netzwerke zu Entscheidungen kommen, ist, die Ausgabe (Wahrscheinlichkeit der richtigen Klasse bzw. deren logit) nach den Bildpixeln abzuleiten und das Ergebnis anzuschauen. Die Technik hat allerdings auch so ihre Tücken, wie die zweite Quelle zeigt: Die Gradienten sind oft instabil (und spätere Papers im Seminar zeigen auch, dass sie nicht immer die Information enthalten, die charakteristisch für eine Entscheidung des Netzwerkes sind).

Quellen:

Aufgabe (Seminar): Erklären Sie, wie die Visualiserung mit Hilfe von Gradienten funktioniert und erklären Sie einige der Schwierigkeiten dieses Ansatzes (wie in den angegebenen Quellen beschrieben).

Praktische Aufgabe (Vorschlag):

A.2 Invertieren von Netzwerken – wo kommen die Aktivierungen her?
Ein eng verwandter Ansatz besteht darin, zu versuchen, Urbilder für Aktivierungen höhrer Layer zu finden. Dazu gibt es verschiedene Ansätze:

Quellen:

Aufgabe (Seminar): Erklären Sie, wie die beiden verschiedenen Ansätze funktionieren.

Praktische Aufgaben (Vorschläge):

A.3 Emergente High-Level Repräsentationen – es zeigt sich, dass Aktivierungen auf “höheren” Layern eines Bilderkennungs-CNNs (also nach mehreren Verarbeitungsstufen) zunehmend abstrakte Konzepte eines Bildes kodieren, und durch Invertierung kann man diese Repräsentationen sogar dazu nutzen, Bilder zu erzeugen.

Quellen:

Aufgabe (Seminar): Erklären Sie, wie die beiden Bildstilisierer funktionieren, welche Eigenschaften der Netze sie ausnutzen, und was uns das indirekt über die (emergenten) Eigenschaften der trainierten Netzwerke verrät.

Praktische Aufgaben (Vorschläge): Hier bieten sich die gleichen Experimente wie bei Thema A.2 an (s.o.):

A.4 Lineare Abbildungen zwischen Codierungen

Man kann zwischen Featurerepräsentationen von Netzwerken übersetzen, indem man schlicht eine lineare Abbildung lernt (lineare Abbildungen berücksichtigen die in D.1 erklärten Symmetrien). Das erklärt allerdings nur einen Teil der Features; ein (typischerweise etwas kleinerer) Teil der Repräsentation lässt sich nicht linear übersetzen.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

(B) “Explainable AI (X-AI)” – (Fortgeschrittene) Versuche, zu erklären, woran ein Netzwerk Objekte erkennt

B.1 Grad-CAM – Visualisieren, wo im Bild ein CNN reagiert

Dieses Paper bildet eine lineare Näherung des “oberen Teils” eines CNNs um damit einen Detektor zu bauen, der auf Bildregionen anspricht, in denen sich relevante Teile des Objektes befinden, dass eine Klasse ausmacht.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag): Implementieren Sie eine einfache Version von CAM (oder experimentieren Sie mit Code aus dem Netz): In einem typischen Bilderkennungs-CNN (z.B. ein vortrainiertes ResNet) folgt oft lineare Klassifikation (softmax regression) auf “global average pooling”. Indem man den linearen Klassifizierer auf jedes “Pixel” vor dem Average-Pooling anwendet, kann man feststellen, wo die entscheidenen Objekte liegen könnten. Versuchen Sie herauszufinden, wo die Möglichkeiten und Grenzen dieses Ansatzes liegen.

B.2 Integrated Gradients – Gewöhnliche Bildgradienten machen diverse Probleme. Man kann das verbessern, indem man zwischen einem Basisbild und des zu erklärenden Bildes die Gradienten aufintegriert.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

B.3 Deep-Lift – Finite Differenzen statt Gradienten… …um die Visualisierung robuster zu machen.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

B.4 LIME – Lokale Approximationen komplexer Modelle mit einfacheren

Wenn man ein großen Model nicht versteht, kann man versuchen ein kleines, einfacheres (verständlicheres) an eine Teilmenge der Eingaben dranzufitten. In diesem Paper steht, wie man das machen könnte, und was dabei herausgekommen ist.

Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin: “Why Should I Trust You?”: Explaining the Predictions of Any Classifier. In: KDD ’16: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, August 2016, Pages 1135–1144.
https://arxiv.org/pdf/1602.04938.pdf

Aufgabe (Seminar): Erklären Sie wie man das machen könnte, und was dabei herausgekommen ist.

Praktische Aufgabe (Vorschlag):

B.5 SHAP – Systematisch Features Zusammenzählen

Diese Methode vereinheitlicht verschiedene frühere Ansätze in einem Modell, das (lokale) Erklärungen als Addition von Einzelfeatures darstellt, und argumentiert, wie man das am besten machen könnte.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

B.6 iGOS++ – Wenn man’s weglassen kann, dann war es wohl nicht wichtig

Eine ganz andere Idee ist es, Informationen solange wegzulassen, bis die Klassifikation nicht mehr klappt. Das ist eine robuste Idee (wcpgw?), und dieses Paper macht das systematisch, indem es per Optimierung versucht, möglichst viel Eingabesignal durch zufällige Daten aus einer geeigneten Hintergrundverteilung zu ersetzen.

Saeed Khorram, Tyler Lawson, Li Fuxin: iGOS++: integrated gradient optimized saliency by bilateral perturbations. In: CHIL ’21: Proceedings of the Conference on Health, Inference, and Learning, pp. 174–182, April 2021.
https://arxiv.org/pdf/2012.15783.pdf

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

(C) Grenzen von X-AI Ansätzen

C.1 Adversarial Examples – Dieses Flugzeug ist eine Maus.

Unsichtbare Abweichungen können einen Klassifizierer massiv in die Irre führen. Das Paper ist ein Klassiker, mit weitreichenden Konsequenzen für den praktischen Einsatz von tiefen Netzwerken.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

C.2 Sanity Checks for Saliency Maps – Die Erklärung funktioniert mit zufälligen Netzwerken?

Ups – einige bekannte Ansätze liefern die gleichen Erklärungen, auch wenn man ein Netzwerk rein zufällig initialisiert. Das klingt nicht besonders vertrauenserwecked…

Quelle:

Julius Adebayo, Justin Gilmer, Michael Muelly, Ian Goodfellow, Moritz Hardt, Been Kim: Sanity checks for saliency maps. In: NeuRIPS’18: Proceedings of the 32nd International Conference on Neural Information Processing Systems, pp. 9525–9536, December 2018.

Aufgabe (Seminar): Erklären Sie, welche Probleme hier gefunden wurden, und wie dies gelungen ist.

Praktische Aufgabe (Vorschlag):

C.3 Softmax-Funktionen sind shift-invariant …und damit kann man, zumindest theoretisch, Erklärungen manipulieren (btw: in echten Netzen scheint der Effekt weniger relevant zu sein).

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

C.4 Adversariale Angriffe auf Erklärungen Man kann nicht nur das Ergebnis manipulieren, sondern auch seine Gradienten (u.ä.); in diesem Paper steht, wie das geht:

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

(D) Topologie und Symmetrie von Repräsentationen

Tiefe Netzwerke haben interessante Repräsentationssymmetrien: Man kann leicht Mengen von Netzwerken konstruieren, die exakt die gleiche Funktion kodieren. Beim Reverse-Engineering sollte man das wissen.

D.1 Symmetrie von ReLU-Netzwerken: Permutation und Skalierung (und sonst nix)

Dieses Paper zeigt, welche equivalenten Darstellungen von funktionen es bei ReLU Netzwerken gibt.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

D.2 Mode-Connectivity – verschiedene Lösungen kann man mit stetigen Pfaden verbinden.

Die Topoologie der Loss-Landschaft eines tiefen Netzes ist interessant – die lokalen Minima sind dabei durch Pfade mit guter Performance verbunden.

Quelle:

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

D.3 The Lottery Ticket Hypothesis

Dieses Paper gibt zum ersten mal empirische Belege für etwas, was viele Betrachter aus dem Bauch heraus vermutet hätten: Das übervollständige, zufällig initialisierte Netzwerk enthält ein Teilnetz, welches “die eigentliche Arbeit macht”, und man kann dieses (nach dem Training) auch identifizieren und extrahieren.

Jonathan Frankle, Michael Carbin: The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks. In: International Conference on Learning Representations (ICLR), 2019.
https://openreview.net/forum?id=rJl-b3RcF7

Aufgabe (Seminar): Erklären Sie Ideen und Ergebnisse des angegebenen Papers.

Praktische Aufgabe (Vorschlag):

D.4 Die Lotterie vor dem Training gewinnen

Interessanterweise hat sich mittlerweile herausgestellt, dass es möglich ist, auch ohne Daten Teilnetzwerke zu bestimmen, die gute Klassifikationen liefern. Dies stellt die ganze Lotterie-Ticket-Hypothese in ein anderes Licht.

Hidenori Tanaka, Daniel Kunin, Daniel L. Yamins, Surya Ganguli: Pruning neural networks without any data by iteratively conserving synaptic flow. In: Advances in Neural Information Processing Systems (NeurIPS) 33, 2020
https://proceedings.neurips.cc/paper/2020/hash/46a4378f835dc8040c8057beb6a2da52-Abstract.html

Praktische Aufgabe (Vorschlag):

Alternative Praktische Aufgaben

Wenn Sie möchten (z.B. falls Ihre Quelle keine einfache Reproduktion erlaubt), können Sie jederzeit ein Standardthema für den Experimentalteil auswählen. Dabei stehen (mindestens) die folgenden Optionen zur Verfügung (weitere Vorschläge folgen ggf. im Laufe des Semesters):

Lineare Modelle visualisieren

Trainieren Sie eine lineare Support-Vector-Maschine oder einen logistischen Regressor (oder etwas ähnliches, z.B. einen Fischer-Discriminierer) “one-vs.-all” auf einem Standard-Benchmark wie z.B. CIFAR-10 oder MNIST. Visualisieren Sie dann dann den Normalenvektor der Hyperebene für die verschiedenen Klassen (bei der SVN; bei anderen linearen Verfahren entsprechend die linearen Parameter) als Bild und schauen Sie sich an was passiert.

Quelle: Die Idee dazu stammt aus der Machine Learning Vorlesung von Andrej Karpathy.

Eine Anleitung sowie Beispielergebnisse findet sich auch in den Folien zur Vorlesung Modellierung 2:

Die Videos (speziell V05b, V09) stehen auf auf Panopto zur Verfügung.

Deep Dream

Experimentieren Sie mit dem “Deep Dream” Verfahren, das ursprünglich von Mitarbeitern der Firma Google erfunden wurde. Hierfür stehen umfangreiche Ressourcen im Web zur Verfügung. Man kann es auch relativ einfach in PyTorch oder Tensor-Flow selbst implementieren, wenn man ein vortrainiertes tiefes Netzwerk verwendet.

Andere Papers

Sie können gerne auch mit einer Methode experimentieren, die eine Kommilitonin oder Kommilitone im Seminar vorstellt. Hier ist vielleicht auch Gruppenarbeit bei der Vorbereitung sinnvoll.

Alle Themen sollten kurz abgesprochen werden (in den Vorbereitungstreffen) und bei der Anmeldung des Themas mit angegeben werden.







Datenschutz     Impressum