Eine neue KI gewinnt auf Anhieb. Kann eine ähnliche KI beim Schach gewinnen? Kann es reines Selbsttraining erreichen?

19

Eine der am häufigsten gestellten Fragen auf dieser Website betrifft die Aussicht auf eine rein selbst ausgebildete Schach-KI.

Heute wird ChessBase von seiner Berichterstattung über das FIDE-Kandidatenturnier abgelenkt, um zu berichten, dass eine neue KI zum ersten Mal einen führenden Meister des etwas anderen Go-Spiels besiegt, der sich seit vielen Jahren gegen KIs im Schachstil wehrte. Eine erste Lektüre des Berichts legt nahe, dass die neue Go-KI keine Schach-KI ist, sondern eher eine allgemeine Spiel-KI (GGP). Der Artikel von ChessBase verwendet jedoch nicht den Begriff GGP, sondern scheint zu sagen, dass die Go-KI bei einfachen Videospielen gewinnen kann.

Gibt es einen Grund, warum eine solche gewinnbringende KI mit geringen Anpassungen nicht auch beim Schach gewinnen könnte? Wenn ja, verspricht eine solche KI das Erreichen des reinen Selbsttrainings, was zu diesem Zeitpunkt noch nicht möglich war? Warum oder warum nicht?

Ich vermute, dass noch keine wirklich vollständige, vollständig informierte Antwort auf meine Frage verfügbar ist. Daher wäre auch eine teilweise Antwort auf der Grundlage des entsprechenden Fachwissens wünschenswert.

Weitere Hinweise finden Sie auch in dieser verwandten Frage und den Antworten.

AKTUALISIEREN

Als die obige Frage vor fünf Tagen zum ersten Mal gestellt wurde und einige der guten Antworten unten gegeben wurden, waren gerade die ersten Nachrichten über den Sieg der Go-KI erschienen. Seitdem sind zusätzliche Informationen und Kommentare aufgetaucht.

Besonders interessant ist seitdem eine gut lesbare, fünfseitige Diskussionsrunde, in der Jonathan Schaeffer bemerkt:

Das Lernen aus menschlichen Spielen beschleunigt das Lernen des Programms. AlphaGo könnte lernen, selbst ein starker Spieler zu werden, ohne die menschlichen Spiele zu nutzen. Der Lernprozess würde nur länger dauern.

Nach Angaben des Gastgebers des Runden Tisches ist Schaeffer "Professor für Informatik an der Universität von Alberta und der Mann, der die Kontrolleure gelöst hat"; Vermutlich könnte er also befugt sein, Kommentare abzugeben.

Für weitere Informationen finden Sie hier die Aufzeichnung einer weiteren offenen Diskussion, von der viele Teilnehmer besser informiert zu sein scheinen als üblich. Die Diskussion fand während des Spiels statt.

Ein weiteres Update, eineinhalb Jahre später: commenter @MarkS. schreibt:

Dies ist nur ein Kommentar, denn es geht um Go, nicht um Schach, aber AlphaGo Zero hat "reines Selbsttraining" erreicht, nur weil bekannt wurde, wer gewonnen hat (und nicht das Endergebnis). Es ist stärker und weitaus effizienter als die KI, die Lee Sedol besiegt hat . Weitere Informationen finden Sie unter deepmind.com/blog/alphago-zero-learning-scratch

thb
quelle
Ich empfehle Ihnen, dies in technischen Foren nachzufragen. KI ist ein kompliziertes Thema, und man sollte über ein beträchtliches Fachwissen verfügen, um es zu verstehen. Wenn ich die Antworten hier betrachte, bin ich mir nicht sicher, ob Sie eine vernünftige Antwort erhalten.
Salvador Dali
5
Die Antworten werden sehr geschätzt. Ich habe mehr als eine Stimme abgegeben. Wenn ich noch keine akzeptiert habe, ist dies keine Kritik an den Antworten, sondern eine Erkenntnis, dass die Frage so schwierig und das Thema so neu ist, dass die akzeptable Antwort möglicherweise noch nicht verfügbar ist. Lassen wir diese Frage eine Weile offen, um zu sehen, ob nach einiger Zeit eine heute nicht verfügbare Antwort verfügbar wird. Vielen Dank.
16.
1
Dies ist nur ein Kommentar, denn es geht um Go, nicht um Schach, aber AlphaGo Zero hat "reines Selbsttraining" erreicht, nur weil bekannt wurde, wer gewonnen hat (und nicht das Endergebnis). Es ist stärker und weitaus effizienter als die KI, die Lee Sedol besiegt hat . Weitere Informationen finden Sie unter deepmind.com/blog/alphago-zero-learning-scratch
Mark S.
1
@thb Ich denke AlphaZero ist so eine KI.
Harry Weasley
1
Ab Dezember 2017 brachte AlphaZero sich einen Schachstil nur nach den Regeln des Spiels arxiv.org/pdf/1712.01815.pdf bei und entließ StockFish überzeugend.
Segeln

