Kaum fassbar gut, göttlich noch nicht: AlphaZero demontiert Stockfish – schon wieder

Der Menschheit gibt AlphaZero eine Ahnung davon, was künstliche Intelligenzen zu leisten vermögen. Selbst die Felder der Intuition und Kreativität sind den Maschinen nicht verschlossen. Vorerst gilt das nur für Schach und andere Strategiespiele, aber wohin diese Reise führen mag, welche Felder die Maschinen noch beackern werden, das weiß nicht einmal Demis Hassabis, Chef der Google-Tochter DeepMind. Hassabis wähnt sich noch an der Startlinie.

In unserer kleinen Schachwelt ist das Ziel fast erreicht, die dritte maschinelle Revolution  fast vollzogen, und sie wird wahrscheinlich die letzte sein. So tief und unergründlich das Schach sich für den menschlichen Geist auch darstellt, die Maschinen haben es fast entschlüsselt. Wir wissen jetzt, dass Schach in letzter Konsequenz eben doch ein Strategie- und kein Taktikspiel ist.

leelahassabis.jpg
„Ein Sprungbrett auf dem Weg zur allgemeinen künstlichen Intelligenz“: DeepMind-Chef Demis Hassabis beim WM-Match in London. (Foto: Worldchess)

AlphaZero hat zwar noch Luft nach oben, es könnte noch ein wenig stärker sein, speziell im Endspiel (siehe weiter unten), aber es wird keine neue Maschinengeneration kommen, die noch einmal alles Dagewesene übertrumpft, noch einmal ganz neue Konzepte einführt, noch höhere Ebenen des Strebens nach schachlicher Perfektion offenbart. Dafür ist unser Spiel mit seinen fast unendlichen Möglichkeiten eben doch zu begrenzt und nun aus maschineller Sicht fast ausgereizt. Darum wird AlphaZero jetzt nach und nach auf das große Spiel des Lebens losgelassen – mit ungewissem Ausgang.

Verschwörungstheorien um AlphaZero

Als vor genau einem Jahr DeepMind das Ergebnis eines Matches gegen Stockfish veröffentlichte, brauchten Schachspieler einige Zeit, um den Gehalt der zehn öffentlichen Partien zu verdauen, denn die zu verstehen, bedeutet Arbeit. Selbst als sich herauskristallisierte, dass die Google-Maschine dem Schach zu einem evolutionären Sprung verholfen hatte, wollten die Traditionalisten ihren guten, alten Stockfish nicht abschreiben. Denn den hatte DeepMind beim ersten Maschinenmatch arg beschnitten. Monatelang befeuerten Verschwörungstheoretiker die Annahme, Hassabis und sein Team hätten erst geschummelt und dann AlphaZero demontiert, damit ihnen niemand auf die Schliche kommt.

schritthuber.jpg
Österreichischer Kopf hinter AlphaZero: Nach dem Schach-Experiment lässt Julian Schrittwieser seine Entwicklung jetzt Proteine falten.

Aber so wichtig ist Schach für die Londoner Entwickler, darunter der Österreicher Julian Schrittwieser, nun einmal nicht. Schach ist für sie der erste kleine Probierstein, dem viel größere Brocken folgen sollen. Bevor sie ihre Entwicklung Proteine falten ließen, wollten sie erst einmal sichergehen, dass der erste Sieg über Stockfish kein Zufall war. Und sie ließen AlphaZero noch einmal auf dem Computerschachweltmeister los, dieses Mal unter gleichen Bedingungen. Mit einem ähnlichen Ergebnis: AlphaZero gewinnt deutlich, ob mit oder ohne Eröffnungsbuch, sogar mit Zeitvorgabe.

Ein Jahr später: das komplette AlphaZero-Papier

