Eine kommentierte und dokumentierte Implementierung von Muzero basierend auf dem Google DeepMind -Papier (Schrittweser et al., November 2019) und dem zugehörigen Pseudocode. Es ist so konzipiert, dass es für alle Spiele oder Verstärkungslernumgebungen (wie Fitnessstudio) leicht anpassbar ist. Sie müssen nur eine Spieldatei mit den Hyperparametern und der Spielklasse hinzufügen. Bitte beachten Sie die Dokumentation und das Beispiel. Diese Umsetzung dient in erster Linie für Bildungszwecke.
Erklärungsvideo von Muzero
Muzero ist ein hochmoderner Algorithmus für Brettspiele (Schach, Go, ...) und Atari -Spiele. Es ist der Nachfolger von Alphazero, jedoch ohne Kenntnis der Dynamik der Umgebung. Muzero lernt ein Modell der Umgebung und verwendet eine interne Darstellung, die nur die nützlichen Informationen zur Vorhersage der Belohnung, des Werts, der Richtlinien und des Übergänge enthält. Muzero steht auch nahe an Wertvorhersagenetzwerken. Sehen Sie, wie es funktioniert.
Hier finden Sie eine Liste von Funktionen, die interessant sein könnten, die jedoch nicht in Muzeros Papier enthalten sind. Wir sind offen für Beiträge und andere Ideen.
Alle Aufführungen werden in Echtzeit in Tensorboard verfolgt und angezeigt:

Testen von Mondlander:

Tests werden auf Ubuntu mit 16 GB RAM / Intel i7 / gtx 1050ti Max-Q durchgeführt. Wir stellen sicher, dass wir einen Fortschritt und eine Ebene erhalten, die sicherstellt, dass sie gelernt hat. Wir erreichen jedoch nicht systematisch ein menschliches Niveau. In bestimmten Umgebungen bemerken wir eine Regression nach einer bestimmten Zeit. Die vorgeschlagenen Konfigurationen sind sicherlich nicht optimal und wir konzentrieren uns vorerst nicht auf die Optimierung von Hyperparametern. Jede Hilfe ist willkommen.

Netzwerkzusammenfassung:

git clone https://github.com/werner-duvaud/muzero-general.git
cd muzero-general
pip install -r requirements.lockpython muzero.pyUm die Trainingsergebnisse zu visualisieren, laufen Sie in einem neuen Terminal:
tensorboard --logdir ./results Sie können die Konfigurationen jedes Spiels anpassen, indem Sie die MuZeroConfig -Klasse der jeweiligen Datei im Ordner der Spiele bearbeiten.
Bitte verwenden Sie diesen Bibtex, wenn Sie dieses Repository (Master Zweig) in Ihren Veröffentlichungen zitieren möchten:
@misc{muzero-general,
author = {Werner Duvaud, Aurèle Hainaut},
title = {MuZero General: Open Reimplementation of MuZero},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = { u rl{https://github.com/werner-duvaud/muzero-general}},
}