Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / Schachprogrammierung / NNUE
- By Lothar Jung Date 2022-08-16 14:42 Edited 2022-08-16 14:46 Upvotes 1
NNUE wurde von dem japanischen Softwareentwickler Yu Nasu für das Computer-Shōgi, einer japanischen Variante des Computerschachs, entwickelt und in seiner zur 28. Computer-Shōgi-Weltmeisterschaft veröffentlichten Publikation im April 2018 vorgestellt. Als Namenspaten wählte der Entwickler das japanische Fabelwesen Nue aus und bildete dazu aus den Anfangsbuchstaben von Efficiently Updatable Neural Network, also EUNN, das Inverse ИИUƎ. Lautmalerisch ergibt sich so darüber hinaus die Assoziation zu englisch New, also Neu.

Ed Schröder Sommer 2020: “A new revolution in computer chess is taking place, in my opinion, it will (once again) change computer chess dramatically the coming years looking at the first results.”

Stockfish 12 wurde im September 2020 als erste NNUE-engine eingesetzt.
Siehe nächsten Link:

Links:

auf deutsch:
Wikipedia
https://de.wikipedia.org/wiki/NNUE

auf englisch:

https://www.chessprogramming.org/Stockfish_NNUE

Originalartikel vom Entwickler
April 28, 2018
https://dev.exherbo.org/~alip/doc/nnue_en.pdf

Ed Schröder im CCC "NNUE Research Project"
March 10, 2021
http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76833&sid=d0f62fdfe36e128584109b5f55d6a9c4

Ideal, die Seite:
https://www.wikiwand.com/de/NNUE
- By Lothar Jung Date 2022-11-13 13:03 Edited 2022-11-13 13:07 Upvotes 1
Hier einige wichtige Veröffentlichungen zu NNUE:

https://arxiv.org/pdf/2209.01506.pdf

https://dev.exherbo.org/~alip/doc/nnue_en.pdf

https://mdpi-res.com/d_attachment/entropy/entropy-24-00550/article_deploy/entropy-24-00550.pdf?version=1649938140
- By Lothar Jung Date 2023-02-23 11:23 Edited 2023-02-23 11:27 Upvotes 1
Hier ein Blog der Uni Trier zu der folgenden Bachelor Arbeit:

https://www.hochschule-trier.de/hauptcampus/technik/labore-technika-kompetenzzentren/labor-fuer-maschinelles-lernen-und-computergestuetzte-lehre/projekte/optimierung-der-stellungsbewertung-einer-schachengine-durch-efficiently-updatable-neural-networks-unter-verwendung-der-c-bibliothek-mlpack

Hier der Github Link zu der Engine:

https://github.com/RabbleRousy/heureka
- By Lothar Jung Date 2023-02-26 11:02 Edited 2023-02-26 11:06
Hier die UCI Engine Seer NNUE mit Sourcecode und TrainingCode:

https://github.com/connormcmonigle/seer-nnue

Seer is an original, strong UCI chess engine. Seer relies on a neural network estimating WDL probabilities for position evaluation. Seer's network is trained through a novel retrograde learning approach starting only from 6-man syzygy EGTB WDL values. These initial WDL scores are then iteratively backed up to 32-man chess positions using Seer's search to find continuations from N-man chess positions to N-1-man chess positions (implementation). Seer uses a conventional alpha-beta search combined with "Lazy SMP" (shared transposition table) for multithreading support.

UCI Options

OwnBook (specifies whether or not to use a separate opening book)
BookPath (path to a file containing book positions in a supported format)
Threads (for every thread doubling, a gain of about 70-80 elo can be expected)
Hash (the amount of the memory allocated for the transposition table (actual memory usage will be greater))
Weights (the absolute path to a binary weights file. If the default "EMBEDDED" path is chosen, the embedded weights will be used.)
Features

From scratch neural network training and execution (using OpenMP SIMD directives and SIMD intrinsics) implementation (training scripts use PyTorch for GPU acceleration and can be found here).
Plain magic bitboard move generation with constexpr compile time generated attack tables.
Principal variation search inside an iterative deepening framework
Lockless shared transposition table (using Zobrist hashing)
Move Ordering (SEE for captures + Killer Move, Combined Butterfly History, Counter Move History and Follow Up History for quiets)
History pruning as well as SEE pruning in QSearch
History extensions
Null move pruning
Static null move pruning (reverse futility pruning)
Futility pruning
Late move reductions
Aspiration windows
- By Lothar Jung Date 2023-06-25 14:30
NNUE steht für Neural Network Unified Evaluation, was auf Deutsch "Neuronales Netzwerk Vereinheitlichte Bewertung" bedeutet. Es handelt sich um eine fortschrittliche Technologie, die in der Schachprogrammierung verwendet wird.

Traditionell wurden in Schachprogrammen Bewertungsfunktionen verwendet, um die Positionen auf dem Schachbrett zu bewerten. Diese Funktionen basierten auf heuristischen Regeln und menschlichem Fachwissen. NNUE hingegen nutzt neuronale Netzwerke, um automatisch aus großen Mengen von Schachpartien zu lernen und eine Bewertung der Stellungen zu generieren.

Das NNUE-Konzept wurde von Makoto Fukuda entwickelt und im Schachprogramm Stockfish implementiert. Es basiert auf einem bestimmten Typ neuronaler Netzwerke, den sogenannten "Feedforward Neural Networks" (FNNs), die für die Bewertung von Schachstellungen trainiert werden.

Im Gegensatz zu traditionellen Bewertungsfunktionen, die viele handgeschriebene Regeln enthalten, kann NNUE die Mustererkennungsfähigkeiten neuronaler Netzwerke nutzen, um komplexe Positionen zu bewerten. Das neuronale Netzwerk wird mit Hilfe von überwachten Lernalgorithmen trainiert, bei denen menschlich bewertete Schachpartien als Trainingsdaten verwendet werden. Das Netzwerk lernt, die Merkmale von Schachstellungen zu erkennen und die Bewertung basierend auf diesen Merkmalen vorherzusagen.

NNUE hat in der Schachprogrammierung für Aufsehen gesorgt, da es in der Regel bessere Ergebnisse liefert als herkömmliche Bewertungsfunktionen. Die Fähigkeit, aus großen Datenmengen zu lernen und komplexe Muster zu erkennen, ermöglicht eine genauere Bewertung von Schachstellungen und somit bessere Spielstärke.

Es ist wichtig zu beachten, dass NNUE ein spezifischer Ansatz in der Schachprogrammierung ist und in anderen Bereichen der Künstlichen Intelligenz möglicherweise unterschiedliche Anwendungen und Bedeutungen hat.
- By Lothar Jung Date 2023-08-24 12:51
Veröffentlichung über „Unveiling Concepts Learned by a World-Class Chess-Playing Agent“:

https://www.ijcai.org/proceedings/2023/0541.pdf
Up Topic Hauptforen / Schachprogrammierung / NNUE

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill