Unterschied zwischen dem Richtliniennetzwerk von AlphaGo und dem Wertnetzwerk


25

Ich habe eine allgemeine Zusammenfassung zu Googles AlphaGo gelesen ( http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html ) und bin auf die Begriffe "Richtlinie" gestoßen network "und" value network ". Auf hoher Ebene verstehe ich, dass das Richtliniennetzwerk verwendet wird, um Bewegungen vorzuschlagen, und das Wertnetzwerk verwendet wird, um "die Tiefe des Suchbaums zu verringern [und den Gewinner an jeder Position zu schätzen], anstatt den gesamten Weg bis zum zu suchen Ende des Spiels."

Diese beiden Netzwerke erscheinen mir überflüssig. Was macht das Richtliniennetzwerk, wenn es das Wertnetzwerk nicht zum Bereinigen seiner Richtlinien verwendet? Es scheint ziemlich klar zu sein, dass das Wertnetzwerk ein lernendes neuronales Netzwerk ist. Ist das Policy-Netzwerk nur eine theoretische Abstraktion und kein tatsächliches neuronales Netzwerk? Die Zielvariable für das Wertnetzwerk scheint Gewinn / Verlust zu sein. Gibt es eine Zielvariable für das Richtliniennetzwerk? Wenn ja, was ist das? Was versucht das Policy-Netzwerk zu optimieren?

Das vollständige PDF des in Nature veröffentlichten Google-Dokuments finden Sie hier: https://vk.com/doc-44016343_437229031?dl=56ce06e325d42fbc72


Kurz gesagt: Die Zielvariable für das Richtliniennetzwerk ist eine Wahrscheinlichkeitsverteilung. Aus dem Papier: "Dieses neuronale Netzwerk (das
Wertnetzwerk

3
Wenn jemand auf diese alte Frage stößt, wie ich, werden Sie erfreut sein zu wissen, dass der Nachfolger von AlphaGo, "AlphaGo Zero", sowie sein Nachfolger "AlphaZero" tatsächlich die Redundanz beseitigen, indem nur EIN Netzwerk geschult wird, dessen Ergebnisse sich auswirken dienen sowohl den Funktionen des Policy-Netzwerks (gibt eine Wahrscheinlichkeitsverteilung über mögliche Züge an) als auch des Value-Netzwerks (gibt die Gewinnwahrscheinlichkeit für das Board an). Blogpost hier: deepmind.com/blog/alphago-zero-learning-scratch und das Paper ist darin verlinkt.
Kevin Wang

Antworten:


11

Kurz gesagt, jedes Netz hat einen anderen Zweck, als Sie erwähnt haben:

  • Das Wertnetzwerk wurde an den Blattknoten verwendet, um die Tiefe der Baumsuche zu verringern.
  • Das Richtliniennetzwerk wurde verwendet, um die Breite der Suche von einem Knoten aus zu verringern (Anleitung für vielversprechende Sofortmaßnahmen).

Im Allgemeinen können Sie Wertfunktionsmethoden verwenden, um eine optimale Richtlinie zu finden, oder direkt im Richtlinienbereich suchen, um eine parametrisierte Richtlinienfunktion zu optimieren (natürlich gibt es Vor- und Nachteile). Sie können jeweils Funktionsapproximatoren (zB Deep Nets) verwenden. Ich sehe, dass Sie hauptsächlich über das Policennetz verwirrt sind, deshalb konzentriere ich meine Antwort darauf.

Das Policennetz war zuerst:

trainiert, um die Bewegungen auszuführen, die ein Mensch bei einem bestimmten Board-Status am wahrscheinlichsten ausführen würde (Eingabe ist also ein Board-Status und Ausgabe ist ein Histogramm, das die Wahrscheinlichkeit jeder Aktion bei einem bestimmten Status anzeigt). Das Netz kann die Wahrscheinlichkeitsfunktion approximieren, die der Abbildung von Zuständen auf Aktionen zugrunde liegt. Es ist vernünftig zu überlegen, ob Sie Ihre Richtlinie doch anhand der verfügbaren Daten erstellen möchten. Nach beaufsichtigtem Training mit Expertenbewegungen könnte das Richtliniennetz das Spiel ausreichend spielen (obwohl es weit von einem Master-Level entfernt ist). Sie haben einfach versucht, das allgemeine Muster der Aktionsauswahl von Profispielern zu erfassen.

Dann,

Es wurde in Spielen mit dem Gegner selbst trainiert, um die zuvor erlernte Politik zu optimieren. Diesmal wurden die Gewichte mit dem REINFORCE-Algorithmus aktualisiert. Auf diese Weise aktualisieren Sie die Nettoparameter, um die erwartete Belohnung zu maximieren. Schließlich haben Sie ein Netz, das nicht nur die Aktionen eines Profispielers auswählt, sondern auch zum Gewinnen des Spiels beiträgt (es kann jedoch nicht geplant werden!).

Nach diesem Schritt haben sie die Wertfunktion einer etwas verrauschten Version der erlernten Richtlinie durch Regression angenähert (Eingabe ist das State Board und Ziel das Ergebnis des Spiels). Über dieses Netzwerk können Sie die Blattknotenauswertung beeinflussen.

Konzeptionell gesehen gibt Ihnen das Richtliniennetz eine Wahrscheinlichkeit für Aktionen, aber dies bedeutet nicht, dass Sie in einen guten Zustand gelangen, um das Spiel zu gewinnen. AlphaGo hatte einige "blinde Flecken" und machte während des Turniers einige wirklich schlechte Züge, aber auch einen außergewöhnlichen Zug, an den ein Mensch niemals gedacht hätte.

Schließlich können Sie Ihren Planungsalgorithmus (MCTS) in Kombination mit diesen Netzen verwenden. Warum haben wir all diese Schritte unternommen? Kurz gesagt, das einfache MCTS ohne "Intuition" wäre gescheitert.


Ich bin gerade auf diese Frage zurückgekommen, nachdem ich etwas über Actor-Critic gelernt habe und wie es Kosten / Nutzen zwischen rein wertbasierten und richtlinienbasierten Methoden ausgleicht. Ich denke, diese Antwort kommt der Erklärung dieses Details am nächsten, aber sie wird in David Silvers Vortrag sehr gut behandelt: www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/pg.pdf (Vortrag 7, it ist auch auf YouTube verfügbar - youtube.com/… ).
Neil Slater

Reine MCTS-basierte Ansätze haben sich jedoch als erfolgreich erwiesen, sodass ich in einem weiteren Kontext nicht sagen würde, dass dies fehlgeschlagen wäre.
Zimano

1
Ich beziehe mich nur auf den Fall des Go-Spiels und auf das Erreichen des Master-Levels. Tatsächlich arbeitete David Silver (wie andere Forscher auch) seit seiner Promotion an der Lösung des Spiels Go with MCTS. Aber bis zur Kombination der oben genannten Methoden konnte nichts auf höchstem Niveau mithalten.
Constantinos

9

Hier ist mein prägnanter Denkprozess zum Verständnis der beiden unterschiedlichen Netzwerke.

Zunächst ist das Ziel, eine optimale Lösung (oder eine nahezu optimale Lösung) zu finden, ohne eine erschöpfende Suche durchzuführen, was definitiv eine Herausforderung darstellt.

Pro Position oder Zustand sind N Züge möglich, und bei jedem Zug gibt es eine eigene Tiefe D in einem vollständigen Suchbaum. Es ist theoretisch oder mathematisch möglich, alle Pfade zu durchlaufen und eine oder mehrere optimale Lösungen zu finden. Wir möchten jedoch keine vollständige Suche durchführen.

Jetzt haben wir zwei getrennte Fragen zur Entwicklung eines Approximationsansatzes.

Q1. Wie können wir einige Züge aus N pro Position überspringen oder ignorieren? (dh Atemreduktion)

