Was versteht man unter Proximal Policy Optimization?

Abstraktes Bild eines Balls

Proximal Policy Optimization (PPO) ist ein Deep Reinforcement Learning- Algorithmus zur Verbesserung der Leistung von Modellen durch Reinforcement Learning. Die Richtlinie in PPO zeigt an, wie ein Agent – z. B. ein Roboter oder ein Programm – gelernt hat, sich in der Welt zu verhalten. Dieser Ansatz für revolutioniertes Lernen ist ein wichtiger Teil davon, wie Agenten und Systeme lernen können, während sie mit Benutzern und der Welt interagieren. Moderne große Sprachmodelle (wie Ableitungen von OpenAIs ChatGPT) verwenden PPO für das Reinforcement Learning aus menschlichem Feedback (RLHF). PPO ist außerdem einer der häufigsten Algorithmen zur Schulung von Agenten in Videospielen, Robotic Process Automation und selbstfahrenden Autos.

PPO wurde erstmals von John Schulman, Filip Wolski et al. 1 in einem Artikel mit dem Titel Proximal Policy Optimization Algorithms vorgestellt. Um zu verstehen, wie PPO funktioniert und warum es wichtig ist, sollten wir mit Reinforcement Learning (RL) beginnen. Der RL-Prozess nutzt maschinelles Lernen, um einem System zu helfen, eine Aktion basierend auf der Umgebung und einem Ziel auszuwählen. Der Mensch trifft solche Entscheidungen ständig. Zum Beispiel entscheiden wir beim Blackjack, ob wir eine weitere Karte ziehen („Hit“) oder die Karten behalten („Stay“), die wir bereits haben. Reinforcement Learning hat vier grundlegende Elemente: Agent, Umgebung, Aktionen und Belohnungen. In dem Beispiel des Blackjack-Spiels haben wir:

Agent: der Mensch, der das Spiel spielt. 

Umgebung: welche Karten der Spieler hat und welche Karten der Geber hat, die er sehen kann.

Aktionen: ob man „zieht“ (eine neue Karte erhält) oder „bleibt“ (die aktuellen Karten behält). 

Belohnungen: oOb der Nutzer die Hand gewinnt oder verliert. 

Eine Richtlinie ist eine Strategie oder ein Regelsatz, dem ein Akteur, wie beispielsweise ein Roboter oder ein Softwareprogramm, folgt, um basierend auf seiner Umgebung eine bestimmte Aktion auszuwählen. Die Policy enthält eine Zuordnung von Umgebungen zu möglichen Maßnahmen, die der Agent ergreifen sollte. Die Richtlinien können einfach sein, mit einer festen Aktion für jeden Zustand, oder sie können komplex sein, wobei die Richtlinie Schätzungen oder Berechnungen zur Auswahl und Lernmechanismen zur Bestimmung optimaler Aktionen beinhaltet. Das Ziel ist es, eine Policy zu finden, die die kumulative Belohnung, die der Agent im Laufe der Zeit erhält, maximiert. Eine einfache Blackjack-Regel könnte lauten: „Ziehe eine weitere Karte, wenn deine Karten unter 17 sind, und halte, wenn deine Karten über 18 sind.“ Der Agent vergleicht die Umgebung mit der Policy und wählt eine Aktion auf Grundlage der Policy aus.

Wie ein Agent PPO nutzt, um aus einer Umgebung zu lernen und eine Policy zu aktualisieren Proximal policy optimization diagram

RL ist eine Möglichkeit, einem Agenten dabei zu helfen, eine Policy zu erlernen, die ihm bei der Entscheidung hilft, welche Maßnahmen er ergreifen soll, um die Belohnungen zu maximieren. PPO ist eine leistungsstarke Technik, die Agenten hilft, effektiver zu lernen. Sie wurde in Anwendungen vom Bau von Robotern bis hin zur Verbesserung der Argumentation und Reaktion großer Sprachmodelle (LLMs) auf Prompts verwendet. PPO ist einer der grundlegenden Bestandteile des Reinforcement Learning mit menschlichem Feedback (RLHF), das zum Trainieren von LLMs verwendet wird. Sie ist die letztgenannte Methode, die einen Großteil der jüngsten Forschung zu RL vorangetrieben hat.

Policy Learning

