Grafik von Shubham Dhage – https://unsplash.com/@theshubhamdhage

Einführung in Reinforcement Learning

Dieser Post soll dazu dienen, den Leser in die grundsätzliche Thematik des Reinforcement Learnings einzuführen. Die Einführung konkretisiert wichtige Begriffe und Grundkonzepte, welche dort verwendet werden.

Henrik Bartsch

Henrik Bartsch

Einordnung

Machine Learning ist seit einigen Jahre inzwischen relativ populär geworden, vor allem in Verbindung mit Themengebieten wie Big Data. Ein wichtiges Forschungsgebiet des Machine Learnings in diesem Bereich stellt das Supervised Learning dar, welches sehr gut Vorhersagen auf bestehenden Datensätzen treffen kann. Forschung in diesem Gebiet ist verhältnismäßig weit fortgeschritten, allerdings nicht immer anwendbar. Die nicht zwangsläufige Anwendbarkeit (oder schlechtere Anwendbarkeit) von Supervised Learning stellt sich bei einigen Problemen der realen Welt dar. Beispiele hierfür sind das Regeln verschiedener Maschinen oder Steuerkreise, Interaktion mit komplexen Systemen oder viele weitere. Die Gemeinsamkeit: Alle diese Systeme sind besser zu lösen, wenn man ein Feedback mit der Umgebung für das Training und die Erfüllung der Aufgabe verwendet. Weiterhin sind optimale Lösungen nicht unbedingt klar, denn nicht immer ist das, was der Mensch tut auch tatsächlich optimal.

Obwohl der Mensch meist gute Interaktion mit solchen Systemen durchführt, besteht meist Verbesserungspotential. Dieses Verbesserungspotential zu finden ist ein interessantes und komplexes Forschungsgebiet.

An dieser Stelle kommt Reinforcement Learning ins Spiel: Trainingsalgorithmen hierzu sind speziell darauf ausgelegt, Feedback zu verwenden um ihre eigenen Aktionen zu verbessern. Aus diesem Feedback können dann Kombinationen von Aktionen generiert werden, welche (abhängig von den aktuellen Beobachtungen) gute Performance liefern.

Im Folgenden werden Aktionskombinationen auch als Aktionstrajektorien bezeichnet.

Auch das Reinforcement Learning verwendet, wie das Supervised Learning es tut, künstliche neuronale Netze. Allerdings sind im Gegensatz zum Supervised Learning nur wenige Algorithmen bekannt, welche die Aufgaben auch ohne die Verwendung von künstlichen neuronalen Netzen schaffen - meist besitzen diese zusätzlich noch einige bedeutende Einschränkungen. 1

Der Prozess des Reinforcement Learnings wurde durch uns mit all seinen Komponenten und Zusammenhängen visualisiert:

Prozess des Reinforcement Learnings


Die Idee von Reinforcement Learning

Beim Reinforcement Learning steht eine Sache besonders im Vordergrund: Das Feedback durch Interaktion mit einer Umgebung, welche das Problem abstrahiert. Der Grad der Abstraktion verändert das Lernverhalten und die notwendige Laufzeit, welche das Modell benötigt, um eine “gute Performance” liefert.

Der Grad der Abstraktion des Problems stellt eine primäre Modellfrage dar, welches die Realperformance eines solchen Machine Learning-Modells verbessert oder verringert. Hierbei handelt es sich um die Frage, wie schnell (geringere Abstraktion) oder präzise (hohe Abstraktion) der Algorithmus am Ende des Tages lernen soll.

Was bei diesem Problem eine “gute Performance” darstellt, ist hierbei nicht direkt definiert - die Definition hiervon obliegt dem Nutzer. Häufig werden hierfür Statistiken oder Laufzeit-Metriken verwendet, um eine finale Auswahl zu treffen.

Das Feedback

Das Feedback bei einem Reinforcement Learning Agenten wird üblicherweise über eine Reward-Funktion definiert. Diese Funktion muss nicht unbedingt von außen - also von der Sicht des Anwenders - bekannt sein, sollte aber bei der Definition und Modellierung der Umgebung bekannt sein. Ziel des Agenten ist es immer wieder durch Interaktion entweder den Reward in jedem Zeitschritt zu maximieren oder alternativ einen Discounted Reward oder auch Return in jedem Zeitschritt zu maximieren.

Bei dem Return handelt es sich hierbei um eine Reward-Metrik, in welche zusätzlich zur aktuellen Belohnung noch Belohnungen der zukünftigen Schritte fallen. Da hierbei zukünftige Schritte eine Rolle spielen, werden diese meist später berechnet und nicht während der Interaktion mit der Umgebung - beispielsweise immer dann, wenn das neuronale Netzwerk aktualisiert werden soll. 2

Eine große Rolle spielt hierbei die sogenannte Reward Hypothesis:

Alle Ziele, welche vom Agenten erreicht werden können, können als Maximierung des Returns betrachtet werden. 3

Exploration vs. Exploitation