Q2. Wie können wir in einer mittleren Tiefe in einem Suchbaum anhalten, anstatt bis zum Ende des Spiels durchzugehen, ohne eine optimale Lösung zu finden? (dh Tiefenreduzierung)

Das Richtliniennetzwerk dient hauptsächlich zum Herausfiltern nutzloser Bewegungen aus N, ohne jedoch eine optimale Lösung zu finden. Hierbei stützt sich dieses Netzwerk zunächst auf menschliche Expertenbewegungen, dh SL, und wird später von RL verbessert.

Das Wertnetzwerk dient hauptsächlich dazu, die Gewinnwahrscheinlichkeit ohne eine vollständige Suche zu finden.

Diese beiden Netzwerke verfolgen das gemeinsame Ziel, eine optimale Lösung zu finden. Bei jeder strategischen Entscheidung für einen Zug spielt jedoch jedes Netzwerk eine andere Rolle.

Ich hoffe nur, das hilft. Ich weiß, dass es immer noch auf einem hohen Niveau sein würde.


Ihre Erklärung in beide Richtungen ist sehr kurz.
Tim

6

Ich denke, das OP hat AlphaGo mit Alpha-Beta verwechselt. In Alpha-Beta würden Sie das Richtliniennetzwerk zwar zum Bereinigen verwenden, aber nicht hier. Auch hier gibt es kein Beschneiden, da der Algorithmus auf der Monte-Carlo-Baumsuche (MCTS) beruht.

Wer meint, meine Antwort sei zu lang, kann zum Abschnitt mit der Zusammenfassung übergehen, in dem ich erkläre, warum die beiden Netzwerke nicht redundant sind.

Im folgenden Beispiel werde ich einige Vereinfachungen vornehmen, um das Verständnis meiner Ideen zu erleichtern.

Beispiel:

Stellen Sie sich vor, Sie haben eine Position, in der es zwei rechtliche Schritte gibt. Der erste Zug ist für Sie absolut verloren, der zweite Zug bringt Ihnen jedoch einen gewinnbringenden Vorteil.

  • Erster Schritt: erzwungener Verlust für Sie
  • Zweiter Zug: erzwungener Gewinn für Sie

Bewertungsnetzwerk

Nehmen wir an, das Bewertungsnetzwerk, das Google Ihnen zur Verfügung stellt, ist perfekt. Es kann jede Blattposition in unserem Beispiel perfekt auswerten. In diesem Beispiel werden wir unser Wertschöpfungsnetzwerk nicht ändern.

Nehmen wir zur Vereinfachung unseres Beispiels an, unser Wertschöpfungsnetzwerk liefert:

  • -1000 für jede Blattposition, die für Sie ein Verlust ist
  • +1000 für jede Blattposition, die für Sie ein Gewinn ist

Richtliniennetzwerk

Angenommen, Google bietet Ihnen zwei Richtlinien-Netzwerke. Die für unsere Position generierten Wahrscheinlichkeiten sind:

  • Regel 1: 0,9 für Zug 1 und 0,1 für Zug 2
  • Regel 2: 0,2 für Zug 1 und 0,8 für Zug 2.

Beachten Sie, dass unser erstes Richtliniennetzwerk für unser Beispiel eine falsche vorherige Wahrscheinlichkeit angibt. Es gibt 0,9 für Zug 1, was ein Verlustzug ist. Dies ist in Ordnung, da nicht einmal Google ein perfektes Netzwerk für Richtlinien trainieren kann.

Spielen mit dem ersten Richtliniennetzwerk

AlphaGo muss eine Simulation mit Monte-Carlo generieren und Zug 1 oder 2 auswählen. Nun zeichnet AlphaGo eine gleichmäßig verteilte Zufallsvariable und wählt Folgendes aus:

  • Bewegen Sie 1, wenn die Zufallszahl <= 0,9 ist
  • Bewegen Sie 2, wenn die Zufallszahl> 0,9 ist

