Grafik von Conny Schneider – https://unsplash.com/de/@choys_

On-Policy and Off-Policy: Was ist der Unterschied?

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

Die Texte in diesem Artikel wurden teilweise mit Hilfe künstlicher Intelligenz erarbeitet und von uns korrigiert und überarbeitet. Für die Generierung wurden folgende Dienste verwendet:

Einordnung

Reinforcement Learning ist ein komplexes Thema mit teilweise komplexen Algorithmen. Entsprechende Algorithmen haben an vielen Stellen unterschiedlichste Parameter und Kenngrößen, die die Leistungsfähigkeit und Effizienz eines Algorithmus (maßgeblich) bestimmen. Heute geht es hier um einen relativ großen Bereich - On-Policy-Learning vs. Off-Policy-Learning. Algorithmen aus dem Bereich des Reinforcement Learning werden in diese beiden Lernklassen unterteilt.

Die Grundidee vom Reinforcement Learning

Reinforcement Learning ist ein algorithmisches Konzept, um einen (oder mehrere) Agenten Aktionen in einer Umgebung ausführen zu lassen, um eine vordefinierte Zielvariable zu optimieren. Klassischerweise wird dabei versucht, die Belohnung oder den discounted Reward maximiert, der als Zielfunktion durch verschiedene umgebungsinterne Größen definiert werden kann. Über die Zielvariable kann ein Reinforcement-Learning-Algorithmus nun eine Bestrafung oder Belohnung über eine Update-Formel in das zugrundeliegende mathematische Modell einbauen, um in der nächsten Iteration der Umgebung (hoffentlich) eine bessere Performance zu erzielen als zuvor. Und hier kommen wir zum Knackpunkt: der Update-Formel.

Innerhalb der Update-Formel können verschiedene Unterscheidungen getroffen werden. So sind Parameter wie die Lernrate α\alpha oder der Discounting Factor γ\gamma bekannte Einflussgrößen auf den Lernprozess. Hier geht es jedoch um eine andere Entscheidung: Folgt die Update-Formel der Trajektorie von Beobachtungen und Aktionen oder wird auf andere Weise versucht, eine Optimierung des mathematischen Modells zu erreichen? 1 2 3

On-Policy vs Off-Policy

Die Unterscheidung zwischen den beiden Lerntypen On-Policy und Off-Policy ergibt sich aus dem Dilemma “Exploration vs. Exploitation”. Letztlich ist es relevant, den Raum aller Kombinationen von Beobachtungen und Handlungen mit einer ausreichend großen Stichprobe zu durchsuchen, ohne in einem lokalen Optimum stecken zu bleiben. Die Unterscheidung zwischen On-Policy und Off-Policy bezieht sich hier darauf, wie der Agent seine Erfahrung nutzt, um seine Strategie (Policy) zu bestimmen. Grundsätzlich können wir die beiden Lernklassen wie folgt unterscheiden:

  1. Bei On-Policy haben wir nur ein Modell (und damit auch nur eine resultierende Strategie), welches gleichzeitig lernt und die Umgebung erkundet.

  2. Bei Off-Policy besitzen wir theoretisch zwei getrennte Modelle. Ein Modell ist für das Erkunden der Umgebung zuständig (Behavior-Policy) und ein anderes für das Lernen der entsprechenden Zustands-Aktionswerte (Target-Policy oder Update-Policy).

In der Praxis sind die beiden Modelle nicht unbedingt vollständig voneinander getrennt. Hier ist es sinnvoll, die Behavior-Policy zu aktualisieren, indem die Werte der Target-Policy übernommen werden oder ein entsprechendes Soft-Update durchgeführt wird.

Der Vorteil von On-Policy-Learning ist, dass es konsistent mit der Erfahrung des Agenten ist und keine Annahmen über die optimale Strategie macht. Der Nachteil ist, dass es unter Umständen nachteilig für Konvergenz nachteilig sein kann, da es mehr Exploration erfordert, um gute oder optimale Lösungen zu finden. Dies liegt unter anderem daran, dass unter Umständen schlechte Aktionen häufiger wiederholt werden, bevor diese durch das Training nicht weiter durchgeführt werden.

Der Vorteil von Off-Policy-Learning ist, dass es schneller konvergieren kann, da es direkt auf die optimale Strategie abzielt und weniger Exploration der Umgebung benötigt. Der Nachteil von Off-Policy-Learning ist, dass es inkonsistent mit der Erfahrung des Agenten sein kann und eine hohe Varianz aufweisen kann. 1 2

SARSA - On-Policy

