Definition

Q-Learning (Q-Lernen)

Q-Learning ist ein Ansatz des maschinellen Lernens, der es einem Modell ermöglicht, durch wiederholtes Anwenden geeigneter Maßnahmen iterativ zu lernen und sich zu verbessern. Es gehört zum Bereich des bestärkenden Lernens.

Beim bestärkenden Lernen trainiert ein Modell durch Versuch und Irrtum – ähnlich wie Tiere oder Kinder. Gute Handlungen werden belohnt, während schlechte Handlungen bestraft oder entmutigt werden. Das Verstärkungslernen folgt oft dem Schema „Zustand-Aktion-Belohnung-Zustand-Aktion“, bei dem das Modell lernt, geeignete Maßnahmen zu identifizieren. Q-Learning ist ein modellfreier Ansatz dieses Lernverfahrens, da es kein explizites Modell der Umgebung benötigt. Stattdessen lernt der Agent – die KI-Komponente, die in der Umgebung agiert – eigenständig durch Interaktion mit der Umgebung.

Ein wesentliches Merkmal von Q-Learning ist sein Off-Policy-Ansatz. Das bedeutet, dass der Agent optimale Aktionen basierend auf dem aktuellen Zustand auswählt, ohne strikt einer festgelegten Richtlinie zu folgen. Dies ermöglicht Flexibilität und Anpassungsfähigkeit. Die Entscheidung für eine Aktion erfolgt mithilfe von Q-Werten (auch Aktionswerte genannt), die die erwarteten zukünftigen Belohnungen für eine bestimmte Aktion in einem bestimmten Zustand repräsentieren. Diese Werte werden in einer sogenannten Q-Tabelle gespeichert und fortlaufend aktualisiert.

Die Grundlagen von Q-Learning wurden erstmals 1989 von Chris Watkins in seiner Dissertation an der Universität Cambridge vorgestellt und 1992 in einer weiterführenden Veröffentlichung vertieft.

Wie funktioniert Q-Learning?

Q-Learning-Modelle arbeiten in einem iterativen Prozess, bei dem mehrere Komponenten zusammenarbeiten, um ein Modell zu trainieren. Der iterative Prozess bedeutet, dass der Agent lernt, indem er die Umgebung erkundet und das Modell im Laufe der Erkundung aktualisiert. Zu den verschiedenen Komponenten des Q-Learning gehören:

  • Agent. Der Agent ist die Entität, die in einer Umgebung agiert und Entscheidungen trifft.
  • Zustände. Der Zustand ist eine Variable, die die aktuelle Position eines Agenten in einer Umgebung identifiziert.
  • Aktionen. Aktionen sind die möglichen Handlungen, die der Agent in einem bestimmten Zustand ausführen kann.
  • Belohnungen. Ein grundlegendes Konzept beim bestärkenden Lernen ist das Konzept, für die Handlungen des Agenten entweder eine positive oder eine negative Reaktion bereitzustellen.
  • Episoden. Eine Episode liegt vor, wenn ein Agent keine neue Aktion mehr ausführen kann und schließlich beendet wird.
  • Q-Werte. Der Q-Wert ist die Metrik zur Bewertung einer Aktion in einem bestimmten Zustand.

Es gibt zwei Methoden zur Bestimmung des Q-Werts:

  • Zeitliche Differenz. Die Formel für die zeitliche Differenz berechnet den Q-Wert durch Vergleich des aktuellen und des vorherigen Zustands.
  • Bellmansche Gleichung. Der Mathematiker Richard Bellman erfand diese Gleichung 1957 als rekursive Formel für eine optimale Entscheidungsfindung. Im Zusammenhang mit Q-Learning wird die Bellmansche Gleichung verwendet, um den Wert eines bestimmten Zustands zu berechnen und seine relative Position zu bewerten. Der Zustand mit dem höchsten Wert wird als optimaler Zustand betrachtet.

Q-Learning-Modelle arbeiten mit Trial-and-Error-Erfahrungen, um das optimale Verhalten für eine Aufgabe zu erlernen. Der Q-Learning-Prozess umfasst die Modellierung des optimalen Verhaltens durch das Erlernen einer optimalen Aktionswertfunktion oder Q-Funktion. Diese Funktion stellt den optimalen langfristigen Wert der Aktion a im Zustand s dar und folgt anschließend dem optimalen Verhalten in jedem nachfolgenden Zustand.

Bellmansche Gleichung

Q(s,a) = Q(s,a) + α * (r + γ * max(Q(s',a')) - Q(s,a))

Die Gleichung lässt sich wie folgt aufschlüsseln:

  • Q(s, a) steht für die erwartete Belohnung für die Ausführung von Aktion a in Zustand s.
  • Die tatsächliche Belohnung für diese Aktion wird durch r angegeben, während s sich auf den nächsten Zustand bezieht.
  • Die Lernrate ist α und γ ist der Diskontfaktor.
  • Die höchste erwartete Belohnung für alle möglichen Aktionen a im Zustand s wird durch max(Q(s', a'))dargestellt.