Antworten:

14

Gut gut gut! DeepMind hat eine Veröffentlichung veröffentlicht, in der sie angaben, einen neuronalen Netzwerkcomputer so programmiert und trainiert zu haben, dass er Stockfish schlägt.

Mit 1 Minute Bedenkzeit pro Zug schlagen ihre AlphaZero-Computer Stockfish um +25, = 25, -0 mit Weiß und +3, = 47,0- als Schwarz.

Sie "trainierten" 3 verschiedene Computer, um Schach, Shogi und Go zu spielen und ihre Silizium-Rivalen überzeugend zu besiegen.

Hier ist, wie das Papier die Ausbildung und Bewertung beschreibt -

Selfplay-Spiele werden unter Verwendung der neuesten Parameter für dieses neuronale Netzwerk generiert, wobei der Bewertungsschritt und die Auswahl des besten Spielers weggelassen werden.

AlphaGo Zero hat den Hyperparameter seiner Suche durch Bayes'sche Optimierung optimiert. In AlphaZero verwenden wir dieselben Hyperparameter für alle Spiele ohne spielspezifisches Tuning. Die einzige Ausnahme ist der Lärm, der der vorherigen Richtlinie hinzugefügt wird, um die Exploration zu gewährleisten. Dies wird proportional zu der typischen Anzahl von legalen Zügen für diesen Spieltyp skaliert.

Wie bei AlphaGo Zero wird der Board-Status von räumlichen Ebenen codiert, die nur auf den Grundregeln für jedes Spiel basieren. Die Aktionen werden entweder durch räumliche Ebenen oder einen flachen Vektor codiert, wobei wiederum nur die Grundregeln für jedes Spiel zugrunde gelegt werden (siehe Methoden).

Wir haben den AlphaZero-Algorithmus auf Schach, Shogi und auch auf Go angewendet. Sofern nicht anders angegeben, wurden für alle drei Spiele dieselben Algorithmuseinstellungen, Netzwerkarchitekturen und Hyperparameter verwendet. Wir haben für jedes Spiel eine separate Instanz von AlphaZero trainiert. Das Training wurde für 700.000 Schritte (Mini-Batches mit einer Größe von 4.096) ausgehend von zufällig initialisierten Parametern durchgeführt. Dabei wurden 5.000 TPUs der ersten Generation zum Erzeugen von Selbstspielspielen und 64 TPUs der zweiten Generation zum Trainieren der neuronalen Netze verwendet. Weitere Details zum Trainingsablauf finden Sie in den Methoden.

Abbildung 1 zeigt die Leistung von AlphaZero während des Selbstlernens als Funktion der Trainingsschritte auf einer Elo-Skala (10). Im Schach übertraf AlphaZero Stockfish nach nur 4 Stunden (300.000 Schritte). Beim Shogi übertraf AlphaZero Elmo nach weniger als 2 Stunden (in 110-km-Schritten). und in Go übertraf AlphaZero AlphaGo Lee (29) nach 8 Stunden (165.000 Schritte).

Wir haben die vollständig trainierten Instanzen von AlphaZero gegen Stockfish, Elmo und die Vorgängerversion von AlphaGo Zero (3 Tage lang trainiert) in Schach, Shogi und Go ausgewertet und dabei 100 Spielmatches bei Turnierzeitkontrollen von jeweils einer Minute pro Zug gespielt. AlphaZero und das vorherige AlphaGo Zero verwendeten eine einzelne Maschine mit 4 TPUs. Stockfish und Elmo spielten mit 64 Threads und einer Hash-Größe von 1 GB auf höchstem Niveau. AlphaZero besiegte überzeugend alle Gegner, verlor null Spiele gegen Stockfish und acht Spiele gegen Elmo (siehe Ergänzungsmaterial für mehrere Beispielspiele) und besiegte die Vorgängerversion von AlphaGo Zero (siehe Tabelle 1).

Ihr Computer verwendete eine neue Form von Chip, die von Google für maschinelles Lernen entwickelte "TPU" ( Tensor Processing Unit ).

Sie behaupten auch, dass ihr Monte-Carlo-Baumsuchalgorithmus besser und "menschlicher" ist als die traditionellen Alpha-Beta-Suchalgorithmen.