Um die Art des Lernens von On-Policy zu betrachten, gehen wir zurück zu den tabular methods und damit in die Richtung des Q-Learnings. Als einfaches Beispiel für On-Policy wird hier häufig der SARSA-Algorithmus genannt. SARSA steht für State-Action-Reward-State-Action und beschreibt in diesem Sinne die Update-Formel

Q(st,at)Q(st,at)+α[rt+γQ(st+1,at+1Q(st,at))].Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_t + \gamma Q \left(s_{t + 1}, a_{t + 1} - Q(s_t, a_t) \right) \right].

Es ist leicht zu erkennen, dass die Update-Formel nur Aktionen und Beobachtungen verwendet, die auch durch den Algorithmus selbst oder durch eine Explorationskomponente generiert wurden. Ein klassisches Beispiel hierfür wäre ϵ\epsilon-Greedy-Exploration.

Insgesamt haben On-Policy-Algorithmen den Vorteil, dass die optimale Aktion in einem beliebigen Schritt häufiger gewählt wird als andere Aktionen und somit schneller konvertiert. Problematisch ist jedoch, dass durch die stärkere Ausnutzung des gelernten Wissens auch die Gefahr besteht, dass das Modell in ein lokales Optimum “läuft” und dort stecken bleibt. 1 4

Q-Learning - Off-Policy

Als einfaches Beispiel für Off-Policy-Learning, ist der Algorithmus vom Q-Learning populär geworden. Die Update-Formel lautet wie folgt:

Q(st,at)Q(st,at)+α[rt+γmaxaAQ(st+1,a)Q(st,at)].Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_t + \gamma \max_{a' \in A} Q(s_{t + 1}, a') - Q(s_t, a_t) \right].

Bei genauerer Betrachtung erkennt man hier die Unterscheidung in Behavior-Policy und Target-Policy: Die Behavior-Policy dient dazu, durch Exploration eine Aktion zu generieren. Diese wird über die gesamte Episode verwendet, bis die Episode terminiert. Danach wird für jeden ausgeführten Zeitschritt eine Aktualisierung der Zustandswerte auf Basis des Maximums in der Q-Tabelle des aktuellen Zeitschritts durchgeführt.

Der wesentliche Unterschied zwischen SARSA und Q-Learning liegt in einem sehr zentralen Punkt:

  1. Bei SARSA arbeiten wir im Training über die gesamte Episode auf den ausgewählten Aktionen, die durch den Term Q(st+1,at+1)Q(s_{t + 1}, a_{t + 1}) gesteuert werden. Die Aktion, auf der das Update durchgeführt wird, ändert sich nicht über die Episode. Eine solche Aktualisierung entspricht der aktuellen Strategie des Agenten.

  2. Beim Q-Learning wird auf der Episode über der jeweils besten Aktion trainiert, die durch den Term maxaAQ(st+1,a)max_{a' \in A} Q(s_{t + 1}, a') gesteuert wird. Dabei kann es vorkommen, dass zu einem frühen Zeitpunkt der Episode eine Aktion ein höherer Wert zugewiesen wird - und somit eine andere Aktion aktualisiert wird, als eigentlich ausgewählt wurde. Dies stellt die Zielstrategie dar. Eine solche Aktualisierung stellt nicht die aktuelle Strategie des Agenten dar, sondern eine optimale Strategie.

Off-Policy bietet sich oft an, um eine bessere Perspektive für entsprechende Aktionen zu erhalten, als dies bei On-Policy der Fall wäre. Dies verringert auch die Gefahr, in einem lokalen Optimum stecken zu bleiben. 1 2

Ein weiterer Grund für den Einsatz von Off-Policy-Algorithmen (vor allem im Bereich “Deep Learning”) ist die Möglichkeit, Experience Replays zu nutzen, die die Sample Efficiency entsprechender Algorithmen erhöhen. Bei On-Policy-Algorithmen ist die Verwendung von Experience Replays nicht möglich, da in einem Experience alte Informationen gespeichert werden. Die aktuelle Strategie muss diesen Trajektorien in späteren Phasen des Trainings nicht mehr unbedingt folgen, somit würden wir andere Daten zum Training nutzen als eigentlich vorgesehen ist.

Die Sample Efficiency ist ein Begriff, der beschreibt, wie gut ein entsprechender Datenpunkt zum Lernprozess des Algorithmus beiträgt.

Quellen

Footnotes

  1. bealdung.com 2 3 4

  2. medium.com 2 3

  3. towardsdatascience.com

  4. wikipedia.org