2 Punkte von GN⁺ 2024-10-19 | 1 Kommentare | Auf WhatsApp teilen

Ohne Algorithmen auf Schach-Großmeister-Niveau

  • Dieses Repository stellt eine Implementierung des Papers „Without Search Algorithms at Grandmaster Level Chess“ bereit
  • Die jüngsten Erfolge des Machine Learning sind vor allem großen aufmerksamkeitsbasierten Architekturen und Datensätzen in bislang beispiellosem Umfang zu verdanken
  • Dieses Paper untersucht die Auswirkungen großskaligen Lernens auf Schach
  • Im Unterschied zu traditionellen Schach-Engines stützt es sich nicht auf komplexe Heuristiken oder explizite Suche
  • Ein Transformer-Modell mit 270 Millionen Parametern wurde per Supervised Learning auf einem Datensatz von 10 Millionen Schachpartien trainiert
  • Unter Verwendung der Aktionswerte der Engine Stockfish 16 wurde jedes Brett annotiert, wodurch rund 15 Milliarden Datenpunkte entstanden
  • Das größte Modell erreichte gegen Menschen auf Lichess eine Blitz-Elo von 2895 und löst schwierige Schachrätsel auch ohne expliziten Suchalgorithmus
  • Es übertrifft das Policy- und Value-Netzwerk von AlphaZero (ohne Suche) sowie GPT-3.5-turbo-instruct
  • Eine systematische Untersuchung von Modell- und Datensatzgröße zeigt, dass starke Schachleistung erst bei ausreichender Skalierung auftritt
  • Zur Validierung der Ergebnisse wurden umfangreiche Experimente zu Designentscheidungen und Hyperparametern durchgeführt

Zusammenfassung von GN⁺

  • Dieses Projekt ist eine wichtige Studie, die zeigt, dass sich im Schach auch ohne traditionelle Suchalgorithmen eine hohe Leistung erreichen lässt
  • Durch den Einsatz großer Datensätze und von Transformer-Modellen werden neue Möglichkeiten für Schach-Engines erforscht
  • Im Vergleich zu bestehenden starken Schach-Engines wie AlphaZero zeigt es bessere Leistung
  • Es bietet für an Schach Interessierte spannende und nützliche Informationen und zeigt neue Anwendungsmöglichkeiten für Machine Learning auf
  • Ähnliche Projekte mit vergleichbarer Funktionalität sind AlphaZero und Leela Chess Zero

1 Kommentare

 
GN⁺ 2024-10-19
Hacker-News-Kommentare
  • Es ist schwierig, einen Schachgegner auf dem vom Nutzer gewünschten Niveau zu finden. Die meisten Engines senken den Schwierigkeitsgrad, indem sie die Suchtiefe reduzieren, aber das ist nicht besonders effektiv.

    • Nutzer wollen einen Computergegner, der sich wie ein menschlicher Spieler anfühlt.
  • Ein Nutzer hielt einen Vortrag über Wissensdestillation im Zusammenhang mit Schach und erklärte, wie sich komplexe nichtlineare Suchfunktionen für standardisierte Eingaben wie im Schach in ein quasilineares Transformer-Modell destillieren lassen.

  • Für alle, die sich für Schach-Neuronale-Netze interessieren, wird ein GitHub-Repository empfohlen, das leicht verständlichen Code mit PyTorch sowie eine Architektur bietet, die den derzeit leistungsstärksten Schach-Neuronalen-Netzen ähnelt.

  • Es gibt einen Blogbeitrag, der das LC0-Netzwerk mit dem Transformer-Netzwerk von DeepMind vergleicht.

  • Das Paper "Grandmaster-Level Chess Without Search" betont die Bedeutung groß angelegter aufmerksamkeitsbasierter Architekturen und Datensätze und trainiert Schach mit einem Transformer-Modell mit 270 Mio. Parametern.

    • Mit der Engine Stockfish 16 wurden mehr als 1 Milliarde Datenpunkte erzeugt, und gegen Menschen auf Lichess wurde ein Blitz-Elo von 2895 erreicht.
    • Es übertrifft die Policy- und Value-Netzwerke von AlphaZero.
  • Der große synthetische Datensatz wurde mit traditioneller Suche erzeugt, was im Grunde dem Kodieren eines Suchbaums in das Transformer-Modell entspricht.

  • Matthew Sadler hat Leela Zero so eingestellt, dass es intuitiv spielt; damit lassen sich auch ohne Suche effektiv Trainingspartien durchführen.

  • Wenn man Schach lösen will, entsteht ein zu großer Baum, und es gibt zwei Ansätze, diesen zu optimieren.

    • Den Baum zu approximieren und die Annotationen zu approximieren.
    • Mit Daten im Umfang von 270 Mio. Wörtern lässt sich der Baum approximieren.
  • FEN-Strings werden in Zeichenketten fester Länge umgewandelt, um den Brettzustand zu kodieren, und Aktionen werden in UCI-Notation gespeichert.

    • Wenn für jede Problemvariante der Tokenizer neu geschrieben werden muss, ist das bloß einfache Programmierung.