Wir haben auch die relative Leistung der MCTS-Suche von AlphaZero im Vergleich zu den neuesten Alpha-Beta-Suchmaschinen von Stockfish und Elmo analysiert. AlphaZero durchsucht nur 80.000 Positionen pro Sekunde im Schach und 40.000 im Shogi, verglichen mit 70 Millionen bei Stockfish und 35 Millionen bei Elmo. AlphaZero gleicht die geringere Anzahl von Auswertungen aus, indem es sein tiefes neuronales Netzwerk verwendet, um sich viel selektiver auf die vielversprechendsten Variationen zu konzentrieren - wahrscheinlich ein „menschlicherer“ Ansatz für die Suche, wie ursprünglich von Shannon vorgeschlagen. Abbildung 2 zeigt die Skalierbarkeit jedes Spielers in Bezug auf die Denkzeit, gemessen auf einer Elo-Skala, im Vergleich zu Stockfish oder Elmo mit einer Denkzeit von 40 ms. AlphaZeros MCTS skalierte effektiver mit der Bedenkzeit als Stockfish oder Elmo.

Hier sind einige der Spiele -

Stockfisch - AlphaZero, 0-1
1. e4 e5 2. Sf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. OO Nd7 7. Nbd2 O-O 8. Qe1 f6 9. Sc4 Rf7 10. a4 Bf8 11. Kh1 Nc5 12. a5 Ne6 13. Ncxe5 fxe5 14. Nxe5 Rf6 15. Ng4 Rf7 16. Ne5 Re7 17. a6 c5 18. f4 Qe8 19. axb7 Bxb7 20. Qa5 Nd4 21. Qc3 Re6 22. Be3 Rb6 23. Nc4 Rb4 24. b3 a5 25. Lxa5 Rxa5 26. Nxa5 Ba6 27. Bxd4 Rxd4 28. Nc4 Rd8 29. g3 h6 30. Da5 Bc8 31. Dxc7 Bh3 32. Rg1 Rd7 33. De5 Qxe5 34. Nxe5 Ra7 35. Nc4 g5 36. Rc1 Bg7 37. Ne5 Ra8 38. Nf3 Bb2 39. Rb1 Bc3 40. Ng1 Bd7 41. Ne2 Bd2 42. Rd1 Be3 43. Kg2 Bg4 44. Re1 Bd2 45. Rf1 Ra2 46. ​​h3 Bxe2 47. Rf2 Bxf4 48. Rxe2 Be5 49. Rf2 Kg7 50. g4 Bd4 51. Re2 Kf6 52. e5 + Bxe5 53. Kf3 Ra1 54. Rf2 Re1 55. Kg2 + Bf4 56. c3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Ke5 61 hxg5 hxg5 62. Re2 + Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6 + Ke7 66. Ra5 Ke6 67. Ra6 + Bd6 0-1

Spiel

Stockfisch - AlphaZero, 0-1
1. e4 e5 2. Sf3 Nc6 3. Bb5 Nf6 4. d3 Bc5 5. Bxc6 dxc6 6. OO Nd7 7. c3 O-O 8. d4 Bd6 9. Lg5 Qe8 10. Re1 f6 11. Bh4 Qf7 12. Sbd2 a5 13. Lg3 Re8 14. Dc2 Nf8 15. c4 c5 16. d5 b6 17. Nh4 g6 18. Nhf3 Bd7 19. Rad1 Re7 20. h3 Qg7 21. Dc3 Rae8 22. a3 h6 23. Bh4 Rf7 24. Bg3 Rfe7 25. Bh4 Rf7 26. Lg3 a4 27. Kh1 Rfe7 28. Bh4 Rf7 29. Lg3 Rfe7 30. Bh4 g5 31. Lg3 Ng6 32. Lg1 Rf7 33. Ne3 Ne7 34. Dd3 h5 35. h4 Nc8 36. Re2 g4 37. Nd2 Qh7 38. Kg1 Bf8 39. Nb1 Nd6 40. Nc3 Bh6 41. Rf1 Ra8 42. Kh2 Kf8 43. Kg1 Qg6 44. f4 gxf3 45. Rxf3 Bxe3 + 46. ​​Rfxe3 Ke7 47. Be1 Qh7 48. Rg3 RG7 49. Rxg7 + QXG7 50. Re3 Tg8 51. Rg3 Qh8 52. Nb1 Rxg3 53. Bxg3 Qh6 54. Nd2 Lg4 55. Kh2 Kd7 56. b3 axb3 57. Nxb3 Dg6 58. Nd2 Bd1 59. Nf3 Ba4 60. Nd2 Ke7 61 Bf2. QG4 62. Qf3 Bd1 63. Qxg4 Bxg4 64. a4 Nb7 65. Nb1 Na5 66. Be3 Nxc4 67. Bc1 Bd7 68. Nc3 c6 69. Kg1 cxd5 70. exd5 Lf5 71. Kf2 Nd6 72. Be3 Ne4 + 73. Sxe4 Bxe4 74. a5 bxa5 75. Bxc5 + Kd7 76. d6 Bf5 77. Ba3 Kc6 78. Ke1 Kd5 79. Kd2 Ke4 80. Bb2 Kf4 81. Bc1 Kg3 82. Ke2 a4 83. Kf1 Kxh4 84. Kf2 Kg4 85. Ba3 Bd7 86. Bc1 Kf5 87. Ke3 Ke6 0-1