AlphaGo wählt also viel eher den zu simulierenden Verlustzug aus (in unserer allerersten Simulation). In unserer ersten Simulation verwenden wir auch das Wertnetzwerk, um eine Punktzahl für die Simulation zu erhalten. In der Zeitung heißt es:

Bildbeschreibung hier eingeben

Dieser Wert wäre -1000, da diese Simulation zu einem Verlust führen würde.

Jetzt muss AlphaGo die zweite Simulation generieren. Auch hier würde der erste Schritt viel wahrscheinlicher sein. Aber irgendwann wäre der zweite Schritt die Wahl, weil:

  • Unsere vorherige Wahrscheinlichkeit für den zweiten Zug ist 0,1 und nicht Null
  • AlphaGo wird ermutigt, Bewegungen auszuprobieren, die nicht viel erforscht wurden. In der Arbeit wird dies durch die folgende Gleichung erreicht:

Bildbeschreibung hier eingeben

Beachten Sie, dass Nes sich um die Anzahl der Züge handelt, nach denen gesucht wurde, und die im Nenner stehen. Je wahrscheinlicher unser erster Zug durchsucht wird, desto kleiner ist die uFunktion. Daher verbessert sich die Wahrscheinlichkeit, unseren zweiten Zug zu wählen, weil AlphaGo tatsächlich einen Zug nach folgender Gleichung auswählt:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Dies ist die Schlüsselgleichung . Bitte schauen Sie es sich genau an:

  • Es gibt einen Begriff Pfür die vorherige Wahrscheinlichkeit (vom Richtliniennetzwerk angegeben).
  • Es hat eine Bezeichnung Qfür die Bewertungspunkte (gegeben durch das Wertnetzwerk)

Jetzt wissen wir, dass unser zweiter Zug gewählt wird. In diesem Fall gibt das Wertnetzwerk +1000 aus. Dies erhöht Qdie Wahrscheinlichkeit , dass der zweite Zug in den späteren Simulationen gewählt wird.

Bei genügend Simulationen sollte die Häufigkeit, mit der der zweite Zug für die Simulation ausgewählt wird, höher sein als die Häufigkeit, mit der der erste Zug ausgewählt wird.

Der letzte Schritt, den AlphaGo beschließt, ist (aus dem Papier zitiert):

Sobald die Suche abgeschlossen ist, wählt der Algorithmus den meistbesuchten Zug von der Grundposition aus.

Spielen mit dem zweiten Richtliniennetzwerk

Unser zweites Richtliniennetzwerk benötigt weniger Iterationen, um Schritt 2 auszuwählen, da die vom Richtliniennetzwerk angegebene vorherige Wahrscheinlichkeit an erster Stelle korrekt ist.

Bemerkungen

Alles hier ist der BayesianAnalyse sehr ähnlich . Wir beginnen mit einer vorherigen Wahrscheinlichkeit (angegeben durch das Richtliniennetzwerk), dann generieren wir Daten, um die Wahrscheinlichkeitsverteilung (angegeben durch das Wertnetzwerk) zu verschieben.

Zusammenfassungen

  • Das Richtliniennetzwerk wird verwendet, um vorherige Wahrscheinlichkeiten zu generieren, um zu bestimmen, welchen Zug die Monte-Carlo-Suche auswählen soll
  • Das Wertnetzwerk wird zum Generieren von Daten zur Validierung des Richtliniennetzwerks verwendet. Wenn das Richtliniennetzwerk schlecht ist, würde AlphaGo (falls überhaupt) mehr Rechenressourcen für die Konvergenz benötigen.
  • Man kann es sich wie eine Bayes'sche Analyse vorstellen