Es gibt zwei große Familien von RL-Methoden. Die erste Gruppe sind wertbasierte Methoden, die die Umgebung bewerten und anhand der erwarteten Belohnung die beste Vorgehensweise für diese Umgebung bestimmen. Alle möglichen Aktionen werden bewertet und der Agent wählt die Aktion mit der höchsten erwarteten Belohnung aus. Um die beste Lösung zu finden, konzentriert sich der Agent darauf, eine Wertfunktion zu lernen, die die erwartete kumulative Belohnung (Rendite) aus jeder Umgebung oder jedem Umgebungs-Aktionspaar schätzt. Die Policy wird indirekt abgeleitet, indem Maßnahmen ausgewählt werden, die den geschätzten Wert mithilfe eines Werts maximieren. Die Idee ist, für jede mögliche Aktion, die zu einer optimalen Policy führt, eine optimale Wertfunktion zu finden. Wenn es begrenzte Maßnahmenpaare und Umgebungen gibt, die untersucht werden müssen, kann dieser Ansatz sehr effektiv sein. Der Agent berechnet die zu erwartende Belohnung für jede Maßnahme und wählt seine Maßnahme auf Grundlage dieser Schätzung aus. Bei großen Maßnahmenräumen, wenn die Anzahl der möglichen Maßnahmen hoch ist, wird es schwierig, die Rendite für jede mögliche Maßnahme abzuschätzen. Ein Roboter, der entscheidet, wie er einen Arm mit mehreren Gelenken im 3D-Raum drehen soll, steht vor Tausenden möglicher Entscheidungen – viel zu viele, um für jede mögliche Kombination von Gelenkspositionen eine Funktion zu berechnen. Es beschränkt den Agenten außerdem auf vordefinierte Aktionen, sodass er keine neuen oder innovativen Strategien entwickeln kann.

Dies führt zu einem zweiten Ansatz: policy-orientierten Methoden. Eine Policy ist eine Strategie oder ein Regelsatz, dem ein Akteur, wie beispielsweise ein Roboter oder ein Softwareprogramm, folgt, um auf der Grundlage seiner Umgebung Entscheidungen zu treffen. Die Policy enthält eine Zuordnung von Umgebungen zu möglichen Maßnahmen, die der Agent ergreifen sollte. Policies können einfach sein, mit einer festen Aktion für jeden Zustand, oder sie können komplex sein, wobei die Policy Vorteilschätzungen und -berechnungen zur Auswahl und Lernmechanismen zur Bestimmung optimaler Maßnahmen einbezieht. Das Ziel ist es, eine Policy zu finden, die die kumulative Belohnung, die der Agent im Laufe der Zeit erhält, maximiert. Stellen Sie sich ein Modell vor, das versucht zu entscheiden, wann es bestimmte Aktien kaufen, verkaufen oder halten soll. Eine Policy definiert, wann der Agent je nach Trend oder Verhalten des gesamten Aktienmarktes über den Kauf oder Verkauf einer Aktie nachdenken sollte.

Eine policy-basierte Lernmethode lernt, welche Aktionen für einen gegebenen Zustand zu bevorzugen sind, ohne deren erwartete Ergebnisse direkt abzuschätzen. Dieser Ansatz bedeutet, dass der Agent viele weitere mögliche Maßnahmen für jeden Zustand lernen kann und nicht für jeden einzelnen Zustand eine Wertfunktion schätzen muss. Der Agent optimiert die Strategie, indem er die Wahrscheinlichkeit der Wahl einer Maßnahme anpasst, um den erwarteten Ertrag zu maximieren, ohne für jede Maßnahme eine Vorteilsfunktion zu schätzen. Dieser Prozess erfordert deutlich mehr Daten und eine komplexe Lernarchitektur, da die Anzahl der möglichen Maßnahmen für einen gegebenen Zustand theoretisch unendlich ist. Policy-Gradienten gehören zur zweiten Kategorie.

Beim Policy-Learning gibt es zwei grundlegende Ansätze, um einem Agenten eine Strategie beizubringen. Bei den On-Policy-Methoden werden ausschließlich die aktuellen Maßnahmen genutzt, um Lernprozesse anzustoßen – man lernt aus dem, was man tut. Stellen Sie sich ein selbstfahrendes Auto vor, das im Verlauf mehrerer Fahrten versucht, die optimale Route zu einem Ziel zu finden. Beim On-Policy-Lernen lernt das Auto nur aus den Routen, die es nimmt.

Die Policy steuert die Maßnahmen der Agenten in jeder Umgebung, einschließlich des Entscheidungsfindungsprozesses während des Lernens. Der Agent wertet die Ergebnisse seiner aktuellen Maßnahmen aus und verfeinert seine Strategie schrittweise. Diese Methode ermöglicht es dem Agenten, seine Entscheidungsfindung anzupassen und zu verbessern, indem er direkt mit der Umgebung interagiert und aus seinen eigenen Echtzeitinteraktionen lernt.

