Online Seminar & Praktikum “Deep Learning”
Wintersemester 2020/21
Übersicht
Thema und Ziel
Das Ziel des Seminars und Praktikums ist es, einen online Kurs für Deep Learning zu erstellen, in dem die Grundlagen dieses Gebietes erklärt werden.
Jede(r) Teilenehmer/in erhält dazu ein Thema, indem ein grundlegender Aspekt des tiefen Lernens (z.B. Backpropagation) behandelt wird mit der Aufgabe, hierzu online-Materialien zu erstellen, die diesen genauer erklären:
Jede(r) Seminarteilnehmer/innen:
- Erstellt ein Video mit einer erklärenden Präsentation zu dem Thema
- Das Video ersetzt den sonst üblichen Vortrag im Seminar.
- Das Video sollte ca. 10-20min lang sein.
- Eine Webseite mit einer Ausarbeitung
- Die Webseite ersetzt die sonst übliche Ausarbeitung.
Jede(r) Praktikumsteilnehmer/innen:
- Führt Experimente zu einem Thema des tiefen Lernens durch.
- Erstellt eine Webseite, die die Ergebnisse illustriert
- Die Webseite sollte Bilder und ggf. Videos oder andere interaktive Elemente enthalten, die die Ergebnisse der Experimente darstellen.
Die Beiträge werden über das Semester entwickelt, wobei in mehreren (online-) Treffen technische und didaktische Probleme diskutiert werden, und die Teilnehmer/innen sich gegenseitig Feedback zu den Ergebnissen geben. Zum Ende des Semesters müssen die finalen Ergebnisse vorliegen (Video, Webseite).
Das wichtigste didaktische Ziel der Veranstaltung ist, zu lernen, wie man komplexere Sachverhalte in einem Vortrag bzw. in schriftlicher Form vermittelt. Besonderes Augenmerkt liegt hierbei auf der Nutzung elektronischer Medien. Da die Themen eher grundlegend sind, wird besonderes Gewicht auf die didaktische und gestalterische Qualität gelegt. Ein zweites Ziel ist es, etwas über die Techniken des tiefen Lernens zu lernen – man versteht viele Dinge am besten, wenn man Sie selbst erklären muss (sozusagen eine invertierte Vorlesung).
Das Format der Veranstaltung wurde natürlich auch deswegen gewählt, da es sich besonders gut für eine “rein digitale” “virtuelle” Veranstaltung eignet, wie sie in diesem Semester gebraucht wird.
Am Ende der Veranstaltung werden die Ergebnisse allen Teilnehmer/innen der Veranstaltung zugänglich gemacht. Auch eine weitergehende Veröffentlichung (andere Studierende oder weltweit) ist möglich, aber optional.
Bedingungen und Bewertung
Grundsätzlich handelt es sich auch bei dieser Veranstaltung um ein Seminar/Praktikum wie in früheren Jahren, und die Anforderungen sind ähnlich:
- Der Seminarvortrag (nun Video) soll die entscheidenden Aspekte des Themas klar und korrekt vermitteln.
- Die Auswahl der richtigen thematischen Schwerpunkte ist Teil der Aufgabenstellung
- Eine gute Strukturierung des Themas und leicht nachvollziehbare Vermittlung sind ebenso eine wichtige Anforderung.
- Das Praktikum soll ein interessantes Experiment durchführen, welches das Wissen in dem Gebiet um praktische Erfahrungen anreichert.
Allerdings werden besondere Schwerpunkte gesetzt:
Seminar:
- Die didaktische Qualität wird besonders stark bewertet.
- Versteht man gut, was erklärt wird?
- Ist das, was erklärt wird, interessant und tiefergehend? (Trivialitäten kann man immer sehr einfach erklären; die Kunst besteht darin, auch etwas komplizierteres gut zugänglich zu erklären.)
- Die Gestaltung der elektronischen Medien (Video und Webseite) ist Teil der Bewertung. Dies trifft in jedem Seminar zu, hat aber in dieser Veranstaltung etwas mehr Gewicht.
- Grundlage der Bewertung ist, wie gut didaktische Ziele erreicht werden, und ob der Zuschauer/Leser Freude beim Anschauen/Lesen hat.
- Es geht nicht darum, möglichst aufwendige Technik zu nutzen (wobei dies natürlich nicht verboten ist).
- Falsche oder zu oberflächliche Darstellungen führen natürlich wie in jedem Seminar zu Abwertungen (die Bewertung kann nicht besser sein, als “wie richtig” die Abgabe war).
Praktikum:
- Anders als in den Vorjahren, muss auch im Praktikum eine Ausarbeitung erstellt werden.
- Auch hierbei wird Gestaltung und Didaktik wie oben beschrieben mit bewertet (es gibt im Praktikum keine Noten, aber eine ansprechende Aufarbeitung wird erwartet).
Im Internet finden sich diverse (populär-)wissenschaftliche Videos und Blogbeiträge, anhand derer man sich inspirieren lassen kann (z.B. die bekannten Youtube-Kanäle von “kurzgesagt”, “scishow”, “3brown1blue”, “numberphile” und anderen, oder die Artikel von distill.pub).
Da die Materialien später (zumindest den Teilnehmer/innen) verfügbar gemacht werden sollen (und müssen), gelten schärfere Bedingungen für die Gestaltung der Abgaben (für Seminar und Praktikum):
- Keine fremden Materialien: Es ist nicht zulässig, Bilder, Videos oder andere Materialien aus fremden Quellen zu übernehmen. Der Text und alle Graphiken, Animation und andere Medienelemente müssen eigenhändig erstellt werden.
- Zitate und Quellen: Die verwendeten Quellen, die zur Erstellung des Vortrags / der Ausarbeitung herangezogen wurden, müssen aufgeführt werden. Wörtliche übernommene Zitate müssen kenntlich gemacht werden und rechtlichen Anforderungen für eine Veröffentlichung entsprechen; man kann z.B. nicht einfach ein Kapitel aus einem Lehrbuch “zitieren”, auch wenn man das Zitat kennzeichnet. Bei Ergebnissen anderer Arbeiten (z.B. Bilder von Ergebnissen) ist einer Übernahme nur erlaubt, wenn die Urheber dies ausdrücklich erlauben. Dies muss in der Abgabe durch einen Quellenvermerk mit Lizenzangabe explizit vermerkt werden.
- Datenschutz: Aufgrund aktueller Gesetzgebung ist die Nutzung personenbezogener Informationen rechtlich komplex. Um hier Schwierigkeiten aus dem Weg zu gehen, dürfen die Abgaben keine personenbezogenen Daten erheben. Das bedeutet:
- Die Webseite, die Sie abgeben, darf keine externe Ressourcen einbinden (z.B. Fonts oder Bibliotheken aus Content-Delivery-Networks).
- Alles, was zum betrachten benötigt wird, muss der Abgabe beigelegt sein (Dinge wie Fonts, MathJax, JQuery, etc.).
- Selbstredend müssen alle Materialien, die inkludiert werden, zur freien Verwendung lizenziert sein.
- Links (zum aktiven Anklicken) auf externe Quellen sind natürlich (im normalen rechtlichen Rahmen) erlaubt.
Erklärung zu Copyright und Datenschutz: Jeder Abgabe muss eine Erklärung der/des Studierenden begefügt sein, dass sie/er alle notwendigen Rechte hat, die abgegebenen Materialen anderen zur Verfügung zu stellen, und dass sie/er zustimmt, dass die erstellten Materialen entwender (freie Auswahl)
- …allen Teilnehmer/innen der Veranstaltung “Online Seminar und Praktikum ‘Deep Learning’ im Wintersemester 2020/21” zugänglich gemacht werden.
- …zusätzlich auch anderen Studierenden der JGU zugänglich gemacht werden.
- …zusätzlich der allegemeinen Öffentlichkeit zugänglich gemacht werden.
- …unter eine freie Lizenz, wie etwas eine Creative Commons-Lizenz, gestellt werden, die mindestens den ersten Punkt erlaubt.
Die Wahl, wie die erstellten Materialen weitergegeben werden dürfen, hat keinerlei Auswirkung auf die Bewertung. Allerdings ist es zwingend nötig, allen anderen Teilnhemern Zugang zu den Abgaben zu gewähren (da dies ein wesentlicher Teil der Lehrveranstaltung ist).
Zusätzlich ist zu erklären, das die abgegebenen Medien nicht direkt oder indirekt (z.B. über automatisch ladende Links auf CDNs oder eingebettete externe Medien) personenbezogene Daten erheben (auch nicht durch dritte).
Abgaben ohne eine solche Erklärung werden nicht bewertet. Liegt eine Erklärung zur Abgabefrist nicht vor, so gilt das Seminar bzw. Praktikum als nicht bestanden.
Ablauf
Das Seminar findet semesterbegleitend statt. Die Abgaben sind zum 31. Januar 2021 fällig, und werden danach im Seminar diskutiert. Davor finden regelmäßige Treffen statt, in denen die Teilnehmer sich über die Produktion der Beiträge und den aktuellen Fortschritt austauschen. In jedem Treffen wird eine kurze Präsentation von maximal 5 Minuten erwartet, die nicht bewertet wird.
Auswahl der Themen (Ende Oktober) Jede(r) Teilnehmer/in muss
- Ein Thema zur Bearbeitung auswählen (first-come-first-served).
- Nur für das Seminar: Zwei weitere Seminar-Beiträge zum Review auswählen (eine Woche später). Im Praktikum finden keine Reviews statt.
Die Aufgabe der Reviewer ist es, die erstellten Materialien zu sichten und Tipps zur Verbesserung zu geben. Das Anfertigen des Reviews ist verpflichtend. Die Reviewer müssen die Autoren kontaktieren und sollten am besten im persönlichen Gespräch Feedback geben. Eine kurze schriftliche Zusammenfassung (ca. 1/2 Seite, informell) muss den Autoren und dem Dozenten per Email zugeschickt werden. Reviews werden nicht bewertet, aber es das Erstellen von Reviews ist Pflicht (sonst gilt die Veranstaltung als nicht bestanden).
Erstes Treffen: Thema (Ende November) Im ersten Treffen des Seminars und Praktikums wird die Aufgabenstellung definiert und vorgestellt. Dazu gehört, einen ersten Plan vorzulegen, wie die Videos bzw. Webseiten produziert werden sollen (z.B. mit welchen Tools). Andere Teilnehmer/innen geben Tipps und Feedback zur Strukturierung.
Bereitstellung von Materialen für das Review (Mitte Dezember) Jede(r) Teilnehmer/in stellt eine Vorabversion des Prototypen (siehe nächster Punkt, “zweites Treffen”) ihrer/seinen beiden Reviewer/innen zur Verfügung. Es ist auch möglich (und sinnvoll), Fragen an die Reviewer zu stellen (z.B. nach Tipps für die Videoproduktion)
Feedback an die Autoren (Ende Dezember) Jede(r) Reviewer/in berichten den beiden ausgewählten anderen Autoren, was ihm/ihr bei der Sichtung der Materialien aufgefallen ist. Was ist gut gelungen, und wo gibt es Tipps für Verbesserungen?
Zweites Treffen: Prototyp und Gestaltung (Anfang Januar) Im zweiten Treffen wird ein kurzes Beispiel vorgestellt. Im Seminar ist dies ein ca. 1-minütiges Video, im Praktikum ein erstes Ergebnis. Andere Teilnehmer/innen geben Feedback zu möglichen Verbesserungen und die Teilnehmer/innen tauschen sich über Erfahrungen und Tools zur Produktion und Präsentation aus. Das Treffen wird mit einem Review vorbereitet.
Abgabe (Ende Januar) Die finalen Materialen (Video und HTML-Seite mit Ausarbeitung) werden eingereicht. Eine Jury bestehend aus allen Mitarbeiter/innen der AG Visual Computing bewertet die Abgaben nach den oben angegebenen Kriterien. Die Abgaben werden allen Teilneher/innen verfügbar gemacht.
Drittes und letztes Treffen: Diskussion der Ergebnisse (letzte Semesterwoche) Das letzte Treffen findet nach der Abgabe statt; hier diskutieren die Teilnehmer/innen die Ergebnisse mit Feedback an die Autoren. Die Diskussion hat keinen Einfluss auf die Bewertung (diese erfolgte ja bereits vorher).
Zeitplan
Hier nochmal alle Termine im Überblick. Beachten Sie bitte auch die genannten Fristen!
- So, 04. Oktober 2020
- Veröffentlichung der Webseiten zum Seminar
- Mo, 05. Oktober 2020, 14h
- Seminar und Praktikum: Vorbesprechung zum Seminar. Hier legen wir den Wochentag und die Uhrzeit für die Treffen fest.
- Fr, 30. Oktober 2020
- Seminar und Praktikum: Auswahl eines Themas. Das gewählte Thema sollte im Teams-Kanal “Themenauswahl” gepostet werden.
- Fr, 07. November 2020 (nur Seminar!)
- Nur Seminar: Auswahl von zwei (gewählten!) Themen zum Review. . Jede(r) Teilnehmer/in des Seminars muss zwei andere Themen auswählen, für die er/sie Feedback geben möchte.
- Das Feedback bezieht sich eher auf die Gestaltung/Strukturierung; es ist nicht notwendig, die anderen beiden Themen selbst komplett durchzuarbeiten.
- Freitag, 27. November 2020, 16:00(st)
- Seminar und Praktikum: Erstes Treffen
- Vorstellung des eigenen Themas und wie es strukturiert werden soll.
- Ideen zur Umsetzung (inkl. Tools für die Produktion)
- Bereiten Sie einen 2-5(maximal!) minütigen Kurzvortrag in beliebiger Form vor.
- 11. Dezember 2020 (nur Seminar!)
- Nur Seminar: Bereitstellen eines Prototypens an die Reviewer
- Schicken Sie Ihren beiden Reviewern einen Email mit den Materialien (oder einem Link darauf), die Sie im zweiten Treffen vorstellen möchten.
- Schicken Sie die Email mit CC an den Dozenten (notwendig für Bestehen!).
- 18. Dezember 2020 (nur Seminar!)
- Nur Seminar: Bereitstellen der Reviews
- Jede(r) Seminarteilnehmer/in schickt einen kurzen Bericht zu Stärken, Schwächen und weiteren Tipps an die Autoren.
- Der Bericht darf gerne kurz sein (vielleicht eine halbe Seite Din A4, gerne auch in Emailform).
- Schicken Sie eine Email mit CC an den Dozenten.
- Es ist gewünscht (nicht verpflichtend), auch persönlich mit den Autoren zu sprechen, und Tipps zu geben.
- Freitag, 08. Januar 2021, 16:00(st)
- Seminar und Praktikum: Zweites Treffen.
- Vorstellung eines Prototypens der Ergebnisse, wie oben beschrieben.
- Bereiten Sie einen 2-5(maximal!) minütigen Kurzvortrag in beliebiger Form vor.
- Deadline: 24. Januar 2021 (23:59 MEZ)
- Seminar und Praktikum: Bis zum 24. Januar 2021 müssen alle Abgaben eingereicht werden.
- Die Beiträge müssen “stand-alone” funktionieren, d.h., wenn man die Daten in ein leeres Verzeichnis (mit Unterverzeichnissen) entpackt, muss man in einem Webbrowers durch Anklicken von “index.html” alles ansehen können (inkl. verlinktem Video). Was dort nicht klappt, wird nicht bewertet.
- Nutzen Sie die Review-Periode, um Ihre Technik zu testen!
- Das Video muss in der Abgabe enthalten sein (zusätzliche Links auf Videoportale optional wg. Datenschutz).
- Via Email an den Dozenten, mit Link auf einen Download (z.B. ZDV-Seafile).
- Ein Scan der unterschriebenen Erklärung zu Uhrheberrechten und Datenschutz muss enthalten sein.
- Die Beiträge werden nach der Deadline allen Teilnehmer/innen zur Verfügung gestellt.
- Die Beiträge werden nach der Deadline von einer Jury der AG Visual Computing bewertet.
- Freitag, 12. Februar 2021, 16:00(st) [letzte Semesterwoche]
- Seminar und Praktikum: Drittes und letztes Treffen
- Jeder Beitrag wird kurz diskutiert und andere Teilnehmer/innen geben Feedback.
Werkzeuge
Hier eine unvollständige Liste von nützlichen Werkzeugen, die für verschiedene Platformen zur Verfügung stehen:
Video:
- KDEnlive Ein leistungsfähiger Open-Source Videoeditor.
- FFMPEG Eine Sammlung von Kommandozeilentools zur Konvertierung von Videodateien.
- Audacity Ein leistungsfähiger Open-Source Audioeditor.
HTML-Authoring
- Pandoc Ein Multiformat-Konverter. Der Markdown-zu-HTML-Modus ist gut für das einfache Erstellen von Webseiten geeignet (diese Webseite ist damit gemacht). Formeln werden via MathJax unterstützt.
- Lukeparser Ähnliches Tool mit mehr Funktionen (z.B. Makros), geschrieben von Mitgliedern der AG Visual Computing. Es ist ein akademisches Tool - kleinere Bugs sind leider immer noch vorhanden.
- MathJax Eine Javascript-Library zum Einbetten von Formeln im Latex-Format in Webseiten.
Falls Sie weitere Vorschläge für Werkzeuge, Tutorials, Ressourcen und ähnliches haben, posten Sie diese bitte in dem MS-Teams-Kanal “General” der Veranstaltung!
Themenliste
Hier sind die Themen für Seminar und Praktikum. Jedes Thema hat einen Ansprechpartner, der genauere Literatur bereitstellt und für Fragen zur Verfügung steht.
Einige der Themen enhalten Hinweise für einen “tieferen” Einstieg in das Theman; dies wäre verpflichtend, wenn das Thema im Master gewählt würde.
Seminarthemen:
- (1) Grundlagen des maschinellen Lernens 1: (Ansprechpartner: Jan Disselhoff)
- Was gibt es für Lernverfahren (supervised, unsupervised, reinforcment-learning)?
- Wie formulieren wir die Lernaufgaben statistisch? (maximum-likelihood, maximum a-posteriori, Bayesian inference)
- (2) Grundlagen des maschinellen Lernens 2: (Ansprechpartner: Daniel Franzen)
- No-Free-Lunch Theorem
- Tiefer: Bias-Variance-Tradeoff
Literatur zu diesen beiden Themen: Duda, Hart Stork: Pattern Classification, 2nd Edition, Wiley 2001.
- (3) Grundlagen des tiefen Lernens: (Ansprechpartner: David Hartmann)
- Was ist ein neuronales Netzwerk?
- Was sind Aktivierungsfunktionen?
- Wie funktionieren grob Training und Inferenz?
- Was gibt es grob an Architekturen für das tiefe Lernen?
- (4) Optimierung: (Ansprechpartner: Christian Ali Mehmeti-Göpel)
- Wie funktioniert die Inferenz in einem tiefen Netzwerk?
- Wie funktioniert das “Backpropagation” Algorithmus?
- Wie funktioniert “Stochastic Gradient Descent”?
- (Tiefer:) Wie wird dies (im Prinzip) auf der GPU implementiert?
- (5) Vanishing and Exploding Gradients (Ansprechpartner: Christian Ali Mehmeti-Göpel)
- Was ist das “vanishing / exploding Gradients”-Problem?
- Wie kann man es verhindern?
- Tiefer: Ein aktuelles Forschungspapier dazu (dynamic isometry, regularisierung)
- (6) Bildklassifikation mit tiefen Netzen: (Ansprechpartner: Daniel Franzen)
- Wie funktioniert die Klassifikation mit tiefen Netzen?
- Loss Funktionen: SoftMax+Cross Entropy, Hinge-Loss
- Typische Architekturen (LeNet, AlexNet, VGG, Inception)
- (7) Residual Networks: (Ansprechpartner: Christian Ali Mehmeti-Göpel)
- Was sind Residual Networks?
- Was sind die Eigenschaften und Vorteile?
- Welche Varianten gibt es (z.B. WideResNet)?
- Tiefer: Warum funktionieren die so gut / besser als standard Feed-Forward?
- (8) Normalisierung: (Ansprechpartner Sebastian Brodehl)
- Was ist Batch-Normalization?
- Was sind die Varianten (LayerNorm, InstanceNorm), und wofür sind die gut?
- (9) Recurrent Networks: (Ansprechpartner Sebastian Brodehl)
- Was sind RNNs?
- Welche Varianten gibt es?
- Was sind LSTMs und wozu sind die gut?
- (10) Reinforcment Learning: (Ansprechpartner: David Hartmann)
- Wie kann man reinforcement learning mit tiefen Netzwerken implementieren?
- z.B. Deep-Q-Learning
- (11) Visualisierung von Netzwerken (Ansprechpartner: Jan Disselhoff)
- Class Activation Maps
- Deep-Dream (“Inceptionism”)
- (12) Generative Modelle (Ansprechpartner: Sebastian Brodehl)
- Autoencoder (als Baseline-Lösung)
- GANs
Praktikumsaufgaben:
- Optimierung: (Ansprechpartner: Daniel Franzen)
- Probieren Sie verschiedene Optimierer (GD, CG, SGD, RMS-Prop, Adam, o.ä.) auf einem Toyproblem (elliptische Parabel) sowie auf echten Daten aus.
- Visualisieren Sie den Fortschritt der Optimierung
- Zeigen Sie die Vor- und Nachteile der Verfahren auf.
- Details folgen.
- Invertierung von Netzwerken: (Ansprechpartner: Jan Disselhoff)
- Visualisieren Sie Features, die typische Netzwerkarchitekturen erkennen
- Implementieren Sie das “Deep-Dream”-Verfahren
- Details folgen.
- Hyperparameter: (Ansprechpartner: Sebastian Brodehl)
- Probieren Sie verschiedene Standardarchitekturen (AlexNet, kleines VGG mit BatchNorm, ResNet) auf zwei kleinen Datensätzen (z.B. MNIST und CIFAR-10) aus
- Testen Sie verschiedene Parameter (Lernrate, Optimierer, Initialisierung, Data-Augmentation) aus.
- Fassen Sie Ihre Ergebnisse und Erkenntnisse zusammen.
- Details folgen.
- Generative Modelle: (Ansprechpartner: Christian Ali Mehmeti-Göpel)
- Implementieren Sie ein generatives Bildmodell mit einem Autoencoder
- Erweitern Sie dies (optional) zu einem GAN-Modell.
- Details folgen.
MS-Teams Kanal
Die gesamte Kommunikation findet über den MS-Teams-Kanal “Deep Learning Online WS 2020/21” statt. Sie können sich in diesem Kanal mit dem Anmeldecode anmelden, den Sie via Jogustine-Email erhalten haben.
Geben Sie den Code in Ihrem MS-Teams Client (Web oder App) ein, um Zugang zu bekommen. Es sind keine weiteren Bestätigungen notwendig.
Datenschutz Impressum