Weiß: AlphaZero Schwarz: Stockfisch

AlphaZero - Stockfisch, 1-0
1. Sf3 Nf6 2. c4 b6 3. d4 e6 4. g3 Ba6 5. Dc2 c5 6. d5 exd5 7. cxd5 Bb7 8. Lg2 Nxd5 9. OO Nc6 10. Rd1 Be7 11. Df5 Nf6 12. e4 g6 13. Qf4 O-O 14. e5 Nh5 15. Qg4 Re8 16. Nc3 Qb8 17. Nd5 Bf8 18. Lf4 Qc8 19. h3 Ne7 20. Ne3 Bc6 21. Rd6 Ng7 22. Lf6 Qb7 23. Bh6 Nd5 24. Lxd5 Bxd5 25. Rd1 Ne6 26. Bxf8 Rxf8 27. Dh4 Bc6 28. Dh6 Rae8 29. Rd6 Bxf3 30. Bxf3 Qa6 31. h4 Qa5 32. Rd1 c4 33. Rd5 Qe1 + 34. Kg2 c3 35. bxc3 Qxc3 36. h5 Re7 37. Bd1 Qe1 38. Bb3 Rd8 39. Rf3 Qe4 40. Qd2 Qg4 41. Bd1 Qe4 42. h6 Nc7 43. Rd6 Ne6 44. Bb3 Qxe5 45. Rd5 Qh8 46. ​​Qb4 Nc5 47. Rxc5 bxc5 48. Qh4 Rde8 49. Rf6 Rf8 50. Qf4 a5 51. g4 d5 52. Bxd5 Rd7 53. Bc4 a4 54. g5 a3 55. Qf3 Rc7 56. Qxa3 Qxf6 57. gxf6 Rfc8 58. Qd3 Rf8 59. Qd6 Rfc8 60. a4 1- 0
Brian Towers
quelle
Lies einfach die Zeitung. Wirklich großartig. Das heißt natürlich nicht, dass Sie mit den traditionellen Techniken in Kombination mit AlphaZero nichts Stärkeres bauen können, aber trotzdem ...
BlindKungFuMaster
10

Ok, ich muss zugeben, dass ich mich geirrt habe. Obwohl ich behaupten würde, dass es aufgrund der Kenntnis der Expertenmeinung nicht generell stumpf war: Um das Papier zu zitieren : "Schachprogramme, die traditionelles MCTS verwenden, waren jedoch viel schwächer als Alpha-Beta-Suchprogramme (4, 24), während Alpha -beta-Programme, die auf neuronalen Netzen basieren, waren bisher nicht in der Lage, mit schnelleren, handgefertigten Auswertungsfunktionen zu konkurrieren. "

Anscheinend ist Schach strategisch tief genug, dass Sie jemanden herausfinden können, der in der Lage wäre, Sie herauszurechnen. Für mich ist das eine große Überraschung, denn die Entwicklung der Schachengines verlief in die entgegengesetzte Richtung. (Anscheinend gibt es immer noch eine leichte Einschränkung, ob AlphaZero wirklich stärker als Stockfish ist: Stockfish spielte mit nur 1 GB für die Hashtables und 64 Kerne könnten für vier TPUs nicht wirklich passen.)

Es ist auch eine wirklich, wirklich aufregende Sache, denn AlphaZero hat höchstwahrscheinlich ganz andere Stärken als herkömmliche Motoren.

Es bedeutet auch, dass ich meinen Glauben an die Bedeutung von AlphaGo als technologischen Durchbruch um ein Vielfaches aktualisiere. Grundsätzlich Shogi zu zerschlagen, Go and Chess mit einer einzigen Konfiguration ist absolut erstaunlich, ganz zu schweigen von Dutzenden anderer Spiele, die AlphaZero wahrscheinlich auf einem übermenschlichen Level spielen könnte.

Es gibt eine nette Erklärung, warum MCTS im Vergleich zur Alpha-Beta-Suche (aus dem Artikel) auch für Schach eine anständige Idee ist: "AlphaZero bewertet Positionen unter Verwendung einer nichtlinearen Funktionsnäherung auf der Grundlage eines tiefen neuronalen Netzwerks und nicht der linearen Funktionsapproximation, die in typischen Schachprogrammen verwendet wird Dies stellt eine viel leistungsfähigere Darstellung dar, kann jedoch auch zu falschen Approximationsfehlern führen. MCTS mittelt über diese Approximationsfehler, die sich daher bei der Auswertung eines großen Teilbaums tendenziell aufheben. Im Gegensatz zur Alpha-Beta-Suche berechnet ein explizites Mini-Max, das die größten Approximationsfehler an die Wurzel des Teilbaums weitergibt. " (Hervorhebung von mir)

