To content
Fakultät für Informatik

Fachprojekt Reinforcement Learning

Einleitung

Das Fachprojekt "Reinforcement Learning" führt Studierende in das Gebiet des Reinforcement Learning (RL) ein und legt dabei einen Schwerpunkt auf die praktische Anwendung. Gleichzeitig werden die theoretischen und mathematischen Grundlagen, die für das Verständnis und die eigenständige Implementierung der Algorithmen essenziell sind, ausführlich behandelt.

RL ist ein Teilgebiet des maschinellen Lernens, das sich mit der Interaktion zwischen einem Agenten (KI) und seiner Welt beschäftigt. In dieser Welt versucht der Agent ein gewünschtes Ziel zu erreichen. Wie das Ziel erreicht werden kann, wird nicht gesagt. Daher muss die KI ihr Verhalten eigenständig erlernen, indem sie Erfahrung in der Welt sammelt.

Anwendung

Durch RL-Methoden können schwere Probleme gelöst werden, wie beispielsweise:

  • Robotersteuerung in der realen Welt
  • Recommendation Systems (YouTube, Netflix)
  • KI für Rocket League und Starcraft 2
  • KI für Schach, Go und Dota 2
  • ChatGPT (o1 & o3 Modelle)
© TU LS8
Die KI sieht einen Zustand der Welt und muss eine Entscheidung für die Situation treffen.

Teilnahme-Empfehlung

Das Fachprojekt ist besonders geeignet für Studierende, die verstehen möchten,

  • wie moderne KI Systeme funktionieren und trainiert werden.
  • wie man intelligente Maschinen baut, die eigenständig handeln und aus Fehlern lernen.

Weiterhin ist es sehr hilfreich,

  • gute Programmierkenntnisse (in Python) zu besitzen.
  • ein gutes mathematisches Verständnis mitzubringen.

Funktionsweise und Ergebnis des Projekts

© TU LS8
Ziel einer KI - Die KI versucht ein Verhalten zu erlernen, sodass sie möglichst viele Belohnungen erhält. Eine Belohnung könnte zum Beispiel das Einsammeln einer Münze sein. Dadurch würde die KI versuchen möglichst viele Münzen zu sammeln.
© TU LS8
Das Ergebnis des Fachprojekts - Die trainierten KIs spielen eigenständig Atari Videospiele (z.B. SpaceInvaders, Pong) und spielen besser als gute, menschliche Spieler.

Inhalt

Durch die Bearbeitung der folgenden Aufgaben wird den Studierenden ein fundiertes Verständnis vermittelt:

1 - Grundlagen:

Anfangs wird den Studierenden erklärt, wie Deep Neural Networks mithilfe von Python und PyTorch erstellt und trainiert werden können. Außerdem erhalten sie eine Einführung in die theoretischen Grundlagen des Reinforcement Learnings.

2 - Präsentation eines Papers:

Die Studierenden arbeiten in Gruppen von vier Personen zusammen. Jede Gruppe wählt eine einsteigerfreundliche wissenschaftliche Arbeit (Paper) aus dem Bereich des Reinforcement Learning aus, liest diese intensiv und stellt die Inhalte anschließend in einer umfangreichen Präsentation vor.

3 - Implementierung:

Im Anschluss implementiert jeder der Studierenden eigenständig die vorgestellten Methoden und erweitert diese um zusätzliche Features. Die Algorithmen werden in Welten wie z. B. Atari-Spielen trainiert und anschließend ausgewertet. Für die Implementierung werden Python und PyTorch verwendet. GitHub dient dabei als Plattform zur Versionsverwaltung und Organisation des Codes.

4 - Abschlusspräsentation:

Die Studierenden fassen ihre Ergebnisse und wichtigsten Erkenntnisse in Abschlusspräsentationen zusammen.

Voraussetzungen

Die Studierenden sollten solide Kenntnisse in den folgenden Kursen haben:

  • Vertrautheit mit der Programmiersprache Python
  • Mathematik für Informatik 1 (Mafi1)
  • Mathematik für Informatik 2 (Mafi2) oder
  • Höhere Mathematik I (HöMa1)
  • Höhere Mathematik II (HöMa2)

Empfohlene Kurse:

  • Probabilistic Reasoning and Machine Learning (PRML)

Reinforcement Learning - Große Erfolge (Youtube Links)