Was ist der Unterschied zwischen modellfreiem und modellbasiertem Bestärkungslernen?


28

Was ist der Unterschied zwischen modellfreiem und modellbasiertem Bestärkungslernen?

Es scheint mir, dass jeder modellfreie Lernende, der durch Ausprobieren lernt, als modellbasiert bezeichnet werden könnte. Wann wären modellfreie Lernende in diesem Fall angemessen?


Siehe auch diese Antwort: qr.ae/TUtHbv .
nbro

Wie meinen Sie, dass Sie einen modellfreien Lernenden als modellbasiert umgestalten könnten?
HelloGoodbye

Hier ist eine ungekürzte Version von nbros Link: Was ist der Unterschied zwischen modellbasiertem und
JRH

Antworten:


14

Durch modellbasiertes Bestärkungslernen versucht ein Agent die Welt zu verstehen und ein Modell zu erstellen, um sie darzustellen. Hier ist das Modell versucht , zwei Funktionen zu erfassen, die Übergangsfunktion von Staaten und die Belohnungsfunktion . Ab diesem Modell hat der Agent eine Referenz und kann entsprechend planen.TR

Es ist jedoch nicht erforderlich, ein Modell zu erlernen. Stattdessen kann der Agent eine Richtlinie direkt mithilfe von Algorithmen wie Q-Learning oder Richtliniengradient erlernen.

Eine einfache Überprüfung, um festzustellen, ob ein RL-Algorithmus modellbasiert oder modellfrei ist, ist:

Wenn der Agent nach dem Lernen Vorhersagen über den nächsten Status und die nächste Belohnung treffen kann, bevor er die einzelnen Aktionen ausführt, handelt es sich um einen modellbasierten RL-Algorithmus.

Wenn dies nicht möglich ist, handelt es sich um einen modellfreien Algorithmus.


2
in Ihren Worten, "es ist nicht notwendig, ein Modell zu lernen", und meine Frage lautet: Warum sollte jemand jemals einen modellbasierten Ansatz wählen?
vin

4
Ein gutes Beispiel ist, wenn Sie möchten, dass ein Agent etwas über seine Umgebung erfährt, ohne etwas zu optimieren. Dies ist Teil des Problems des ständigen Lernens. Sie müssen ein internes Modell wie "Ich treffe Wände, wenn der Abstandssensor eine nahe Wand anzeigt" erstellen, damit der Agent diese Informationen auf mehrere Aufgaben verallgemeinern kann, wenn sie auftreten.
Jaden Travnik

2
danke @Jaden Travnik. ich verstehe, warum es nützlich wäre, eine darstellung der umgebung zu lernen ("ich stoße auf wände, wenn meine entfernung nah an einer wand ist"), ohne irgendeine aufgabe zu lösen (zb in die küche navigieren). aber warum sollte dies berücksichtigt werden modellfreien RL , und kein Vanille überwacht Aufgabe zu lernen?
vin

2
Dies wäre kein beaufsichtigtes Lernen, da keine beschrifteten Daten vorhanden sind. Der Agent hätte keine Ahnung, was Signale bedeuten, und konnte daher keinen Abstandssensor von einem Thermometer unterscheiden. Was der Agent lernt, sind Vorhersagen von Signalen basierend auf anderen Signalen, die selbst ein Modell seiner Welt sind.
Jaden Travnik

2
Bei einem modellbasierten Ansatz lernt der Agent, den nächsten Zustand anhand Ihrer ursprünglichen Erklärung vorherzusagen. Dies geschieht durch Lernen von <x, y>, wobei x (s1, Aktion) und y (s2, Belohnung) ist. Entschuldigung, wenn ich falsch interpretiere, aber ist das nicht beaufsichtigtes Lernen?
vin

12

Was ist der Unterschied zwischen modellfreiem und modellbasiertem Bestärkungslernen?