Bei sogenannten Off-Policy-Methoden würde das Auto die von anderen selbstfahrenden Autos zurückgelegten Routen beobachten, um aus deren Maßnahmen zu lernen. Das Auto muss nicht denselben Policies wie die Autos folgen, die es beobachtet, aber es kann beobachten, welche Belohnungen sie für ihre Maßnahmen erhalten, und seine eigenen Policies entsprechend aktualisieren. Dabei geht es darum, den Wert der optimalen Strategie unabhängig von den Maßnahmen des Akteurs zu ermitteln. Diese Methoden ermöglichen es dem Agenten, aus Beobachtungen etwas über die optimale Policy zu lernen, auch wenn er diese nicht befolgt. Diese Methode ist nützlich, um aus einem festen Datensatz oder einer Lehr-Policy zu lernen.

Policy Gradient

Der Policy Gradient ist ein On-Policy-Ansatz zur Erstellung einer Policy, der die Policy selbst direkt optimiert, indem er dem Gradienten der erwarteten Rendite in Bezug auf die Parameter der Policy folgt. Konzeptionell ähnelt es dem stochastischen Gradientenabstieg (SGD), der versucht, den Fehler einer Vorhersage mit einer Verlustfunktion zu minimieren. Es gibt jedoch einen entscheidenden Unterschied: SGD schätzt in der Regel Parameter, um einen Verlust zu minimieren. Ein Policy Gradient hingegen versucht, die Parameter der Policy-Verteilung zu schätzen, um Maßnahmen zu priorisieren, die den Nutzen maximieren. Das Ziel ist es, eine Wahrscheinlichkeitsverteilung für alle möglichen Maßnahmen zu erstellen, die Maßnahmen, die höhere Belohnungen gewähren, wahrscheinlicher macht und Maßnahmen, die geringere Belohnungen gewähren, unwahrscheinlicher macht.

Policy Gradients sind sogenannte akteurkritische Methoden. Der Akteur ist ein politisches Netzwerk, das Maßnahmen auswählt, und der Kritiker schätzt ein, wie gut diese Policy die Maßnahmen für Zustände mit einer bestimmten Belohnung in Einklang bringt.

Wenn Ihre Policy lautet  πθ(a|s) (eine Wahrscheinlichkeitsverteilung über Aktionen), und das Ziel der Akteure ist es, den erwarteten Ertrag zu maximieren, der mit bezeichnet wird J(θ)  dann würden Gradientenaufstiegsschritte wie folgt definiert sein sein:

 θ←θ+a∇θJ(θ) 

In diesem θ ist der Vektor der Policy-Parameter, der die Wahrscheinlichkeitsverteilung von Aktionen bestimmt. Die alte Policy wurde aktualisiert,  ← , gemäß der vorherigen Policy zuzüglich der Lernrate  a  multipliziert mit dem Policy Gradient. Der Policy Gradient ist  ∇θ  der Gradient in Bezug auf  θ  mal eine Zielfunktion  J(θ)  das entspricht der erwarteten Rendite aus der Policy.

Ein Policy Gradient lernt, indem er die aktuelle Policy anwendet, eine Maßnahme auswählt, die Belohnung bewertet und dann den Gradienten der Zielfunktion berechnet. Der Algorithmus wendet dann ein Policy-Update für die nächste Iteration an, wenn er eine Maßnahme ausführen und den durch das Update gewonnenen Vorteil beobachten kann.

Kernstück des Policy Gradient-Ansatzes ist das Policy Gradient-Theorem, das zeigt, wie eine Policy  Jθ optimiert werden kann. Der Gradient gibt einfach an, um wie viel die Wahrscheinlichkeit einer Maßnahme durch die Strategie, multipliziert mit den durch diese Maßnahmen erzielten Belohnungen, erhöht oder verringert wird. Die Gleichung für das Policy Gradient-Theorem lautet:

 ∇θJ=E[∇θ·logπ(a∣s)A(s,a)]

 

Diese Gleichung besagt, dass der Gradient einer gegebenen Policy  J für die Parameter  θ auf eine Erwartung gesetzt werden kann  E . Diese Erwartung ist eine Score-Funktion  ∇θ  mal die Log-Wahrscheinlichkeit der gewählten Maßnahme  logπ(a∣s)  und  A(s,a) , die Belohnung für das Ergreifen der Maßnahme des Agenten  a im Zustand  s .

