Erfahrungsbericht Reinforcement Learning SoSe 2022

    • Offizieller Beitrag

    Hallo zusammen,


    Da die Veranstaltung in ihrer jetzigen Form dieses Semester das erste Mal gehalten wurde, möchte ich einen kurzen Überblick geben. Weil das Modul aus dem Fachbereich Informatik stammt, kann man sich als Maschinenbauer nicht direkt dafür anmelden, sondern muss den Weg über das MechCenter gehen, falls man sich das Modul im WP III anrechnen lassen möchte.


    Organisation

    Das Modul gibt 6 CP; Vorlesungs- und Prüfungssprache ist Englisch. Die Vorlesung bestand aus 9 Terminen (Abends von 18 bis 21 Uhr), in denen jeweils ein komplettes Kapitel von den betreuenden Doktoranden vorgetragen wurde. Alle Vorlesungen wurden aufgezeichnet und hochgeladen. Zusätzlich gab es vertiefende Literatur (nicht klausurrelevant) und YouTube Videos. Die Prüfungsleistung bestand aus zwei Assignements, die während des Semesters abgegeben wurden und einer Klausur am Ende des Semesters.


    Voraussetzungen

    Laut Modulbeschreibung wird das Modul "Statistical Machine Learning" empfohlen. Ich habe dieses nicht besucht und kann dazu nichts sagen. Da keine wirklichen mathematischen Inhalte vom maschinellen Lernen bzw. bestimmten Algorithmen abgefragt werden, schätze ich das nicht als zwingend notwendig ein. Vielmehr ist ein allgemeines Verständnis von Machine und insb. Deep Learning notwendig. Gerade zu Neuronalen Netzen (Aufbau, Training, Mathematik, Programmierung in Python mittels torch oder tf) sollte definitiv Erfahrung vorhanden sein.


    Inhalt

    Die Vorlesung behandelt im ersten Teil Klassisches Reinforcement Learning und im zweiten Teil tiefe Ansätze durch z.B. neuronale Netze

    1. Introduction to Reinforcement Learning (What is RL?, Flavors and Components of RL Problems)

    2. Markov Decision Process (Markov Reward Process, Finite Markov Decision Process, Policies and Value Functions)

    3. Dynamic Programmig (Monte-Carlo Algorithms, Temporal-Difference Learning)

    4. Tabular Reinforcement Learning (On-Policy Monte-Carlo and TD Learning, Off-Policy Learning)

    5. Function Approximation (Continuous Enviroments, On- and Off-Policy methods)

    6. Policy Search (Policy Gradient, Natural Gradient, Policy Gradient Theorem)

    7. Deep Reinforcement Learning (Scaling RL to high-dimensions, Deep Q-Learning, DQN enhancements)

    8. Deep Actor-Critic (Entropy, Deep Actor-Critic On- and Off-Policy methods)

    9. Frontiers in Reinforcement Learning (Partial Observability, Hierachical Control, MDPs without reward)

    Wer an den Inhalten genauer interessiert ist, kann sich die Zusammenfassung eines Informatik-Studenten unter Reinforcement Learning by Fabian Damken (english) | Fabian Damken anschauen.


    Prüfung (16.09.2022)

    Die Prüfungsleistung setzt sich aus zwei Assignements mit je 20% Gewichtung und einer Klausur mit 60% Gewichtung zusammen. Die Klausur ist schriftlich und dauert 90 Minuten. Inhaltlich wurden Fragen zu Basic Theory (Was ist eine Value function?), reasoning questions (Wann sollte man welchen Ansatz warum nutzen), Pseudocode der Algorithmen (Wie funktioniert Algorithmus XY) und Rechenaufgaben mit der Anwendung von Formeln (compute TD error and apply update, proof the policy gradient theorem). Es war keine Formelsammlung erlaubt - alle Formeln und update Funktionen mussten auswendig gelernt werden! Die Assignements waren Programmieraufgaben, in welchen man jeweils fehlende Code-Blöcke in Jupyter Notebooks ergänzen oder Hyperparameter tunen sollte. Den Notenspiegel der Gesamtnote ist diesem Beitrag angehangen.


    Persönliche Meinung

    Die Organisation war in meinen Augen schlecht. Bis zur Klausur war deren Dauer nicht bekannt, die Anforderungen für die Klausur und Assignements waren nie klar formuliert und es mussten des öfteren andere/zusätzliche Sachen gemacht werden als eigentlich angegeben. Vor der Klausur wurde z.B. gesagt der Pseudocode von Algorithmen müsse nicht auswendig gelernt werden, obwohl am Ende ca. 30% der Klausur aus reiner Reproduktion von Pseudocode bestanden. Nicht einmal die Berechnung der Note konnte der Doktorand in der Vorbesprechung der Klausur richtig wiedergeben und musste per Moodle berichtigt werden. Bei den Assignements lief das Ganze nicht wirklich besser. Bei der Installation der packages hatten viele Probleme und fast das gesamt Moodle-Forum besteht nur aus Fragen zu Errors bei der Installation. Auf Hilfe von den Tutoren konnte man dabei nicht wirklich hoffen. Mehr als "deinstallieren und installieren" oder "schau mal unter dem Link" kam da nicht (Ich hatte glücklicherweise keine Probleme bei der Installation). Die Laufzeiten der Skripte waren auch durchaus viel zu hoch. Gerade beim zweiten Assignement hätte mein PC mehrere Tage durchgängig unter Volllast laufen müssen (von dem Institut wurde dann eine Google Collab Umgebung bereit gestellt, die ich genutzt habe). Abgesehen davon hat die Bearbeitung der Assignements während des Semesters jedoch wirklich Spaß gemacht und deutlich mehr vermittelt, als die Klausur.

    Ich würde das Modul nicht empfehlen - aber auch nicht davon abraten. Gerade wenn die Veranstaltung auf dem Feedback überarbeitet wird und im nächsten SoSe besser läuft, kann das Modul für Personen interessant sein, die sich tiefer mit RL (z.B. als Vorbereitung für die Masterthesis) beschäftigen wollen. Die Doktoranden haben sich zumindest Mühe gegeben und bei den Assignements wurden bereits Änderungen für den nächsten Durchlauf angekündigt.


    Abschließend noch ein paar Zitate aus der Vorlesung:

    "If you don't know the formula, you don't know reinforcement learning" ~ Davide Tateo

    "Infection by Snickers has not been scientificly proven yet" ~ Jan Peter