Hier ist meine alte Antwort, die immer noch einige gültige Punkte enthält, obwohl die Schlussfolgerung von der Realität abgelöst wird.

Erstens ist Alphago kein allgemeines Spielsystem. Es ist ein Programm, das nur zum Spielen gedacht ist und sonst nichts. Es ist jedoch aus bestimmten Bausteinen aufgebaut, die eine viel breitere Anwendbarkeit haben, wie beispielsweise Faltungs-Neuronale Netze , die bei der Bilderkennung verwendet wurden und die sofort in der medizinischen Diagnostik Anwendung finden, und Verstärkungslernen, das verwendet wurde, um die in erwähnten Atari-Spiele zu meistern der Artikel.

Aktuelle Engines "lernen" auch aus eigener Kraft : "Über Nacht durchspielen Leflers sechs Computer acht Stunden lang jeweils mehr als 14.000 Spiele." Sechs Maschinen und 14.000 Spiele sind eine Menge Spiele ", sagt er Mit jedem Spiel wird die Datenbank tiefer und umfangreicher. Es besteht sogar ein sportliches Interesse daran, zu beobachten, wie Computer gegeneinander spielen. Das Ergebnis von Leflers geschäftigen surrenden Maschinen ist die ständig wachsende Leistungsfähigkeit von Komodo.

Um zum größten Teil Ihrer Frage zu kommen:

Es gibt einen wichtigen Unterschied zwischen Schach und Los, zumindest aus Sicht eines Programmierers. Schach ist eher ein taktisches Spiel, wohingegen Go eher ein strategisches Spiel ist. Dies bedeutet, dass bei der Schachberechnung die Tiefe die Positionsbewertung übertrifft. Das ist im Grunde die Schlüsselerkenntnis, die die "alten" Motoren wie Fritz, Shredder, Junior und die neuere Generation wie Fruit, Rybka, Houdini, Stockfish, Komodo auszeichnet. Da am Ende jeder Zeile die Position ausgewertet werden muss und viele Zeilen berechnet werden sollen und die Qualität der Auswertung nicht so wichtig ist wie die Suchtiefe, verfügen Schachmaschinen über schlanke und schnelle Auswertungsfunktionen.

Andererseits ist die taktische Komplexität auch für Computer zu groß. Folglich ist es wichtig, Positionen und Bewegungen genau zu bewerten. Was Alphago neu ins Spiel bringt, ist diese Auswertungskraft, die auf faltungsbedingten neuronalen Netzen basiert .

Um endlich zu meinem Punkt zu kommen: Während Schachbewertungsfunktionen schlank und schnell sind, haben neuronale Netze Millionen, manchmal Milliarden von Parametern. Da "Lernen" in diesem Zusammenhang das Ändern von Parametern bedeutet, gibt es viel mehr mögliche Fortschritte für selbstlernende Go-Programme.

Ja, Sie könnten ein Setup wie Alphago verwenden, um eine Schachengine zu erstellen, aber es wäre nicht besonders gut. Das Ausführen der Evaluierungsfunktion würde so viel Zeit in Anspruch nehmen, dass Sie eine riesige Gruppe von GPUs verwenden müssten, um zu den erforderlichen Suchtiefen zu gelangen (was Alphago auch tut). Sie könnten eine sehr gute Bewertungsfunktion erstellen , aber der Geschwindigkeits-Kompromiss ist es nicht wert.

