Читать книгу Deep Learning illustriert - Jon Krohn - Страница 63
4.5.3AlphaZero
ОглавлениеNachdem das Team von DeepMind die Go-Gemeinde vernichtend geschlagen hatte, wandte man sich allgemeinen spielenden neuronalen Netzen zu. AlphaGo Zero war nun ganz versiert im Go-Spiel, und man fragte sich daher, ob ein vergleichbares neuronales Netz lernen könnte, mehrere Spiele gut zu spielen. Um dies zu testen, nahm man zwei neue Spiele in das Repertoire auf: Schach und Shogi.23
Die meisten Leser sind vermutlich mit Schach vertraut. Shogi – das manchmal als »japanisches Schach« bezeichnet wird – ist so ähnlich. Beides sind Strategiespiele für zwei Personen, beide werden auf einem gitterförmigen Spielbrett gespielt, beide enden mit einem Schachmatt für den gegnerischen König und beide bestehen aus verschiedenen Spielfiguren mit unterschiedlichen Bewegungsmöglichkeiten. Shogi ist allerdings deutlich komplexer als Schach, besitzt ein größeres Spielbrett (9×9 im Gegensatz zu den 8×8 des Schach) und gegnerische Spielfiguren können nach ihrer Gefangennahme irgendwo auf dem Brett wieder eingesetzt werden.
Künstliche Intelligenz und Schach hatten in der Vergangenheit bereits mehrfach Kontakt miteinander. In den letzten Jahrzehnten wurden immer wieder schachspielende Computerprogramme entwickelt. Das berühmteste von ihnen ist Deep Blue von IBM, das 1997 den Weltmeister Garry Kasparow besiegte.24 Es verließ sich vor allem auf Brute-Force-Rechenpower,25 um komplexe Suchen durch mögliche Züge durchzuführen, kombinierte dies mit handgemachten Features und domänenspezifischen Anpassungen (es war ein überwachtes Lernsystem!) und wurde zwischen den Spielen sogar noch weiter optimiert.26
Obwohl Deep Blue vor 20 Jahren eine Errungenschaft darstellte, war das System nicht generalisierbar – es konnte keine andere Aufgabe ausführen als Schach. Nachdem AlphaGo Zero demonstriert hatte, dass das Spiel Go allein aus den Grundprinzipien von einem neuronalen Netz erlernt werden konnte, wenn es nur das Brett und die Regeln des Spiels kannte, machten sich Silver und seine Kollegen bei DeepMind daran, ein generalistisches neuronales Netz zu entwickeln, eine einzelne Netzwerkarchitektur, die nicht nur im Go, sondern auch in anderen Brettspielen brillieren könnte.
Im Vergleich zu Go bildeten Schach und Shogi deutliche Hürden. Die Regeln des Spiels sind positionsabhängig (Spielfiguren können sich unterschiedlich bewegen, je nachdem, wo sie sich auf dem Brett befinden) und asymmetrisch (manche Figuren können sich nur in eine Richtung bewegen).27 Zudem sind Aktionen möglich, die eine große Reichweite haben (die Königin kann sich über das ganze Feld bewegen), und Spiele können unentschieden enden.
AlphaZero gibt die Positionen auf dem Spielbrett in ein neuronales Netzwerk ein und erzeugt als Ausgabe einen Vektor aus Zugwahrscheinlichkeiten für jede mögliche Aktion sowie einen skalaren28 Ausgabewert für diesen Zug. Das Netzwerk lernt die Parameter für diese Zugwahrscheinlichkeiten und Ergebnisse ganz und gar durch Deep Reinforcement Learning beim Spiel gegen sich selbst, genau wie AlphaGo Zero. Anhand dieser Wahrscheinlichkeiten wird dann ein MCTS auf diesen reduzierten Raum ausgeführt, das einen verfeinerten Vektor aus Wahrscheinlichkeiten über die möglichen Züge zurückliefert. Während AlphaGo Zero die Wahrscheinlichkeit des Gewinnens optimiert (Go ist schließlich ein binäres Sieg/Niederlage-Spiel), optimiert AlphaZero stattdessen für das erwartete Ergebnis. Während des Spiels gegen sich selbst behält AlphaGo Zero den bis dahin besten Spieler und bewertet aktualisierte Versionen seiner selbst gegen diesen Spieler. Dabei ersetzt es den Spieler stets durch die nächstbessere Version. AlphaZero dagegen behält ein einziges Netzwerk und spielt immer gegen die neueste Version von sich selbst. AlphaZero wurde nur jeweils 24 Stunden lang trainiert, Schach, Shogi und Go zu spielen. Es gab keine spielspezifischen Modifikationen bis auf den manuell konfigurierten Parameter, der bestimmt, wie häufig das Modell zufällige, erforschende (explorative) Züge durchführt. Dieser wurde auf die Anzahl der zulässigen Züge in den jeweiligen Spielen skaliert.29
Von den 100 Wettbewerbsspielen verlor AlphaZero nicht eines gegen den Weltmeister der Top Chess Engine Championship des Jahres 2016, nämlich Stockfish. Beim Shogi schaffte es der Weltmeister der Computer Shogi Association, Elmo, nur achtmal bei 100 Spielen, AlphaZero zu schlagen. Sein vermutlich angemessenster Gegner, AlphaGo Zero, konnte AlphaZero in 40 von 100 Spielen besiegen. Abbildung 4–10 zeigt die Elo-Bewertungen für AlphaZero im Vergleich zu seinen drei Gegenspielern.
AlphaZero war nicht nur überlegen, sondern auch effizient: Seine Elo-Bewertung übertraf die seiner größten Gegner nach nur zwei, vier bzw. acht Trainingsstunden für Shogi, Schach bzw. Go. Dies ist eine sensationell schnelle Lernrate, wenn man bedenkt, dass Elmo und Stockfish den Höhepunkt jahrzehntelanger Forschungen und Verfeinerungen in einer konzentrierten, domänenspezifischen Weise darstellen. Der generalisierbare AlphaZero-Algorithmus kann alle drei Spiele souverän spielen: Ein einfaches Austauschen der gelernten Wichtungen aus ansonsten identischen neuronalen Netzwerkarchitekturen verleiht diesen die gleichen Fertigkeiten, die ansonsten nur durch jahrelanges Lernen erworben werden könnten. Diese Ergebnisse demonstrieren, dass Deep Reinforement Learning ein faszinierend machtvoller Ansatz für das ungerichtete Entwickeln eines professionellen Spielvermögens ist.
Abb. 4–10Der Vergleich der Elo-Bewertungen zwischen AlphaZero und seinen drei Gegnern in Schach, Shogi und Go. AlphaZero war schnell deutlich besser als die drei Opponenten.