Ein Policy Gradient ermöglicht es einem Agenten, viele Varianten zu erkunden und schnell und effizient zu berechnen, welche die größte Belohnung bringen. Diese Technik ist allerdings nicht fehlerfrei. Beispielsweise konvergieren Policy Gradient-Methoden oft zu einem lokalen Maximum anstatt zu einem globalen Optimum. Die Berechnung eines Policy Gradient kann länger dauern als das Training anderer Arten von On-Policy-Methoden. Der Policy Gradient selbst kann eine hohe Varianz erzeugen, was bedeutet, dass die Schätzung des Gradienten selbst sehr ungenau ist. Dieses Ergebnis kann dazu führen, dass der Prozess den Verlauf des Gradienten falsch einschätzt und wie stark sich Policy-Änderungen darauf auswirken.

Ein klassisches Beispiel für einen Policy Gradient-Algorithmus ist die Trust Region Policy Optimization (TRPO)2. Sie war bei ihrer Einführung ein bedeutender Durchbruch, weist aber mehrere bekannte Probleme auf, die ihre praktische Anwendung erschweren.

Verständnis der Proximal Policy Optimization

PPO ist eine Verbesserung gegenüber der Verwendung eines Policy Gradient zum Lernen. Im Wesentlichen geht es darum, wie man mit den vorhandenen Daten den größtmöglichen Verbesserungsschritt bei einer Policy erzielen kann, ohne dabei so große Policy-Änderungen vorzunehmen, dass die Leistung zusammenbricht. Bei Methoden mit Policy Gradient wird die Policy verbessert, indem ihre Parameter in die Richtung verschoben werden, die die erwartete Belohnung erhöht. Allerdings können große Aktualisierungen die Leistung erheblich beeinträchtigen, und ein einziger übermäßig aggressiver Gradientenschritt kann das Verhalten des Agenten dramatisch verändern und zum Zusammenbruch des Lernprozesses führen. Frühere Algorithmen (wie TRPO) lösten dieses Problem, indem sie eine Beschränkung einführten, wie weit die neue Strategie von der alten abweichen darf, aber sie waren mathematisch komplex.

PPO hält Richtlinienaktualisierungen nah an der vorherigen Richtlinie und vermeidet gleichzeitig die Notwendigkeit komplexer Einschränkungen. Anstatt das nächste Update stochastisch zu wählen, verwendet PPO ein sogenanntes abgeschnittenes Surrogat-Ziel, das verhindert, dass die Policy große Sprünge macht. Die Strategie wird sich dennoch verbessern – das heißt, der Gradient der Belohnung steigt, wenn der Akteur sie anwendet und die Ergebnisse beobachtet –, aber er wird dies auf sichere Weise tun.

Bei einem Policy Gradient wird in jeder Iteration ein Gradientenaufstiegsschritt auf der Policy-Zielfunktion durchgeführt. Die Schrittweite stellt eine Herausforderung dar. Ist der Schritt zu klein, verläuft der Trainingsprozess langsam; ist er zu groß, gibt es zu viele Schwankungen in der Policy, als dass der Agent eine optimale Lösung finden könnte.

Abgeschnittene Surrogat-Zielfunktion

Bei PPO besteht die Idee darin, Policy-Aktualisierungen mit einer abgeschnittenen Ersatzzielfunktion einzuschränken, die die Policy-Änderung auf einen bestimmten Bereich beschränkt. Diese Funktion ist wie folgt gegeben:

 LCLIP(θ)=Et[rt(θ)At,clip(rt(θ),1-ϵ,1+ϵ)At)] 


Um diese Formel aufzuschlüsseln, ist der erste Teil die Verhältnisfunktion:  rt(θ) . Diese Verhältnisfunktion ist:

 rt(θ)=πθ(at∣st)πθold(at∣st) 


Das ist die Wahrscheinlichkeit, Maßnahmen zu ergreifen at  im​ Zustand  st  in der aktuellen Policy geteilt durch die vorherige. Hiermit wird das Wahrscheinlichkeitsverhältnis der aktuellen und der alten Policy berechnet. Wenn  rt(θ)>1 , dann die Maßnahme  at  im Zustand  st  ist in der aktuellen Policy wahrscheinlicher als in der alten Policy. Ist das Verhältnis kleiner als 1, so entspricht die Maßnahme weniger der aktuellen als der alten Policy.

Dieser Abschnitt  clip(rt(θ),1-ϵ,1+ϵ) zeigt, wie PPO die Funktion abschneidet, indem sie Surrogatbeschränkungen verwendet, um Änderungen zu bestrafen, die zu einem Verhältnis weg von 1 führen. Dieser Schritt zeigt, dass, wenn der Algorithmus Änderungen in der Policy ausprobiert, diese Änderungen durch den Epsilon-Wert klein gehalten werden  ϵ .

