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:
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:
Beachten Sie, dass N
es 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 u
Funktion. Daher verbessert sich die Wahrscheinlichkeit, unseren zweiten Zug zu wählen, weil AlphaGo tatsächlich einen Zug nach folgender Gleichung auswählt:
Dies ist die Schlüsselgleichung . Bitte schauen Sie es sich genau an:
- Es gibt einen Begriff
P
für die vorherige Wahrscheinlichkeit (vom Richtliniennetzwerk angegeben).
- Es hat eine Bezeichnung
Q
fü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 Q
die 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 Bayesian
Analyse 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