Was ist eine Q-Tabelle?

Die Q-Tabelle enthält Spalten und Zeilen mit Belohnungslisten für die besten Aktionen in jedem Zustand in einer bestimmten Umgebung. Eine Q-Tabelle hilft einem Agenten zu verstehen, welche Aktionen in verschiedenen Situationen wahrscheinlich zu positiven Ergebnissen führen.

Die Zeilen der Tabelle stellen verschiedene Situationen dar, denen der Agent begegnen könnte, und die Spalten stellen die Aktionen dar, die er ausführen kann. Während der Agent mit der Umgebung interagiert und Feedback in Form von Belohnungen oder Strafen erhält, werden die Werte in der Q-Tabelle aktualisiert, um das Gelernte widerzuspiegeln.

Der Zweck des verstärkenden Lernens besteht darin, die Leistung durch die Q-Tabelle schrittweise zu verbessern, um die Auswahl von Aktionen zu erleichtern. Mit mehr Feedback wird die Q-Tabelle genauer, sodass der Agent bessere Entscheidungen treffen und optimale Ergebnisse erzielen kann.

Die Q-Tabelle steht in direktem Zusammenhang mit dem Konzept der Q-Funktion. Die Q-Funktion ist eine mathematische Gleichung, die den aktuellen Zustand der Umgebung und die in Betracht gezogene Aktion als Eingaben betrachtet. Die Q-Funktion generiert dann Ausgaben zusammen mit den erwarteten zukünftigen Belohnungen für diese Aktion in dem spezifischen Zustand. Die Q-Tabelle ermöglicht es dem Agenten, die erwartete zukünftige Belohnung für jedes beliebige Zustands-Aktions-Paar nachzuschlagen, um sich auf einen optimierten Zustand hinzubewegen.

Wie funktioniert der Q-Lernalgorithmus?

Der Q-Lernalgorithmus ist eine interaktive Methode, bei der der Agent lernt, indem er die Umgebung erkundet und die Q-Tabelle auf der Grundlage der erhaltenen Belohnungen aktualisiert.

Der Q-Lernalgorithmus umfasst die folgenden Schritte:

  • Q-Tabellen-Initialisierung. Der erste Schritt besteht darin, die Q-Tabelle als Ort zu erstellen, an dem jede Aktion in jedem Zustand und der damit verbundene Fortschritt verfolgt werden können.
  • Beobachtung. Der Agent muss den aktuellen Zustand der Umgebung beobachten.
  • Aktion. Der Agent entscheidet sich, in der Umgebung zu handeln. Nach Abschluss der Aktion beobachtet das Modell, ob die Aktion in der Umgebung von Vorteil ist.
  • Aktualisierung. Nachdem die Aktion ausgeführt wurde, ist es an der Zeit, die Q-Tabelle mit den Ergebnissen zu aktualisieren.
  • Wiederholung. Wiederholen der Schritte 2 bis 4, bis das Modell einen Endzustand für ein gewünschtes Ziel erreicht.

Was sind die Vorteile von Q-Learning?

Der Q-Learning-Ansatz für das bestärkende Lernen kann aus mehreren Gründen vorteilhaft sein, darunter die folgenden:

  • Modellfrei. Der modellfreie Ansatz ist die Grundlage des Q-Learning und einer der größten potenziellen Vorteile für einige Anwendungen. Anstatt Vorkenntnisse über eine Umgebung zu benötigen, kann der Q-Learning-Agent während des Trainings etwas über die Umgebung lernen. Der modellfreie Ansatz ist besonders vorteilhaft für Szenarien, in denen die zugrunde liegende Dynamik einer Umgebung schwer zu modellieren oder völlig unbekannt ist.
  • Off-Policy-Optimierung. Das Modell kann optimiert werden, um das bestmögliche Ergebnis zu erzielen, ohne streng an eine Richtlinie gebunden zu sein, die möglicherweise nicht den gleichen Optimierungsgrad ermöglicht.
  • Flexibilität. Der modellfreie, Off-Policy-Ansatz ermöglicht die Flexibilität von Q-Learning für eine Vielzahl von Problemen und Umgebungen.
  • Offline-Training. Ein Q-Learning-Modell kann auf vorab gesammelten Offline-Datensätzen eingesetzt werden.

Was sind die Nachteile von Q-Learning?

