Zum Hauptinhalt springen

Bestärkendes Lernen (Reinforcement Learning)

Beim bestärkenden Lernen (engl. Reinforcement Learning oder kurz RL) lernt die KI durch Ausprobieren (Trial and Error) in einer Umgebung, ähnlich einem Hund, der Tricks lernt. Die KI führt eine Aktion aus und erhält entweder eine Belohnung (Reward) für eine gute Aktion oder eine Bestrafung (Penalty) für eine schlechte. Das Bestärkende Lernen ist ein sehr beliebter Ansatz in moderner KI, vor allem in der Robotik. Wir können uns das ganze fast wie einen «Agenten» (engl. agent) vorstellen, der selbstständig ein Videospiel spielt und dabei lernt besser zu werden: 

  • Der Agent (KI): Spielt ein Videospiel. 
  • Die Umgebung: Das Spielfeld. 
  • Belohnung: Punkte sammeln. 
  • Bestrafung: Verlieren eines Lebens. 
  • Ziel: Eine Strategie (Policy) zu finden, um die maximale Belohnung zu erhalten. 

Grafische Darstellung Bestärkendes Lernen
Grafische Darstellung Bestärkendes Lernen

Quelle: https://computingeducation.de/proj-ml-uebersicht/

Videobeispiel Bestärkendes Lernen

Das folgende Videobeispiel von OpenAI von vor 6 (!) Jahren veranschaulicht sehr eindrücklich welches Potenzial diese Methode hat. Die Agenten haben dabei selbstständig gelernt Fangen zu spielen (beide Rollen) und dabei ihre eigenen Strategien entwickelt, ohne dass diese explizit vorgegeben waren: 

Aktivität: Bestärkendes Lernen visualisieren 

In der folgenden Aufgabe können wir nun selbst eine vereinfachte Version eines solchen Experiments durchführen, um das Grundkonzept vom Bestärkenden Lernen zu veranschaulichen. Der Agent verwendet dabei eine RL-Methode namens Q-Learning.

Q-Learning Methode

Beim Q-Learning lernt eine KI durch Erfahrung, welche Handlung sich in einer bestimmten Situation langfristig am meisten lohnt. Dazu führt sie eine Tabelle, in der sie speichert, wie gut verschiedene Aktionen in verschiedenen Situationen funktionieren. Nach jeder Aktion erhält sie Feedback (Belohnung oder Bestrafung) und aktualisiert ihr Wissen entsprechend. Meist wählt sie die aktuell beste bekannte Aktion, probiert aber gelegentlich bewusst etwas Zufälliges aus, um neue Möglichkeiten zu entdecken. So verbessert sie Schritt für Schritt ihre Strategie.

Aufgabe: 

  1. Gehe auf https://awjuliani.github.io/web-rl-playground/ 
  1. Lass die Symbole so wie sie standardmässig gesetzt sind. Klicke auf «Start Learning» und beobachte, wie der Agent die Aufgabe löst. 
  1. Er bekommt eine Belohnung (Reward) dafür, dem Ziel näherzukommen, und eine Bestrafung (Penalty) dafür, wenn er das Ziel nicht erreicht oder Fehler macht. 
  1. Im Fenster «Episodes» (Episoden) siehst du, wie die «Average Reward» (durchschnittliche Belohnung) mit der Zeit ansteigt. Das zeigt, dass der Agent seine Strategie verbessert. 
  2. Lies dir nochmal die Beschreibung vom bestärkenden Lernen durch und verwende das Tool, um die Schritte zu verfolgen.
  3. Wenn der Agent so gut gelernt hat, dass er das Ziel zuverlässig erreicht, kannst du die Symbole anpassen und das Training neustarten. Beobachte erneut wie der Agent lernt. 
  4. Versuche dann die untenstehenden Reflexionsfragen zu beantworten. 

Reflexionsfragen

Wie verhält sich der Agent ganz am Anfang des Trainings?

Er bewegt sich zufällig und wirkt unkoordiniert. Er kennt die Umgebung noch nicht und probiert einfach verschiedene Aktionen aus.

Welche Veränderungen erkennst du im Verhalten des Agenten nach mehreren Episoden?

Seine Bewegungen werden gezielter. Er vermeidet unnötige Schritte und findet schneller den Weg zum Ziel.

Macht der Agent immer noch Fehler, auch wenn er schon viel gelernt hat?

Ja, manchmal schon. Lernen durch Ausprobieren bedeutet, dass gelegentlich weiterhin weniger gute Entscheidungen getroffen werden. Der Epsilon-Wert beinflusst wie häufig «ausprobiert» werden soll.

Was müsste man beachten, wenn man die Belohnung falsch definiert?

Die KI könnte ein Verhalten lernen, das nicht dem eigentlichen Ziel entspricht. Gute Belohnungsregeln sind entscheidend.

Was würde passieren, wenn es gar keine Bestrafung gäbe?

Der Agent hätte weniger Hinweise, welche Aktionen schlecht sind, und würde langsamer oder ineffizienter lernen.

Wenn der Agent erfolgreich die Aufgabe löst, heisst das, dass er die Ausgabe versteht?

Nein – Er hat kein echtes Verständnis, sondern lernt lediglich statistisch erfolgreiche Handlungen.

Welche Vor- und Nachteile hat bestärkendes Lernen gegenüber überwachten Lernmethoden?

Vorteile:

  • Braucht keine richtigen Lösungen als Trainingsdaten
  • Kann selbstständig Strategien entdecken
  • Gut für komplexe Entscheidungen mit vielen Möglichkeiten

Nachteile:

  • Lernen kann unvorhersehbar oder ineffizient sein
  • Braucht viele Versuche und viel Rechenleistung
  • Belohnung richtig zu definieren ist schwierig