Der Hauptvorteil dieses Ansatzes mit beschnittenen Ersatzfunktionen besteht darin, dass er nur kleine Änderungen erfordert und recheneffizient ist. Ältere Methoden wie TRPO verwenden die KL-Divergenz nach der Berechnung der Zielfunktion, um die Policy-Aktualisierung einzuschränken. Dieser Ansatz kann zwar effektiv sein, um Aktualisierungen einzuschränken, erfordert jedoch eine komplexe Implementierung und längere Rechenzeiten. PPO implementiert das Clip-Wahrscheinlichkeitsverhältnis direkt in die Zielfunktion und beschleunigt so jede Trainingsepoche.

Ein weiterer Vorteil von PPO gegenüber vielen anderen Ansätzen besteht darin, dass sie eine höhere Stichprobeneffizienz erzeugt, das heißt, jede Interaktion mit der Umwelt führt zu einer größeren Verbesserung der Policy. PPO erreicht diese Effizienz, indem sie einen Minibatch von Rollout-Daten erstellt, der dieselben Interaktionsdaten über mehrere Aktualisierungen hinweg verwenden kann. Andere Ansätze wie Deep Q-Networks können noch effizienter sein, sind aber rechenintensiver und daher nicht bevorzugt, wenn genügend Daten vorhanden sind.

Generalisierte Vorteilsschätzung

Ein entscheidender Aspekt bei der Aktualisierung der Richtlinie ist die Abschätzung, welchen Vorteil die neue Richtlinie gegenüber früheren Versionen bietet. Dieser Schritt ist rechentechnisch komplexer als die einfache Berechnung der Differenz der Belohnungen für zwei Strategien in einem gegebenen Schritt. Die Agenten müssen herausfinden, wie stark die Maßnahmenwahrscheinlichkeiten auf mehrere Schritte verteilt sind. Selbst in einem relativ einfachen Blackjack-Spiel wird die Handlung, die ein Schauspieler ausführt, erst mehrere Spielrunden später realisiert. Diese Methode wird in einem Spiel wie Schach oder in einem Szenario mit robotischer Navigation noch wichtiger.

Um diese Aktualisierungen zu erfahren, verwendet PPO eine sogenannte iterative generalisierte Vorteilsschätzungsstrategie (GAE). Dieser Schritt hilft dabei festzustellen, wie gut die Policy funktioniert und inwieweit man von der aktuellen Policy abweichen sollte, um sie zu verbessern. GAE berechnet Vorteile, indem zukünftige Fehler exponentiell gewichtet werden. Dadurch erhält PPO ein Lernsignal mit geringer Varianz und geringer Verzerrung, was die Aktualisierung der Policy stabil und stichprobeneffizient macht.

Wird die Anhäufung tatsächlicher Belohnungen zu früh gestoppt, entsteht eine hohe Verzerrung, da nur ein kleiner Teil des wahren Ertrags neben minimalen tatsächlichen Belohnungen berücksichtigt wird. Eine zu hohe Anzahl von Belohnungen führt zu einer hohen Varianz, da die Schätzung instabil werden kann, wenn man sich auf eine größere Anzahl realer Stichproben stützt.

Anwendung von PPO

Bibliotheken wie Stable-Baselines3 und RLlib bieten vollwertige Implementierungen von PPO, die auf eine Vielzahl von Domänen und Problemen angewendet werden können. Es gibt auch leichtere Implementierungen wie CleanRL, die Tutorials zum Selbstlernen enthalten, die in PyTorch geschrieben sind, und Tensorflow ist auf GitHub zu finden.

Bibliotheken wie Transformer Reinforcement Learning (TRL) von HuggingFace sind speziell dafür optimiert, Transformer-Sprachmodelle mit RL-Algorithmen wie PPO zu trainieren. In diesem Kontext trägt PPO dazu bei, dass die Modelle lernen, Antworten auszuwählen, die besser mit den Zielen des Modellentwicklers und dem menschlichen Feedback übereinstimmen.

Autor

Joshua Noble

Data Scientist

Weitere Lösungen
IBM watsonx.ai

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

  1. watsonx.ai erkunden
  2. Live-Demo buchen
Fußnoten

1. Schulman, J., Wolski, F., Dhariwal, P., Radford, A., & Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347.

2. Schulman, J., Levine, S., Abbeel, P., Jordan, M., & Moritz, P. (2015, Juni). Trust region policy optimization. In International conference on machine learning (S. 1889–1897). PMLR.