BlindKungFuMaster
quelle
1
Ich würde Ihnen nicht zustimmen, dass Sie ein Setup wie Alphago verwenden könnten, um eine Schachengine zu erstellen, aber es wäre nicht besonders gut . Ich kann etwas auf die Tatsache wetten, dass es in weniger als einem Jahr eine Schachengine geben wird, die stark von NN abhängt (es wird höchstwahrscheinlich eine Baumsuche und Monte Carlo geben, aber das ist nicht wichtig), die in der Nähe sein wird Stockfisch auf dem neuesten Stand der Technik. Und diese Engine wird nicht von einem Superkonzern stammen (weil das Interesse an Schach bei KI-Forschern vor langer Zeit verblasst ist), sondern von einem starken Hobbisten.
Salvador Dali
Monte Carlo ist im Schach völlig nutzlos. Und während NNs nicht nutzlos sind, sind sie einfach viel zu langsam.
BlindKungFuMaster
3
Warum genau ist MCTS nutzlos? Es ist sehr sinnvoll, von einer aktuellen Brettposition aus zu starten, 1000 Spiele mit einer Knotentiefe von 5 zu spielen und zu sehen, welcher Knoten bessere Chancen hat. Dies ist sehr ähnlich zu dem, was Sie tun, wenn Sie sich die Bewegungsstatistik in der Datenbank ansehen und feststellen, dass Weiß nach 14. Kg4 25% gewinnt, aber mit 14. Rb2 gewinnt es mit 45%. Haben Sie Beweise für völlig nutzlose Redewendungen ?
Salvador Dali
2
Bei MCTS geht es nicht um Zufälligkeit, sondern um Simulation. Grundlegende Einführungsbücher über MC zeigen Ihnen nur ein Beispiel für Zufälligkeit, um den Punkt zu verdeutlichen. Mit der Knotentiefe von 6 können Sie viele Male eine scharfe Position spielen, was superschnell (und immer noch ziemlich zuverlässig) ist und es Ihnen ermöglicht, ungefähr zu schätzen, welche Bewegung besser ist.
Salvador Dali
1
Meine Aussagen sind nicht fett, sie sind Mainstream. Lesen Sie einfach einige Schachprogrammierungsseiten, Sie werden mehr oder weniger meine Argumente finden. MCTS ist seit einem Jahrzehnt bekannt und im Schach funktionieren andere Dinge einfach besser. Andererseits glaube ich nicht, dass Ihre Aussagen auf etwas anderem als dem Bauchgefühl beruhen. Dies wird also mein letzter Kommentar sein.
BlindKungFuMaster
5

Es gibt ein Projekt namens Spawkfish , das genau dies versucht. Es handelt sich um eine auf einem neuronalen Netzwerk basierende Engine, die "untersuchen soll, wie die jüngsten Fortschritte in Computer Go auf die Welt des Computerschachs übertragen werden können".

Es ist ein junges Projekt und der Motor ist immer noch ziemlich schwach. Es zu spielen ist interessant, weil sein Positionsspiel besser ist als seine Taktik.

Alexander Garden
quelle
2
Du hast nicht mit dem letzten Satz gescherzt. Ich habe gerade ein paar Spiele dagegen gespielt, und jedes hat sich in ein recht einfaches Endspiel verwandelt, nur um zu sehen, dass Spawkfish plötzlich Material fallen lässt (in einem Fall hängt einfach ein Turm aus dem Nichts). Seltsam.
ETD
Seit Sie geantwortet haben, scheinen neue Informationen zur Go-KI aufgetaucht zu sein. Ich habe die Frage aktualisiert, um auf die Nachrichten zu verlinken, falls dies Sie interessiert.
18.
Die Website für Spawkfish scheint verschwunden zu sein ...
hkBst
4

Kann eine ähnliche KI beim Schach gewinnen? Kann es reines Selbsttraining erreichen?

Die kurze Antwort lautet "Nein!"

Schach und Los unterscheiden sich radikal in ihrer relativen Einfachheit und relativen Komplexität, die sich aus ihrer Geometrie und dem Gewinn ergibt. Diese kombinieren sich zu einem Programm, das auf der einen Seite gut und auf der anderen unbrauchbar ist.

Im Schach gewinnt man, indem man den Gegner schachmatt setzt, Punkte zählen nicht. Natürlich tritt ein vernünftiger Gegner oft zurück, bevor Sie Schachmatt setzen, aber das Prinzip ist dasselbe. Auf dem Sprung gewinnt man, indem man am Ende des Spiels mehr Punkte hat. Wenn ich einen König und eine Königin habe und Sie einen König, einen Turm und einen Bauern haben, aber Sie eine Festung gebaut haben, ist es egal, dass ich 9 Punkte für die Königin habe und Sie nur 6 Punkte für Ihren Turm und Ihren Bauern haben. Das Spiel ist unentschieden.

Dies macht einen grundlegenden Unterschied in der Komplexität zwischen Schach und Los. Unterwegs können Sie nur punkten und wissen, wer gewinnt. Beim Schach können Sie nur durch reines Berechnen feststellen, wer gewinnt. In diesem Sinne ist Schach viel komplexer als Go.

Gleichzeitig gibt es aufgrund der Geometrie der beiden Partien um Größenordnungen mehr Möglichkeiten als beim Schach. In diesem Sinne ist go viel komplexer als Schach.

Ein Schachprogramm berechnet durch Brute-Force-Berechnung alle möglichen Züge bis zu einer bestimmten Tiefe, die seine Stärke bestimmt. Ein Go-Programm kann so nicht funktionieren und nichts Fortgeschritteneres als Anfänger-Go spielen.