Für die Algorithmik ist das Problem von Exploration vs. Exploitation ein relevantes Problem. Dieses beschreibt, wie sehr der Agent in seiner Interaktion sich darauf konzentrieren soll, neue Informationen und Trajektorien zu finden (Exploration) oder sich auf alte Informationen verlassen soll und diese Informationen mittels Training verstärkt (Exploitation). Notwendig für das “Erkunden” der Umgebung in der Exploration und entsprechenden “guten” Aktionstrajektorien abhängig vom aktuellen Zeitpunkt und Informationen ist eine Exploration-Komponente. Diese beschreibt üblicherweise mittels einer zufälligen Komponente, welche Aktion ausgewählt werden soll oder addiert auf eine Wahrscheinlichkeitsverteilung eine (kleine) Störung.

Die Exploitation gestaltet sich nicht weiter schwierig, denn diese erhält man aus der Exploration, indem man die zufällige Komponente entfernt oder unterdrückt. 4


Anwendungsfall von Reinforcement Learning

Es gibt drei verschiedene Situationen, in denen Reinforcement Learning ein unheimlich mächtiges Werkzeug ist:

  1. Eine Modellabstraktion der Umgebung ist bekannt oder definierbar, allerdings ist keine analytische (exakte) Lösung bekannt,
  2. Lediglich eine Simulation der Umgebung steht zur Verfügung; Interaktion mit dem Problem direkt ist zu teuer oder gefährlich oder
  3. Der einzig verfügbare Weg Informationen über das System zu sammeln, ist, mit diesem zu interagieren - beispielsweise bei unbekannten Systemen.

Vorteile von Reinforcement Learning 5

  1. Reinforcement Learning kann zur Lösung sehr komplexer Probleme eingesetzt werden, die mit herkömmlichen Techniken nicht gelöst werden können.
  2. Reinforcement Learning ist die bevorzugte Methode, um langfristige Ergebnisse zu erzielen, die, abhängig von der Umgebung, sehr schwer zu erreichen sind.
  3. Durch die kontinuierliche Interaktion mit der Umwelt können diese Modelle das falsche Verhalten korrigieren, das in früheren Teilen des Trainingsprozesses aufgetreten ist oder gelernt wurde.
  4. Modelle des Reinforcement Learning zielen darauf ab, das optimale Verhalten eines Computermodells innerhalb einer bestimmten Umgebung zu erreichen, d.h. seine Leistung zu maximieren. Es kann theoretisch das perfekte Modell zur Lösung eines speziellen Problems erstellen.

Nachteile von Reinforcement Learning 5

  1. Einige Reinforcement Learning Algorithmen benötigen spezifische Hyperparameter, um zu konvergieren. Die besten Hyperparameter herauszufinden ist in der Regel teuer, aber manchmal kann eine einfache Schätzung genügen.

  2. Einige Reinforcement Learning Algorithmen neigen dazu, in einfacheren Umgebungen etwas schlechter abzuschneiden, insbesondere die komplexeren Algorithmen.

  3. Es werden viele Daten und eine Menge Berechnungen benötigt, weshalb wir ein Modell unserer Trainingsumgebung benötigen aus welcher wir Daten entnehmen können.

  4. Reinforcement Learning ist aus Sicherheits- oder Kostengründen nicht immer direkt auf die reale Welt anwendbar.

Ein Beispiel für ein solches Szenario könnte das autonome Fahren sein, welches in der realen Welt trainiert wird. In früheren Trainingsphasen könnte das Modell Passagiere oder die Umgebung gefährden. Eine Klasse von Algorithmen, die versuchen, dieses Problem zu umgehen, ist als [Safe Reinforcement Learning] (https://arxiv.org/abs/2205.10330) bekannt.

  1. Diese Klasse von Algorithmen geht davon aus, dass die Welt als Markow-Prozess klassifiziert werden kann, was in der Regel verletzt wird.

Ein Markow-Prozess zu sein bedeutet, dass die aktuelle Beobachtung nur von der letzten Aktion und der letzten Beobachtung abhängig war. Obwohl die meisten Probleme keine Markow-Prozesse sind, liefert Reinforcement Learning in der Praxis immer noch gute Ergebnisse.


Anwendungsbeispiele von Reinforcement Learning

Durch intensive Forschung sind bereits einige Gebiete für Reinforcement Learning als praktische Anwendungen erkannt worden. Beispiele hierfür sind: 6

  1. Interaktion mit Menschen in Video- oder Brettspielen (siehe AlphaGo oder AlphaStar)
  2. Robotik (siehe Cheetah von Boston Dynamics oder Dactyl von OpenAI)
  3. Produktionsumgebungen, beispielsweise in Fabriken.

Es gibt eine ganze Reihe von möglichen Anwendungsbeispielen, in welchen Reinforcement Learning in den nächsten Jahren große Durchbrüche schaffen könnte:

  1. Autonomes Fahren
  2. Textverarbeitung (siehe beispielsweise ChatGPT von OpenAI)

und vielen weiteren spannenden und komplexen Themenfeldern.


Quellen

Footnotes

  1. medium.com

  2. wikipedia.org

  3. towardsdatascience.com

  4. freecodecamp.org

  5. pythonistaplanet.com 2

  6. geeksforgeeks.org