Schon am Rande des WM-Matches zwischen Magnus Carlsen und Fabiano Caruana hatte Demis Hassabis angekündigt, dass weitere AlphaZero-News in der Mache sind. Nun hat die Zeitschrift Science das komplette DeepMind-Papier veröffentlicht (inklusive aller Partien). Unter anderem unsere Freunde von chess.com haben zusammengefasst, unter welchen Bedingungen sich A0 und Stockfish dieses Mal beharkt haben, mit welchen Ergebnissen und welche Tendenzen sich dabei gezeigt haben. Großmeister Matthew Sadler zeigt derweil auf dem chess24-Youtube-Kanal ausgewählte Partien, nicht im Detail, aber er beleuchtet Wendepunkte und zeigt überraschende und unkonventionelle Ideen.

tweet sadler.png
„Game Changer“ heißt Matthew Sadlers Buch über AlphaZero, das im Januar 2019 erscheinen soll. Der Titel ist doppeldeutig. Nicht nur im Feld der Künstlichen Intelligenz, ja, nicht einmal nur im Feld des maschinellen Schachs krempelt die DeepMind-Maschine alles um. Auch für Menschen womöglich, denn die sollen lernen, was sich AlphaZero selbst beigebracht hat.
stockfish.png
Das erste Match zwischen AlphaZero und Stockfish barg einige Momente, die nicht nur bei Verschwörungstheoretikern Stirnrunzeln verursachten. Diesen zum Beispiel.

Die Stockfish-Freunde geben sich derweil noch nicht geschlagen. AlphaZero hat sich mit Stockfish 8 und 9 auseinandergesetzt, nicht mit der neuesten Version 10, die seit einigen Tagen zum Download bereitsteht. Tatsächlich ist Stockfish 10 noch einmal deutlich stärker geworden als seine Vorgänger, und das in einem Maße, dass anhand des Ergebnisses von Version 8 gegen die DeepMind-Maschine rechnerisch seine Spielstärke etwa der von AlphaZero entsprechen müsste.

Wir dürfen zwar vermuten, dass das in der Praxis anders aussähe, nur fehlt dafür der Beweis. Ein Match Stockfish 10 versus AlphaZero wird es eher nicht geben, und so müssen wir uns noch ein wenig gedulden, bis sich Leela, der AlphaZero für alle, in die Spielstärkesphären ihres großen Bruders aus dem Google-Labor emporgeschwungen hat.

Stockfish ist 1.000-mal schneller, im Endspiel zählt das

Sicher ist, dass AlphaZero noch längst nicht wie Gott spielt, speziell in der späten Partiephase. Je weniger Steine auf dem Brett stehen, desto eher profitieren traditionelle Maschinen von ihrer Rechenpower, und desto eher mag der vergleichsweise langsam und selektiv rechnende AlphaZero ins Straucheln geraten.

alphadia.jpeg
Wenn Weiß nichts macht, ist die Stellung leicht remis. Aber AlphaZero wollte partout gewinnen, und das ging nach hinten los.

Dieses Endspiel entstammt der einzigen Partie, die AlphaZero mit Weiß verloren hat. Was erstaunlich ist, weil Weiß so eine Stellung nur verlieren kann, wenn er sich selbst umbringt, indem er die Gewinnversuche überzieht. Und genau das passierte.

Wenn Weiß ein Remis will, muss er einfach gar nichts mehr tun. Schwarz wird dann keine Fortschritte machen können, das sieht sogar ein Mensch sofort. Aber AlphaZero wollte mehr und übersah gegen den etwa 1.000-mal schneller rechnenden Stockfish eine taktische Abwicklung. Bei seinen Versuchen, irgendwie einen vollen Punkt zu ergattern, vergeigte die Maschine die Partie. Sie weiß ja nicht, dass traditionelle Rechner so eine Stellung bis fast zum Ende komplett durchrechnen können und annähernd unfehlbar sind.

Advertisements

