Changes

Jump to: navigation, search

Stockfish NNUE

61 bytes added, 10:34, 28 August 2020
no edit summary
"We add the i-th COLUMN of the W{0} to the z{0} for each i, where the i-th element is set to 1. And we subtract the i-th COULMN of the W{0} from the z{0} for each i, where the i-th element is set to 0. This operation is "accumulate" in your question." may be right... I hope that someone will double check.
=NetworksNetwork=
All networks are built by some volunteers but not by any big community (differs from [[Leela Chess Zero]]) and can be uploaded into [[Stockfish#Fishtest|Fishtest]] for testing. Networks with good test results will be released officially on Fishtest website <ref>[https://tests.stockfishchess.org/nns Neural Net download and statistics]</ref>.
 
After long discussing the best way to publish networks with Stockfish<ref>https://github.com/official-stockfish/Stockfish/issues/3030 Improve dealing with the default net? by Vondele · Issue ##3030 · official-stockfish/Stockfish · GitHub], August 19, 2020</ref>, the developing team decided to embed the default network into Stockfish binaries, making sure NNUE always works as well as bringing more convenience to users.
=Hybrid=
In August 2020 a new patch changed Stockfish NNUE into a hybrid engine: it uses NNUE evaluation only on quite balanced material positions, otherwise uses the classical one. It could speed up to 10% and gain 20 Elo <ref>[https://github.com/official-stockfish/Stockfish/pull/2916 NNUE evaluation threshold by MJZ1977 · Pull Request #2916 · official-stockfish/Stockfish · GitHub], August 06, 2020</ref>. At that point, NNUE helped to increase already around 100 Elo for Stockfish. In the same month, Stockfish changed the default mode of using evaluation functions from classic to hybrid one, the last step to completely accept NNUE.
 
=Embedded networks=
After long discussing the best way to publish networks with Stockfish<ref>https://github.com/official-stockfish/Stockfish/issues/3030 Improve dealing with the default net? by Vondele · Issue ##3030 · official-stockfish/Stockfish · GitHub], August 19, 2020</ref>, the developing team decided to embed the default network into Stockfish binaries, making sure NNUE always works as well as bringing more convenience to users.
=Ideas around=
* Reuses and gets benefits from the very optimized [[Search|search]] function of Stockfish as well as almost all Stockfish's code
* Requires much smaller training sets. Some high score networks can be built with the effort of one or a few people within a few days. It doesn't require the massive computing from a supercomputer and/or from community
* Doesn’t require complicated systems such as a sophisticated [https://en.wikipedia.org/wiki/Client%E2%80%93server_model client/-server model] to train networks. Just a single binary from Nodchip’ repo is enough to train
* Relative simple for computer chess programmers
* The NNUE code is quite independent and can be separated easily from the rest and integrated to other engines<ref>[[NNUE#NNUE Engines|NNUE Engines]]</ref> for quick trials

Navigation menu