Q-Learning - Theorie und Anwendung¶
Q-Learning ist eine wertbasierte Methode im Reinforcement Learning, die auf Markov-Entscheidungsprozessen (MDP) basiert.
(Einschub: Es gibt „wertbasierte Methode“ und „policy-basierte“ Methode. „Policy-basierte“ Methoden lernen direkt eine Strategie (Policy), die eine Aktion für jeden Zustand bestimmt. Beispiel: Anstatt Q-Werte zu berechnen, trainiert ein neuronales Netz eine Policy, die dem Agenten sagt, welche Aktion er ausführen soll, ohne dass er Q-Werte speichert. )
Ziel ist es, eine optimale Policy zu erlernen, die den Agenten dazu befähigt, langfristig die höchste kumulierte Belohnung zu erzielen. Dabei wird ein sogenannter Q-Wert berechnet, der beschreibt, wie vorteilhaft es ist, in einem bestimmten Zustand eine bestimmte Aktion auszuführen.
Wie funktioniert Q-Learning?¶
In „Q-Learning“ bezieht sich „Q“ auf die Zielfunktion, die der Algorithmus berechnen und optimieren soll: die erwartete Belohnung (die Qualität) einer Aktion, die in einem bestimmten Zustand durchgeführt wird.
In der Durchführung basiert Q-Learning auf einer sogenannten Q-Tabelle, in der für jede Kombination aus (Zustand, Aktion) ein Wert gespeichert wird.
Dieser Q-Wert wird iterativ verbessert, indem der Agent die Umgebung erkundet und aus seinen Erfahrungen lernt. Der Kern des Algorithmus besteht in der folgenden Update-Regel, die sich an der Bellman-Gleichung orientiert:
\[Q(s,a) = Q(s,a) + \alpha (R + \gamma \max Q(s',a') - Q(s,a))\]
Erklärung der Formel:¶
- Q(s, a):
Der aktuelle geschätzte Wert für Zustand s und Aktion a.
- R:
Die Belohnung für die durchgeführte Aktion a.
- γ (Gamma):
Der Discount-Faktor, der den Einfluss zukünftiger Belohnungen bestimmt (zwischen 0 und 1).
- max Q(s‘, a‘):
Der maximale Q-Wert des nächsten möglichen Zustands s‘.
- α (Alpha):
Die Lernrate, die bestimmt, wie stark neue Informationen alte Werte überschreiben.
Q-Learning Algorithmus¶
Der Algorithmus läuft iterativ in folgenden Schritten ab:
Agent befindet sich in einem Zustand `s`.
Wählt eine Aktion `a` basierend auf einer Policy (z. B. zufällig oder nach maximalem Q-Wert).
Führt die Aktion aus und erhält eine Belohnung `R`.
Wechselt in den nächsten Zustand `s‘`.
Aktualisiert den Q-Wert gemäß der obigen Formel.
Wiederholt den Prozess, bis das Modell konvergiert.
Exploration vs. Exploitation¶
Ein zentraler Aspekt von Q-Learning ist das Gleichgewicht zwischen Exploration (Entdeckung neuer Strategien) und Exploitation (Nutzung bekannter, erfolgreicher Strategien):
- Exploration:
Der Agent wählt zufällige Aktionen, um neue Wege und bessere Entscheidungen zu entdecken. Dies ist wichtig, damit das Modell nicht in einer lokalen Optimallösung stecken bleibt.
- Exploitation:
Sobald das Modell genug Wissen gesammelt hat, wird es die beste bekannte Aktion auswählen, um die Belohnung zu maximieren.
Ein häufiger Ansatz ist die ε-greedy Policy, bei der der Agent mit einer Wahrscheinlichkeit von ε zufällige Aktionen ausprobiert (Exploration) und mit Wahrscheinlichkeit 1 - ε die beste bekannte Aktion nutzt (Exploitation). Während des Trainings kann ε allmählich reduziert werden, um den Fokus mit der Zeit mehr auf Exploitation zu legen.
Verbindung zwischen Markov-Prozessen und Q-Learning¶
Q-Learning ist direkt mit Markov-Entscheidungsprozessen (MDP) verbunden.
Ein MDP besteht aus:
- S (States):
Die Menge aller möglichen Zustände, in denen sich der Agent befinden kann.
- A (Actions):
Die Menge aller möglichen Aktionen, die der Agent ausführen kann.
- P(s‘ | s, a) (Transition Model):
Die Wahrscheinlichkeit, dass der Agent nach der Aktion a von s nach s‘ wechselt.
- R(s, a) (Reward):
Die Belohnung, die der Agent für eine Aktion a in Zustand s erhält.
- γ (Discount Factor):
Der Faktor, der bestimmt, wie stark zukünftige Belohnungen gewichtet werden.
Warum ist das wichtig?
Q-Learning braucht keine direkte Kenntnis über die Wahrscheinlichkeiten der Übergänge P(s‘ | s, a).
Stattdessen lernt das Modell aus Erfahrungen, indem es durch Versuch und Irrtum die Q-Werte verbessert.
Damit kann Q-Learning auf komplexe Umgebungen angewendet werden, in denen die Übergangswahrscheinlichkeiten nicht explizit bekannt sind.
Erfahrungsspeicherung: Replay Buffer und Experience Replay¶
In klassischen Q-Learning-Implementierungen gibt es eine Herausforderung: Die Agenten lernen direkt aus den neuesten Erfahrungen, was dazu führen kann, dass das Modell instabil wird oder suboptimale Strategien lernt.
Hier kommen zwei Konzepte ins Spiel:
Replay Buffer¶
Ein Speicher, in dem frühere Erfahrungen ((s, a, r, s‘)) abgelegt werden.
Statt nur aus der neuesten Interaktion zu lernen, werden vergangene Erfahrungen zufällig ausgewählt.
Dies verhindert Korrelationen zwischen aufeinanderfolgenden Lernerfahrungen und stabilisiert das Lernen.
Experience Replay¶
Eine Technik, bei der das Modell nicht nur aus den neuesten Daten lernt, sondern frühere Episoden erneut durchspielt.
Dadurch können seltener auftretende, aber wichtige Erfahrungen mehrfach genutzt werden.
Besonders nützlich in Deep Q-Learning, wenn neuronale Netze zur Approximation der Q-Werte eingesetzt werden.
Deep Q-Networks (DQN):¶
Ersetzt die Q-Tabelle durch ein neuronales Netz, das Q-Werte approximiert.
Verwendet Replay Buffers zur Speicherung vergangener Erfahrungen.
Führt Experience Replay aus, um stabileres Lernen zu ermöglichen.