Ich denke, dies gibt einen viel tieferen Einblick in die internen Mechanismen. Ich bin mir immer noch nicht sicher, ob es erklärt, warum die beiden Netzwerke. Das Problem, das ich habe, ist "nehme an, dass das Bewertungsnetzwerk ... perfekt ist". Wenn dies der Fall war, ist das Richtliniennetzwerk in der Tat redundant. Schauen Sie einfach einen Zug voraus (für alle möglichen Züge) und wählen Sie den mit der besten Netzwerkbewertung aus. Natürlich ist das Wertnetzwerk nicht perfekt und ich vermute, dass es umso genauer wird, je weiter das Spiel fortgeschritten ist. . . aber ich weiß nicht, wie wahr / nützlich das ist, oder ob es diese Antwort vervollständigt.
Neil Slater

@ NeilSlater Ok. Die Netzwerke sind nicht perfekt, aber die Gründe, die ich hier habe, sind immer noch gut, nur dass wir mehr MC-Simulationen benötigen.
SmallChess

@StudentT Nette Erklärung einiger Schlüsselgleichungen. Ich würde eine kleine Änderung vornehmen: Es macht nicht viel Sinn zu sagen, "Sie müssen zehn Schritte voraussehen", um die Position in Monte Carlo Tree Search zu verstehen. MCTS ist eine Tiefensuche, bei der die Anzahl der Beweise an erster Stelle steht, und wir erreichen nie wirklich feste Tiefen, wie wir es bei einer iterativen Vertiefung im Schach tun würden. Selbst mit dem Wertnetzwerk, das es uns ermöglicht, Knoten vor dem Ende des Spiels zu bewerten, erreichen wir diese noch nicht in einer breiten ersten Art und Weise, und es gibt keine Min-Max-Bewertung der Knoten usw.
Imran

@Imran Fühlen Sie sich frei, meinen Beitrag zu bearbeiten.
SmallChess

3

Richtlinien-Netzwerk : Das Netzwerk, das lernt, eine bestimmte Ausgabe zu liefern, indem es dem Spiel eine bestimmte Eingabe gibt, wird als Richtlinien-Netzwerk bezeichnet.

Wertnetze : Das Wertnetz weist dem Status des Spiels Wert / Punktzahl zu, indem eine erwartete kumulative Punktzahl für den aktuellen Status berechnet wird s. Jeder Staat durchläuft das Wertnetzwerk. Die Staaten, die mehr Belohnung erhalten, erhalten offensichtlich mehr Wert im Netzwerk.

Besseres Verständnis mit Animationen Gehen Sie hier: Policy Networks vs. Value Networks beim Reinforcement Learning

Bildbeschreibung hier eingeben


0

Soweit ich weiß, liegt der Unterschied in den Ausgaben. Wenn das Richtliniennetzwerk eine Wahrscheinlichkeitsverteilung über die möglichen Züge ausgibt, gibt das Wertnetzwerk einen realen Wert zurück, der als Gewinnwahrscheinlichkeit bei dieser Kartenkonfiguration interpretiert werden kann. Von dort aus wird die Monte-Carlo-Baumsuche durchgeführt, indem Top-K-Züge von dem Suchbaum genommen werden und dann der Suchbaum erneut eingeengt wird, indem Top-K-Wert-Netzwerkausgaben genommen werden.

Fühlen Sie sich verpflichtet, mich zu korrigieren, wenn ich falsch liege.


2
Du liegst nicht falsch AFAIK, aber ich glaube nicht, dass dies die Frage beantwortet. OP scheint sich des Unterschieds zwischen einem wertebasierten oder einem richtlinienbasierten Modell in RL bewusst zu sein. Die beiden Ansätze haben in der Tat unterschiedliche Ergebnisse. Es ist jedoch üblicher, das eine oder das andere zu sehen, nicht beide, und die beiden Modelle sind in der Regel in "Value_maxarg (S ') == Policy_maxarg (S, A)" redundant nehmen, und S 'ist der resultierende Zustand. Dh die beiden Netzwerke in einem gewöhnlichen RL-Setup würden einfach das gleiche Ergebnis erzielen, obwohl die Ausgaben unterschiedlich sind.
Neil Slater
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.