Das Hauptziel von go ist es, mehr Territorium als dein Gegner zu kontrollieren. Am Ende eines Spiels ist es egal, ob der Unterschied 1 Stein oder 100 Steine ​​beträgt, beide sind Siege. Jedes Mal, wenn Sie einen Stein platzieren, tun Sie zwei Dinge. Sie vergrößern Ihr Territorium, entweder potenziell oder tatsächlich, und Sie verringern das Ihres Gegners.

Manchmal, wenn es sich um eine tatsächliche Zunahme oder Abnahme des Territoriums handelt, ist es einfach, den Wert der Bewegung zu berechnen, aber wenn es potenziell ist, ist es sehr schwierig zu bewerten. Als schwacher Go-Spieler verstehe ich das "tatsächliche" viel besser als das "Potenzial" und ein stärkerer Spieler wird mich schlagen, indem er in der Mitte ein viel größeres potenzielles Territorium baut, während ich an den Rändern und in den Ecken ein kleineres tatsächliches Territorium baue. Der stärkere Spieler hat die Fähigkeit aufgebaut, durch Intuition und Gefühl zu urteilen, indem er viele Spiele gespielt und erkannt hat, wie man "potentielles" Territorium aufbaut.

Früher sagte ich, dass jedes Mal, wenn ich einen Stein platziere, mein Territorium vergrößert (tatsächlich oder potenziell) und das meines Gegners verringert wird (tatsächlich, wenn es ein dummer Zug ist, wird es das Gegenteil bewirken!). In einer bestimmten Position sind nicht alle Züge gleich. Ein Stein, der an einer Position platziert wird, kann viel mehr oder viel weniger wert sein als ein Stein, der an einer anderen Position platziert wird.

Typischerweise wird es in einem Spiel kleine "Kämpfe" geben, bei denen die Spieler ihre Steine ​​nebeneinander platzieren, ihr Territorium markieren und die des Gegners begrenzen. In der Zwischenzeit gibt es die Möglichkeit, Gebiete in einem anderen Teil des Spielfelds abzustecken oder zu einem Kampf zu wechseln, in dem beide Spieler bereits Steine ​​haben.

In diesen Situationen ist es sehr wichtig zu wissen, wann ein Kampf zu beenden ist, da die potenziellen Gewinne geringer geworden sind, und entweder zu einem anderen Kampf überzugehen oder vielleicht in jungfräuliches Gebiet vorzudringen. Manchmal hängt dies von einer harten Berechnung ab, aber oft ist es viel nebulöser und unterliegt keiner Berechnung. Als schwacher Spieler ist dies der Punkt, an dem mich ein starker Zahler jedes Mal niederschlägt.

In diesen Situationen verwendet der Computer probabilistische Methoden, um eine erwartete Punktzahl für einen bestimmten Zug zu generieren. Manchmal wird sich der tatsächliche Wert als etwas geringer herausstellen, manchmal als etwas höher, aber auf lange Sicht wird er sich mehr oder weniger ausgleichen. Es wird weiterhin den Zug mit dem höchsten erwarteten Wert auswählen, mit der Erwartung, dass sich auf lange Sicht kleine Fehler aufheben und seine Strategie gewinnen wird.

Dies ist keine Strategie, die Schachspielern geläufig ist und die im Schach nicht funktionieren wird. Es ist etwas, das jedem bekannt vorkommt, der verfolgt, was auf den Aktienmärkten vor sich geht. Es hört sich sehr ähnlich an wie ein sogenannter "Hochfrequenzhandel", bei dem Computer Tausende von kleinen oder nur vorgeschlagenen Wetten pro Sekunde abschließen, um den Markt zu "vernünftigen Preisen" zu bewegen und ihn möglicherweise über Millisekunden hinweg nur unwesentlich zu ihren Gunsten zu bewegen.

Die Finanzmärkte werden bereits von diesen Arten des algorithmischen Handels dominiert, was darauf hindeutet, dass diese Art von Programm in einem weitaus lukrativeren Bereich als einem Brettspiel bereits gesiegt hat.

Brian Towers
quelle
4
Hochfrequenzhandel ist nichts anderes als Spielen. Ganz andere Algorithmen afaik. Außerdem enthält Ihre Antwort eine Menge interessanter Dinge, aber es ist schwer zu verstehen, worauf es ankommt. Fügen Sie vielleicht eine TL hinzu. ;-)
BlindKungFuMaster
@BlindKungFuMaster Das zugrundeliegende Prinzip hinter HFT und AlphaGo ist ein probabilistisches. Der erwartete Gewinn aus dieser "Bewegung" beträgt x%. Langfristig wird die Anhäufung solcher Züge / Wetten das Spiel für AlphaGo gewinnen oder ein Vermögen für die HFT-Händler machen. Ab und zu kommt es jedoch zu einem "Flash-Crash" oder einem "Wonder Move" von einem Lee Se-Dol, der aus einem Gewinn / Gewinn einen Verlust macht. Das macht seine Programmierung in keiner Weise ungültig. Es ist nicht programmiert, jedes Mal den absolut besten Zug zu finden. Es ist ein bisschen wie Pseudolösungen für das Problem der reisenden Verkäufer, die versuchen, innerhalb von 5% des Besten zu kommen.
Brian Towers
Seit Sie geantwortet haben, scheinen neue Informationen zur Go-KI aufgetaucht zu sein. Ich habe die Frage aktualisiert, um auf die Nachrichten zu verlinken, falls dies Sie interessiert.
18.
1
@thb, ich glaube, diese Antwort ist angesichts des neuen Erfolgs von AlphaZero etwas veraltet, wie in arxiv.org/abs/1712.01815
Mark S.
@ Will Nein. Warum? Beurteile andere nicht nach deinen eigenen flachen Maßstäben.
Brian Towers
4