Beim Reinforcement Learning beziehen sich die Begriffe "modellbasiert" und "modellfrei" nicht auf die Verwendung eines neuronalen Netzwerks oder eines anderen statistischen Lernmodells zur Vorhersage von Werten oder sogar zur Vorhersage des nächsten Zustands (obwohl letzteres als verwendet werden kann Teil eines modellbasierten Algorithmus sein und als "Modell" bezeichnet werden, unabhängig davon, ob der Algorithmus modellbasiert oder modellfrei ist.

Stattdessen bezieht sich der Begriff ausschließlich darauf, ob der Agent während des Lernens oder Handelns Vorhersagen der Umgebungsreaktion verwendet. Der Agent kann eine einzelne Vorhersage aus dem Modell der nächsten Belohnung und des nächsten Zustands (eine Stichprobe) verwenden oder das Modell nach der erwarteten nächsten Belohnung oder der vollständigen Verteilung der nächsten Zustände und der nächsten Belohnungen fragen . Diese Vorhersagen können vollständig außerhalb des Lernagenten bereitgestellt werden - z. B. durch Computercode, der die Regeln eines Würfels oder Brettspiels versteht. Oder sie können vom Agenten erlernt werden. In diesem Fall handelt es sich um Näherungswerte.

Nur weil ein Modell der Umgebung implementiert ist, bedeutet dies nicht, dass ein RL-Agent "modellbasiert" ist. Um als "modellbasiert" zu qualifizieren, müssen die Lernalgorithmen das Modell explizit referenzieren:

  • Rein erfahrungsbasierte Algorithmen wie Monte Carlo Control, SARSA, Q-Learning und Actor-Critic sind "modellfreie" RL-Algorithmen. Sie stützen sich auf reale Proben aus der Umgebung und verwenden niemals generierte Vorhersagen des nächsten Zustands und der nächsten Belohnung, um das Verhalten zu ändern (obwohl sie möglicherweise aus dem Erfahrungsgedächtnis stammen, das einem Modell nahe kommt).

  • Die archetypischen modellbasierten Algorithmen sind die dynamische Programmierung (Policy Iteration und Value Iteration) - alle verwenden die Vorhersagen oder Verteilungen des nächsten Zustands und der nächsten Belohnung des Modells, um optimale Aktionen zu berechnen. Insbesondere bei der dynamischen Programmierung muss das Modell Zustandsübergangswahrscheinlichkeiten und die erwartete Belohnung für jedes Zustand-Aktionspaar bereitstellen. Beachten Sie, dass dies selten ein erlerntes Modell ist.

  • Grundlegendes TD-Lernen, bei dem nur Zustandswerte verwendet werden, muss auch modellbasiert sein, um als Steuerungssystem zu arbeiten und Aktionen auszuwählen. Um die beste Aktion auszuwählen, muss ein Modell abgefragt werden, das vorhersagt, was mit jeder Aktion geschehen wird, und eine Richtlinie wie wobei die Wahrscheinlichkeit ist, Belohnung und nächsten Zustand wenn Aktion in Zustand . Diese Funktion ist im Wesentlichen das Modell.π(s)=argmaxas,rp(s,r|s,a)(r+v(s))p(s,r|s,a)rsasp(s,r|s,a)

Die RL-Literatur unterscheidet zwischen "Modell" als Modell der Umgebung für "modellbasiertes" und "modellfreies" Lernen und der Verwendung statistischer Lernender wie neuronaler Netze.

In RL werden neuronale Netze häufig verwendet, um Wertfunktionen zu lernen und zu verallgemeinern, wie z. B. den Q-Wert, der die Gesamtrendite (Summe der abgezinsten Belohnungen) bei einem Zustands- und Aktionspaar vorhersagt. Ein solches trainiertes neuronales Netzwerk wird oft als "Modell" für zB überwachtes Lernen bezeichnet. In der RL-Literatur wird jedoch der Begriff "Funktionsapproximator" für ein solches Netzwerk verwendet, um Mehrdeutigkeiten zu vermeiden.

Es scheint mir, dass jeder modellfreie Lernende, der durch Ausprobieren lernt, als modellbasiert bezeichnet werden könnte.

Ich denke, Sie verwenden hier das allgemeine Verständnis des Wortes "Modell", um jede Struktur einzuschließen, die nützliche Vorhersagen macht. Dies würde zB für die Tabelle der Q-Werte in SARSA gelten.

Wie oben erläutert, wird der Begriff in RL jedoch nicht so verwendet. Obwohl Sie verstehen, dass RL nützliche interne Darstellungen erstellt, sind Sie technisch nicht korrekt, dass dies zum Umrahmen zwischen "modellfrei" und "modellbasiert" verwendet werden kann, da diese Begriffe in RL eine sehr spezifische Bedeutung haben .

Wann wären modellfreie Lernende in diesem Fall angemessen?

Im Allgemeinen sind modellfreie Ansätze beim aktuellen Stand der Technik in RL oftmals überlegen, wenn Sie kein genaues Modell als Teil der Problemdefinition haben.

Es besteht großes Interesse an Agenten, die Vorhersagemodelle der Umgebung erstellen, und dies als "Nebeneffekt" zu tun (obwohl es sich immer noch um einen modellfreien Algorithmus handelt), kann dennoch nützlich sein - es kann ein neuronales Netzwerk regulieren oder dabei helfen, wichtige Vorhersagemodelle zu entdecken Funktionen, die auch in Richtlinien- oder Wertnetzwerken verwendet werden können. Modellbasierte Agenten, die ihre eigenen Modelle für die Planung erlernen, haben jedoch das Problem, dass Ungenauigkeiten in diesen Modellen zu Instabilität führen können (die Ungenauigkeiten multiplizieren sich, je weiter der Agent in der Zukunft schaut). Einige vielversprechende Fortschritte werden mit Hilfe von Agenten und / oder Mechanismen erzielt, die auf der Vorstellungskraft basieren, um zu entscheiden, wann und wie sehr dem erlernten Modell bei der Planung vertraut werden soll.

Derzeit (2018) ist es am sichersten, einen modellfreien Ansatz wie DQN oder A3C zu verwenden, wenn Sie zu Beginn ein reales Problem in einer Umgebung ohne explizit bekanntes Modell haben. Das kann sich ändern, da sich das Feld schnell entwickelt und neue, komplexere Architekturen in einigen Jahren die Norm sein könnten.


1
Eine kleine Korrektur, normalerweise die Begriffe "modellbasiert" oder "modellfrei", wird für Planungsalgorithmen wie MCTS nicht verwendet. Es wird nur zur Klassifizierung von Lernalgorithmen verwendet.
Miguel Saraiva

@ MiguelSaraiva: Ich bin nicht 100% sicher, habe aber den Verweis auf MCTS entfernt. Wo würden Sie DynaQ aus Interesse in Bezug auf diese Einschränkung der Verwendung der Begriffe platzieren? Ich denke, es wird schwierig, zu erkennen, wo die Grenzen zwischen Planung und Lernen liegen, wenn alle Algorithmen eine solche gemeinsame Sicht auf das MDP-Modell und die Verbesserung der Richtlinien teilen.
Neil Slater

Ich könnte mich irren, ich bin ein Neuling in der Gegend. Ich erinnere mich nur an einen Lehrer aus der Praxis, der diesen Kommentar abgegeben hat, nachdem ich dieselbe Bemerkung gemacht hatte.
Miguel Saraiva

5

Beim Reinforcement Learning (RL) gibt es einen Agenten, der (in Zeitschritten) mit einer Umgebung interagiert . Bei jedem Zeitschritt wird der Agent entscheidet , und führt eine Aktion , , auf einer Umgebung und die Umwelt reagiert auf das Mittel durch vom aktuellen bewegten Zustand (der Umgebung), , in dem nächsten Zustand (die Umgebung), und durch Aussenden eines skalaren Signals, Belohnung genannt , . Im Prinzip kann diese Interaktion für immer andauern oder bis zB der Agent stirbt.as s ' rssr

Das Hauptziel des Agenten ist es, "auf lange Sicht" die größte Menge an Belohnungen zu sammeln. Dazu muss der Agent eine optimale Richtlinie finden (ungefähr die optimale Strategie für das Verhalten in der Umgebung). Im Allgemeinen ist eine Richtlinie eine Funktion, die unter Berücksichtigung des aktuellen Umgebungszustands eine Aktion (oder eine Wahrscheinlichkeitsverteilung über Aktionen, wenn die Richtlinie stochastisch ist ) zur Ausführung in der Umgebung ausgibt . Eine Richtlinie kann daher als die "Strategie" betrachtet werden, die der Agent verwendet, um sich in dieser Umgebung zu verhalten. Eine optimale Richtlinie (für eine bestimmte Umgebung) ist eine Richtlinie, bei deren Einhaltung der Agent auf lange Sicht die größte Belohnung erhält (was das Ziel des Agenten ist). In RL sind wir daher daran interessiert, optimale Richtlinien zu finden.

Die Umgebung kann deterministisch sein (dh ungefähr, dieselbe Aktion im selben Zustand führt für alle Zeitschritte zum selben nächsten Zustand) oder stochastisch (oder nicht deterministisch), dh, wenn der Agent eine Aktion in a ausführt Bestimmter Zustand, der daraus resultierende nächste Zustand der Umgebung muss nicht immer derselbe sein: Es besteht die Wahrscheinlichkeit, dass es sich um einen bestimmten Zustand oder einen anderen handelt. Diese Unsicherheiten erschweren es natürlich, die optimale Politik zu finden.

In RL wird das Problem häufig als Markov-Entscheidungsprozess (MDP) mathematisch formuliert . Ein MDP ist eine Darstellung der "Dynamik" der Umgebung, dh der Art und Weise, wie die Umgebung auf die möglichen Aktionen reagiert, die der Agent in einem bestimmten Zustand möglicherweise ausführt. Genauer gesagt ist ein MDP mit einer Übergangsfunktion (oder einem "Übergangsmodell") ausgestattet, bei der es sich um eine Funktion handelt, die angesichts des aktuellen Zustands der Umgebung und einer Aktion (die der Agent möglicherweise ausführt) eine Wahrscheinlichkeit ausgibt, zu einer anderen zu gelangen der nächsten Staaten. Eine Belohnungsfunktionist auch mit einem MDP verbunden. Intuitiv gibt die Belohnungsfunktion eine Belohnung aus, die dem aktuellen Zustand der Umgebung (und möglicherweise einer Aktion des Agenten und des nächsten Zustands der Umgebung) entspricht. Zusammengefasst werden die Übergangs- und Belohnung Funktionen oft das gerufene Modell der Umwelt. Abschließend ist der MDP das Problem und die Lösung des Problems ist eine Richtlinie. Darüber hinaus wird die "Dynamik" der Umgebung durch die Übergangs- und Belohnungsfunktionen (dh das "Modell") bestimmt.

Wir haben jedoch oft nicht die MDP, dh wir haben nicht die Übergangs- und Belohnungsfunktionen (der MDP ist mit der Umgebung verbunden). Daher können wir eine Richtlinie aus dem MDP nicht abschätzen, da sie unbekannt ist. Beachten Sie, dass wir im Allgemeinen, wenn die Übergangs- und Belohnungsfunktionen des MDP mit der Umgebung verknüpft wären, diese ausnutzen und eine optimale Richtlinie abrufen könnten (mithilfe dynamischer Programmieralgorithmen).

Wenn diese Funktionen fehlen (dh wenn der MDP unbekannt ist), muss der Agent mit der Umgebung interagieren und die Reaktionen der Umgebung beobachten, um die optimale Richtlinie abzuschätzen. Dies wird oft als die „Verstärkung Lernproblem“, da der Agent eine Politik schätzen müssen durch Stärkung ihrer Überzeugungen über die Dynamik der Umwelt. Mit der Zeit beginnt der Agent zu verstehen, wie die Umgebung auf seine Aktionen reagiert, und kann so die optimale Richtlinie abschätzen. In dem RL-Problem schätzt der Agent daher das optimale Verhalten in einer unbekannten (oder teilweise bekannten) Umgebung, indem er mit ihr interagiert (unter Verwendung eines "Versuch-und-Irrtum" -Ansatzes).

In diesem Zusammenhang eine modellbasierteAlgorithmus ist ein Algorithmus, der die Übergangsfunktion (und die Belohnungsfunktion) verwendet, um die optimale Richtlinie zu schätzen. Der Agent hat möglicherweise nur Zugriff auf eine Annäherung der Übergangs- und Belohnungsfunktionen, die vom Agenten während der Interaktion mit der Umgebung gelernt oder dem Agenten (z. B. von einem anderen Agenten) übergeben werden können. Im Allgemeinen kann der Agent in einem modellbasierten Algorithmus möglicherweise die Dynamik der Umgebung (während oder nach der Lernphase) vorhersagen, da er eine Schätzung der Übergangsfunktion (und der Belohnungsfunktion) hat. Beachten Sie jedoch, dass die Übergangs- und Belohnungsfunktionen, die der Agent verwendet, um die Schätzung der optimalen Richtlinie zu verbessern, möglicherweise nur Annäherungen an die "wahren" Funktionen sind. Aus diesem Grund wird die optimale Richtlinie möglicherweise nie gefunden (aufgrund dieser Annäherungen).

Ein modellfreier Algorithmus ist ein Algorithmus, der die optimale Richtlinie schätzt, ohne die Dynamik (Übergangs- und Belohnungsfunktionen) der Umgebung zu verwenden oder zu schätzen. In der Praxis schätzt ein modellfreier Algorithmus entweder eine "Wertefunktion" oder die "Richtlinie" direkt aus Erfahrung (dh der Interaktion zwischen Agent und Umgebung), ohne weder die Übergangsfunktion noch die Belohnungsfunktion zu verwenden. Eine Wertefunktion kann als eine Funktion betrachtet werden, die einen Zustand (oder eine in einem Zustand ausgeführte Aktion) für alle Zustände auswertet. Aus dieser Wertefunktion kann dann eine Richtlinie abgeleitet werden.

In der Praxis besteht eine Möglichkeit, zwischen modellbasierten und modellfreien Algorithmen zu unterscheiden, darin, die Algorithmen zu untersuchen und festzustellen, ob sie die Übergangs- oder Belohnungsfunktion verwenden.

Schauen wir uns zum Beispiel die Hauptaktualisierungsregel im Q-Learning-Algorithmus an :

Q(St,At)Q(St,At)+α(Rt+1+γmaxaQ(St+1,a)Q(St,At))

Wie wir sehen können, verwendet diese Aktualisierungsregel keine vom MDP definierten Wahrscheinlichkeiten. Hinweis: ist nur die Belohnung, die im nächsten Zeitschritt (nach dem Ausführen der Aktion) erhalten wird, die jedoch nicht unbedingt im Voraus bekannt ist. Q-Learning ist also ein modellfreier Algorithmus.Rt+1

Schauen wir uns nun die Hauptaktualisierungsregel des Algorithmus zur Richtlinienverbesserung an :

Q(s,a)sS,rRp(s,r|s,a)(r+γV(s))

Wir können sofort feststellen, dass es , eine vom MDP-Modell definierte Wahrscheinlichkeit. Also, Politik Iteration (ein dynamischer Programmieralgorithmus), die die Politik Verbesserung Algorithmus verwendet, ist ein modellbasierter Algorithmus.p(s,r|s,a)


2

Modellfreies RL

In Model-Free RL hat der Agent keinen Zugriff auf ein Modell der Umgebung. Mit Umwelt meine ich eine Funktion, die Zustandsübergänge und Belohnungen vorhersagt.

Zur Zeit des Schreibens sind modellfreie Methoden populärer und wurden ausgiebig erforscht.

Modellbasiertes RL

In modellbasiertem RL hat der Agent Zugriff auf ein Modell der Umgebung.

Der Hauptvorteil besteht darin, dass der Agent vorausschauend planen kann. Die Agenten fassen die Ergebnisse aus der vorausschauenden Planung in eine erlernte Richtlinie zusammen. Ein berühmtes Beispiel für modellbasiertes RL ist AlphaZero .

Der Hauptnachteil ist, dass eine Darstellung der Umgebung auf der Grundlage der Wahrheit in der Regel nicht verfügbar ist.


Im Folgenden finden Sie eine nicht vollständige Taxonomie der RL-Algorithmen, mit deren Hilfe Sie die RL-Landschaft möglicherweise besser visualisieren können.

Bildbeschreibung hier eingeben


1

Nach OpenAI - Arten von RL-Algorithmen werden Algorithmen, die ein Modell der Umgebung verwenden, dh eine Funktion, die Zustandsübergänge und Belohnungen vorhersagt, als modellbasierte Methoden und solche, die nicht als modellfrei bezeichnet werden, bezeichnet . Dieses Modell kann entweder dem Agenten übergeben oder vom Agenten erlernt worden sein.

Die Verwendung eines Modells ermöglicht es dem Agenten, vorausschauend zu planen, zu sehen, was bei einer Reihe möglicher Entscheidungen passieren würde, und sich explizit zwischen seinen Optionen zu entscheiden. Dies kann hilfreich sein, wenn Probleme auftreten, die längerfristiges Denken erfordern. Eine Möglichkeit, die Planung durchzuführen, ist die Verwendung einer Baumsuche, beispielsweise der Monte-Carlo-Baumsuche (MCTS) oder - was ich auch vermute - Varianten des schnell erkundenden Zufallsbaums (RRT). Siehe zB Agenten, die sich vorstellen und planen .

Der Agent kann dann die Ergebnisse aus der vorausschauenden Planung in eine erlernte Richtlinie umwandeln - dies wird als Experteniteration bezeichnet.

Ein Modell kann auch verwendet werden, um eine simulierte oder "imaginäre" Umgebung zu erstellen, in der der Status mithilfe des Modells aktualisiert wird, und um den Agenten zu veranlassen, innerhalb dieser Umgebung zu lernen, z. B. in World Models .

In vielen realen Szenarien steht dem Agenten das Grundwahrheitsmodell der Umgebung nicht zur Verfügung. Wenn ein Agent in diesem Fall ein Modell verwenden möchte, muss er das Modell lernen, was aus mehreren Gründen eine Herausforderung sein kann.

Es gibt jedoch Fälle, in denen der Agent ein bereits bekanntes Modell verwendet und daher das Modell nicht lernen muss, wie in AlphaZero , wo das Modell in Form der Spielregeln vorliegt.


1

Obwohl es mehrere gute Antworten gibt, möchte ich diesen Absatz aus Reinforcement Learning: An Introduction , Seite 303, hinzufügen , um eine psychologischere Sicht auf den Unterschied zu erhalten.

Die Unterscheidung zwischen modellfreien und modellbasierten Verstärkungslernalgorithmen entspricht der Unterscheidung von Psychologen zwischen gewohnheitsmäßiger und zielgerichteter Kontrolle gelernter Verhaltensmuster. Gewohnheiten sind Verhaltensmuster, die durch entsprechende Reize ausgelöst und dann mehr oder weniger automatisch ausgeführt werden. Zielgerichtetes Verhalten, so wie Psychologen den Ausdruck verwenden, ist zweckmäßig in dem Sinne, dass es durch die Kenntnis des Wertes von Zielen und der Beziehung zwischen Handlungen und ihren Folgen gesteuert wird. Man sagt manchmal, dass Gewohnheiten durch vorangegangene Reize kontrolliert werden, wohingegen zielgerichtetes Verhalten durch seine Konsequenzen kontrolliert wird (Dickinson, 1980, 1985). Eine zielgerichtete Steuerung hat den Vorteil, dass sie das Verhalten eines Tieres schnell ändern kann, wenn die Umgebung ihre Reaktionsweise auf die Handlungen des Tieres ändert. Gewohnheitsmäßiges Verhalten reagiert zwar schnell auf Eingaben aus einer gewohnten Umgebung, kann sich jedoch nicht schnell auf Änderungen in der Umgebung einstellen.

Von da an geht es weiter und hat danach ein schönes Beispiel.

Ich denke, der wichtigste Punkt, der in den anderen Antworten nicht immer erklärt wurde, ist, dass Sie in einem modellfreien Ansatz immer noch eine Umgebung benötigen, um zu erfahren, welche Belohnung mit Ihrer Aktion verbunden ist. Der große Unterschied besteht darin, dass Sie KEINE Informationen über das Modell speichern müssen. Sie geben der Umgebung die von Ihnen gewählte Aktion, aktualisieren Ihre geschätzte Richtlinie und vergessen sie. Auf der anderen Seite müssen Sie bei modellbasierten Ansätzen entweder den Statusübergangshistorie wie bei der dynamischen Programmierung kennen oder Sie müssen in der Lage sein, alle möglichen nächsten Status und zugehörigen Belohnungen aus dem aktuellen Status zu berechnen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.