6 Kommentare zu „Kaum fassbar gut, göttlich noch nicht: AlphaZero demontiert Stockfish – schon wieder

  1. Kaum fassbar gut finde ich Eure Seite! Ich bin eher Zufällig auf Eure Seite gestoßen. Nämlich auf der Suche nach neuen Infos´s zu A0. Das war kurz bevor DeepMind die restlichen Partien und den weiteren Erfolg gegen SF veröffentlicht hatte.

    Eure Seite finde ich großartig. Ein wahre Perle. Ich bin Froh, diesen Schatz für mich entdeckt zu haben.

    Ich bin aber auch sehr beeindruckt von AlphaZero und auch von dessen Partien. Zuvor hatte ich schon mit großem Interesse die furiosen Erfolge von DeepMind im Go verfolgt. Aber Schach interessiert mich nunmal deutlich mehr 😉

    Die im Beitrag genannte Verlustpartei von A0 habe ich mir noch nicht angesehen. Es wäre interessant zu erfahren, wie A0 seine eigene Stellung bzw. seine Gewinnwahrscheinlichkeit („expected Score“) selbst eingeschätzt hat. Offenbar ist A0 so programmiert, dass es immer auf Gewinn spielt, denn dafür bekommt es ja eine Belohnung; nämlich einen Punkt, verliert es dagegen bekommt es -1. Vielleicht erklärt das auch, wieso A0 in der obigen klaren Remisstellung überzieht und deshalb verliert.

    Das erklärt etl. auch die sehr aggressive, dynamische, ja fast risikofreudige Spielweise von A0. Das ist für Engines doch sehr ungewöhnlich. Die sind ja eher sehr auf Material bedacht und opfern Bauern oder gar Figuren nicht so ohne Weiteres; jedenfalls nicht ohne konkreten, greifbaren Vorteil. Ganz anders A0. Material scheint nicht so wichtig zu sein, wenn das Opfer zu einer langfristig höheren Gewinnwahrscheinlichkeit führt. Aktivität der eigenen Figuren und Lähmung der gegnerischen Figuren zählen für A0 ganz offenbar mehr als Material.

    Der im Bericht angeführte Punkt, dass SF viel mehr rechnet als A0 und daher im Endspiel Vorteile hat, trifft sicherlich ebenfalls zu. A0 berechnet lediglich 60.000 Positionen in der Sekunde, gegenüber 60 Millionen von SF. Warum das so ist, ist mir aber nicht ganz klar. Und offenbar auch nicht den Entwicklern. An der Rechenkraft der Hardware kann es ja wohl nicht liegen 😉

    In der Studie heißt es hierzu: „AlphaZero may compensate for the lower number of evaluations by using its deep neural network to focus much more selectively on the most promising variations.„

    Das klingt so, als würden auch die Entwickler eher mutmaßen, als es genau zu wissen. A0 scheint also auch für DeepMind eine Blackbox zu sein.

    Ich bin kein Mathematiker, und weit davon entfernt die Funktionsweise von A0 zu verstehen. Ich frage mich aber, ob die Zufallsauswahl (Monte Carlo Tree Search), die A0 einsetzt, bei Endspielen in denen so viele Positionen wie möglich so tief wie nötig durchgerechnet werden sollten, gegenüber SF im Nachteil ist. Vor allem deshalb, da SF ja bekanntlich die Syzygy Tablebase einsetzt.

    In der 6. WM-Partie Carlsen-Caruana hatte Caruana ein Matt in 36 nicht gesehen; was für menschliche Spieler auch kaum möglich gewesen wäre. Die Engines, u.a. Sesse haben das Matt aber schnell gefunden. GM Matthew Sadler hat die WM-Partien mit A0 analysiert, auch 6. Offenbar hat A0 dieses Matt in 36 aber nicht gesehen; dass hätte Sadler im Video sicher erwähnt. Das spricht auch eher dafür, dass A0 in Endspielen Schwächen hat.

    Wenn A0 ein selbstlernendes neurales Netzwerk ist; also unentwegt und unaufhörlich lernen kann, dann hat es ja auch keine Beschränkungen mehr. Um das neurale Netz zu trainieren, hat A0 mit massiver Hardware 44 Millionen Partien gespielt. Damit hat es sich „sein“ Wissen und Schachverständnis selbst beigebracht.

    Kann A0 sich nicht seine eigene Endspieldatenbank aufbauen, indem es weitere Zig-Millionen Partien mit 6, 7 oder gar 8 Steinen gegen sich selbst spielt? Das würde die vermeintliche Endspielschwäche sicher relativieren.

    Gefällt 1 Person

    1. Danke fürs Lob. Hinsichtlich Sauberkeit Deiner Gestaltung spielst Du etwa in der Liga, die diese Seite noch lange nicht erreicht hat. Aber was bei uns steht, ist wahrscheinlich gelegentlich ganz ok, wenigstens etwas 😉

      Hat Hassabis ja klar gesagt, dass A0 auch für die Entwickler eine Black Box ist (siehe frühere Artikel hier). Bestimmt könnten die sich einer Endspieldatenbank annähern, vielleicht auch einfach eine implementieren, aber das würde ja das Gesamtkonzept verhöhnen. Im Wettkampf gegen A0 hatte Stockfish übrigens keine TB. Aber so ein Endspiel kann es halt fast ausrechnen.

      Gefällt 1 Person

      1. „Bestimmt könnten die sich einer Endspieldatenbank annähern, vielleicht auch einfach eine implementieren, aber das würde ja das Gesamtkonzept verhöhnen“ – wenn man es für eine Verhöhnung hält, wenn ein Programm nicht mehr rechnet, sondern auf eine abgespeicherte Lösung zurückgreift, ja, aber es ist nicht mehr oder weniger eine „Verhöhnung“ als bei den klassischen Schachprogrammen, die ja das Gleiche tun – sie hören auf zu rechnen, sobald es eine perfekte Lösung in der Endspieldatenbank gibt. Insofern geht es doch nur darum, was das Ziel ist: Die Spielmethodik (also die Engines) zu vergleichen – dann müssen die verglichenen Programme beide ohne Eröffnungs- und Endspieldatenbank spielen, wo die Engine ja nicht arbeitet, sondern nachsieht, was der beste Zug ist. Oder um jeden Preis gewinnen – dann ist alles erlaubt, und man kann ebenso A0 mit einer Endpieldatenbank koppeln, wie es andere Programme ja auch tun. Will man wissen, wie gut eine neue Engine „rechnet“, ist die Verwendung von Tablebases generell nicht sinnvoll, denn man will ja wissen, wie gut das Programm selbst spielt.

        Gefällt 1 Person

  2. Der revolutionäre Ansatz von A0 besteht darin, kein zusätzliches „externes“ Schachwissen beizusteuern – abgesehen von der Definition des Regelwerks. Damit wäre eine Eröffnungs- oder Endspieldatenbank nicht in Einklang.

    Man sollte auch betonen, dass es überhaupt nicht das Ziel von Google Deepmind ist, ein möglichst gutes Schachprogramm zu erzeugen. Es geht um die Entwicklung eines selbstlernenden Systems zur Lösung regelbasierter Problemstellungen. Schach, Go und Chinesisches Schach sind da nur willkommene Übungsfelder. Wenn ich die Berufsbezeichnung „Sachbearbeiter“ hätte, würde ich mir Sorgen um meinem Job machen …

    Für mich hat es den Anschein, als würde A0 bewusst Remis ausweichen, vermutlich mittels eines „Contempt-Faktors“. Anders sind für mich die verlorenen Endspiele nicht zu erklären.

    Interessant ist für mich eine Verlustpartie von A0 gegen Stockfish, bei dem letzterer in dem Aljechin Chatard Angriff in kapp über 20 Zügen gewinnt. Erstaunlich eigentlich, dass diese Partie nicht mehr Aufmerksamkeit erregt. Sie zeigt klar, dass A0 auch „blinde Flecke“ hat, also Stellungen, die es nicht besonders gut beherrscht. Diese kommen möglicherweise dadurch zustande, dass beim Selbstlernen bestimmte Stellungstypen weniger oft ausgespielt werden, als andere.

    Gefällt 2 Personen

    1. Das sehe ich auch so. Das Open-Source-Projekt Leela soll ja an ein eine Endspieldatenbank angebunden werden, was aber offenbar technisch sehr aufwendig ist und aus meiner Sicht dem Ansatz völlig zu wider laufen würde.

      Die verlorenen Endspiele in klarer Remis-Stellung sind ja gerade nicht mit einem Contempt-Faktor erklärbar, da A0 ja außer den Spielregeln nichts implementiert wurde. Die Endspielschwäche ist für mich noch am ehesten mit der ggü. SF deutlich geringen Anzahl berechneter Positionen, der fehlenden Endspieldatenbank und der fehlenden „Spielpraxis“ erklärbar. 44 Millionen Partien klingt viel; im Schachuniversum ist das aber nichts.

      Die Verlustpartie finde ich auch sehr bemerkenswert. Vor allem, da andersherum SF niemals auf diese Art verlieren würde. Da würden mich tatsächlich die Gedankengänge von A0 interessieren. Wann schlug der „expected Score“ zu Gunsten von SF um und warum? Würde A0 – wenn es doch unentwegt lernt – ein zweites Mal gegen SF auf diese Art verlieren? Wenn A0 „blinde Flecke“ hat, was sicher so ist – wieso in solch frühen Partiephasen? Ich meine, A0 hat doch 44 Millionen Partien zum Training des neuralen Netzes gegen sich selbst gespielt. Eine Menge Holz. Und die Art von Stellung war nicht dabei?! Seltsam.

      Gefällt 1 Person

  3. @Ultiko

    Grundsätzlich hast Du Recht. Wenn man aber Stockfish die Eröffnungsdatenbank und die Endspieldatenbank wegnehmen würde, wäre dann nicht A0 im Vorteil?

    Denn in gewisser Weiser hat sich doch A0 sowohl eine Eröffnungsdatenbank als auch eine Endspieldatenbank in der Lernphase, also beim Spielen von 44 Millionen Partie gegen sich selbst, mit Hilfe von Google´s Hochleistungsrechnern beigebracht und im neuralen Netzwerk abgespeichert. Mann kann die beiden System eben nur schwer miteinander vergleichen.

    Das finde ich ja gerade so interessant an dem Duell: Die völlig konträren Ansätze. Auf der einen Seite SF (stellvertretend für alle anderen klassischen Engines wie Komodo, Houdini, Fritz usw.. Das in den letzten 20 Jahren mit feinen, von den besten GM´s und Programmieren ausgeklügelten Heuristiken ausgestattet worden ist und auf eine Eröffnungsdatenbank zurückgreifen kann, die nicht weniger enthält, als das gesamten Schachwissen dieses Planeten. Jede Feinheit menschlichen Schachwissens, wie z.B. der Umgang mit Bauern: Randbauer, Isolani, Doppelbauer wurde SF in akribischer, jahrelanger Arbeit beigebracht. Nicht zu vergessen der Zugriff auf eine unfehlbare Endspieldatenbank.

    Und dann das krasse Gegenteil: Ein Algorithmus ohne Vorwissen, außer den Regeln. Null menschlicher Input. Ist das Schach von A0 das Schach in seiner reinsten Form? Nicht verunreinigt durch „menschliche“ Heuristiken, die in SF eingepflanzt worden sind? Vielleicht.

    Demins Hassabis, CEO von DeepMind, wurde gefragt, warum A0 so anders spielt. Die Antwort ist etwas überraschend. So genau wisse man das bei DeepMind nämlich auch nicht!

    „Wir haben eine Theorie, warum das so ist. Die meisten Schachmaschinen haben eingebaute Regeln und eines der ersten Dinge die sie tun ist, die Anzahl der Figuren und deren Wert zu zählen und derjenige gewinnt, der mehr Figuren hat.

    Wenn Sie sich vorstellen, dass Stockfish einen Turm für einen Springer opfern will, sagt diese Regel, dass es zwei Punkte kostet, so dass es berechnen muss diese in Zukunft zurück zu bekommen.Und das schränkt die Situationen ein, in welchen es ein Opfer bringen wird.“

    A0 kennt diese Regel über den Wert der Figuren nicht. Das haben sich Menschen ausgedacht und in SF eingepflanzt. Stimmt die überhaupt?!

    SF würde ohne diese Regel sicher ganz anders spielen. Ob besser oder schlechter weiß ich nicht. Wäre aber interessant das zu sehen.

    Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s