Der Q-Learning-Ansatz für das verstärkende Modell des maschinellen Lernens hat auch einige Nachteile, darunter die folgenden:

  • Erkundung und Ausbeutung. Für ein Q-Learning-Modell kann es schwierig sein, das richtige Gleichgewicht zwischen dem Ausprobieren neuer Aktionen und dem Festhalten an bereits Bekanntem zu finden. Es handelt sich um ein Dilemma, das allgemein als Abwägung zwischen Erkundung und Ausbeutung für das verstärkende Lernen bezeichnet wird.
  • Fluch der Dimensionalität. Q-Learning kann potenziell einem Risiko des maschinellen Lernens ausgesetzt sein, das als Fluch der Dimensionalität bekannt ist. Der Fluch der Dimensionalität ist ein Problem bei hochdimensionalen Daten, bei denen die zur Darstellung der Verteilung erforderliche Datenmenge exponentiell zunimmt. Dies kann zu rechnerischen Herausforderungen und einer geringeren Genauigkeit führen.
  • Überschätzung. Ein Q-Learning-Modell kann manchmal zu optimistisch sein und überschätzen, wie gut eine bestimmte Aktion oder Strategie ist.
  • Leistung. Ein Q-Learning-Modell kann lange brauchen, um die beste Methode zu ermitteln, wenn es mehrere Möglichkeiten gibt, ein Problem anzugehen.

Beispiele für Q-Learning

Q-Learning-Modelle können Prozesse in verschiedenen Szenarien verbessern. Hier sind einige Beispiele für die Verwendung von Q-Learning:

  • Energiemanagement. Q-Learning-Modelle helfen bei der Energieverwaltung für verschiedene Ressourcen wie Strom-, Gas- und Wasserversorger.
  • Finanzen. Ein Q-Learning-basiertes Trainingsmodell kann Modelle zur Entscheidungshilfe erstellen, zum Beispiel zur Bestimmung optimaler Zeitpunkte für den Kauf oder Verkauf von Vermögenswerten.
  • Gaming. Q-Learning-Modelle können Spielsysteme trainieren, um ein Expertenlevel beim Spielen einer Vielzahl von Spielen zu erreichen, da das Modell die optimale Strategie zum Weiterkommen lernt.
  • Empfehlungssysteme. Q-Learning-Modelle können dazu beitragen, Empfehlungssysteme, wie Werbeplattformen, zu optimieren. So kann beispielsweise ein Anzeigensystem, das Produkte empfiehlt, die häufig zusammen gekauft werden, auf der Grundlage der Auswahl der Benutzer optimiert werden.
  • Robotik. Q-Learning-Modelle können dabei helfen, Roboter für die Ausführung verschiedener Aufgaben zu trainieren, beispielsweise Objektmanipulation, Hindernisvermeidung und Transport.
  • Selbstfahrende Autos. Autonome Fahrzeuge verwenden viele verschiedene Modelle, und Q-Learning-Modelle helfen dabei, Modelle für Fahrentscheidungen zu trainieren, zum Beispiel wann sie die Spur wechseln oder anhalten müssen.
  • Lieferkettenmanagement. Der Waren- und Dienstleistungsfluss als Teil des Lieferkettenmanagements kann mit Q-Learning-Modellen verbessert werden, um den optimalen Weg für die Vermarktung von Produkten zu finden.

Q-Learning mit Python

Python ist eine der gängigsten Programmiersprachen für maschinelles Lernen. Sowohl Anfänger als auch Experten verwenden Python häufig, um Q-Learning-Modelle anzuwenden. Für Q-Learning und alle datenwissenschaftlichen Vorgänge in Python benötigen Benutzer Python, um auf einem System mit der NumPy-Bibliothek (numerisches Python) zu schreiben, die Unterstützung für mathematische Funktionen zur Verwendung mit KI bietet.

Mit Python und NumPy werden Q-Learning-Modelle mit wenigen grundlegenden Schritten eingerichtet:

  • Definieren der Umgebung. Erstellen von Variablen für Zustände und Aktionen, um die Umgebung zu definieren.
  • Initialisieren der Q-Tabelle. Der Anfangszustand der Q-Tabelle wird auf Null gesetzt.
  • Festlegen von Hyperparametern. Parameter in Python festlegen, um die Anzahl der Episoden, die Lern- und Erkundungsrate zu definieren.
  • Q-Learning-Algorithmus ausführen. Der Agent wählt eine Aktion entweder zufällig oder basierend auf dem höchsten Q-Wert für den aktuellen Zustand aus. Nachdem die Aktion ausgeführt wurde, wird die Q-Tabelle mit den Ergebnissen aktualisiert.

Gängige Frameworks wie Gymnasium (Farama Foundation) oder PyTorch können zur Implementierung genutzt werden.

Q-Learning-Anwendung

Vor der Anwendung eines Q-Learning-Modells ist es wichtig, zunächst das Problem zu verstehen und zu wissen, wie das Q-Learning-Training auf dieses Problem angewendet werden kann.

Richten Sie Q-Learning in Python mit einem Standard-Code-Editor oder einer integrierten Entwicklungsumgebung ein, um den Code zu schreiben. Um ein Q-Learning-Modell anzuwenden und zu testen, verwenden Sie ein Tool für maschinelles Lernen, wie beispielsweise das Gymnasium der Farama Foundation. Andere gängige Tools sind das Open-Source-Framework PyTorch für maschinelles Lernen zur Unterstützung von Workflows für bestärkendes Lernen, einschließlich Q-Learning.

Diese Definition wurde zuletzt im Mai 2025 aktualisiert

Erfahren Sie mehr über Künstliche Intelligenz (KI) und Machine Learning (ML)