(Jeder, der eine ausführliche technische Diskussion für AlphaGo wünscht, kann sich meinen Beitrag ansehen. )

Kurze Antwort : Nein

Lange Antwort :

Zunächst müssen wir verstehen, warum Google Alpha-Beta nicht in AlphaGo implementiert hat. Stockfish und Komodo (und alle Schachengines) haben Alpha-Beta, warum sollte AlphaGo nicht?

Grund : Es gibt keine einfache und kostengünstige Methode, um eine Go-Position statisch genau zu bewerten.

Im Schach können wir immer die Materialien zählen, eine sehr effektive Methode, um eine Position statisch zu bewerten. Obwohl es nicht perfekt ist, ist es sehr schnell und ein sehr guter Proxy für Schach.

Das Durchsuchen des Zustandsraums mit Monte-Carlo ist der Alpha-Beta-Methode unterlegen . Google hätte Alpha-Beta implementiert, wenn sie könnten, aber sie konnten nicht. Sie waren gezwungen, etwas viel langsameres zu benutzen.

Die Schachengine würde mit Monte-Carlo nicht besser laufen.

Kleinschach
quelle
Zeit zum Nachdenken oder vielleicht doch nicht?
Evargalo
3

Ich bin mit den anderen Antworten nicht einverstanden. Ich bin ein Informatiker, der professionell auf dem Gebiet der künstlichen Intelligenz arbeitet und außerdem ein Meisterkandidat in Schach und 3 Dan in Igo ist.

Ich denke, es ist derzeit unklar, ob Deep Minds Methoden auf Schach angewendet werden könnten, aber ich denke, es ist möglich.

Gegenwärtig verlassen sich die Top-Schachprogramme zunehmend auf Heuristiken und der Versuch, die AlphaGo-Architektur für das Schachspiel zu verwenden, würde in gewisser Weise in die gleiche Richtung gehen.

Eine wichtige architektonische Eigenschaft von AlphaGo, die geändert werden müsste, ist die Methode zur Identifizierung von Schlüsselfeldern (oder Heatmaps), die speziell für igoähnliche Spiele gilt und nicht direkt auf Schach anwendbar ist. Ein Analogon dieser Methode müsste entwickelt werden, um die AlphaGo-Architektur für Schach relevant zu machen. Zum Beispiel könnten wir das Konzept von "Schlüsselstücken" anstelle von Schlüsselquadraten haben.

Ich denke, das Argument, dass die AlphaGo-Architektur für Schach nicht relevant ist, weil Schach taktischer ist, ist keine sehr gute Behauptung, da letztendlich beide Suchbäume ähnlich genug in der Form sind, dass AlphaGo definitiv an Schach angepasst werden könnte.

Cecil De Vere
quelle
Ich habe dir +1 gegeben, da deine Behauptungen korrekt sein könnten, aber wir wissen es nicht genau, bis jemand einen Artikel veröffentlicht.
SmallChess
Äh? Das Papier existiert bereits, worauf Brian Towers hingewiesen hat. Die Antwort ist ein Ja.
thermomagnetische kondensierte Boson
Sieht so aus, als hätte ich recht gehabt, heh.
Cecil De Vere
@ CecilDeVere nicht mit den anderen Antworten nicht einverstanden, 2 von ihnen wiesen auf die richtige Antwort. Und nicht durch die Feststellung, dass es zu diesem Zeitpunkt unklar ist, während es glasklar ist, dass diese Antwort ja ist (nicht vielleicht).
thermomagnetische kondensierte Boson
3

Die Antwort ist ja! Google hat dies erst gestern bewiesen, als AlphaZero das beste Schachprogramm schlug, indem es nur Wissen über die Regeln und reines Selbsttraining verwendete, ohne dass menschliches Schachwissen zum Einsatz kam. Die akzeptierte Antwort ist falsch. Der Link zum Artikel ist hier: Link

zaifrun
quelle