Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Efficiently updatable neural network
Neural network based evaluation function

In computer strategy games, for example in shogi and chess, an efficiently updatable neural network (NNUE, a Japanese wordplay on Nue, sometimes stylised as ƎUИИ) is a neural network-based evaluation function whose inputs are piece-square tables, or variants thereof like the king-piece-square table. NNUE is used primarily for the leaf nodes of the alpha–beta tree.

NNUE was invented by Yu Nasu and introduced to computer shogi in 2018. On 6 August 2020, NNUE was for the first time ported to a chess engine, Stockfish 12. Since 2021, many of the top rated classical chess engines such as Komodo Dragon have an NNUE implementation to remain competitive.

NNUE runs efficiently on central processing units (CPU) without a requirement for a graphics processing unit (GPU). In contrast, deep neural network-based chess engines such as Leela Chess Zero require a GPU.

The neural network used for the original 2018 computer shogi implementation consists of four weight layers: W1 (16-bit integers) and W2, W3 and W4 (8-bit). It has 4 fully-connected layers, ReLU activation functions, and outputs a single number, being the score of the board.

W1 encoded the king's position and therefore this layer needed only to be re-evaluated once the king moved. It used incremental computation and single instruction multiple data (SIMD) techniques along with appropriate intrinsic instructions.

We don't have any images related to Efficiently updatable neural network yet.
We don't have any YouTube videos related to Efficiently updatable neural network yet.
We don't have any PDF documents related to Efficiently updatable neural network yet.
We don't have any Books related to Efficiently updatable neural network yet.
We don't have any archived web articles related to Efficiently updatable neural network yet.

See also

References

  1. Gary Linscott (April 30, 2021). "NNUE". GitHub. Retrieved December 12, 2020. https://github.com/glinscott/nnue-pytorch/blob/master/docs/nnue.md

  2. "Stockfish 12". Stockfish Blog. Retrieved 19 October 2020. https://blog.stockfishchess.org/post/628172810852925440/stockfish-12

  3. Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (PDF) (in Japanese). https://www.apply.computer-shogi.org/wcsc28/appeal/the_end_of_genesis_T.N.K.evolution_turbo_type_D/nnue.pdf

  4. Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)" (PDF). GitHub. https://github.com/asdfjkl/nnue/blob/main/nnue_en.pdf

  5. "Introducing NNUE Evaluation". 6 August 2020. https://blog.stockfishchess.org/post/625828091343896577/introducing-nnue-evaluation

  6. Joost VandeVondele (July 25, 2020). "official-stockfish / Stockfish, NNUE merge". GitHub. https://github.com/official-stockfish/Stockfish/issues/2823#issue-665540175

  7. "Stockfish FAQ: Can Stockfish use my GPU?". Stockfish. Retrieved 19 January 2025. https://official-stockfish.github.io/docs/stockfish-wiki/Stockfish-FAQ.html#can-stockfish-use-my-gpu

  8. "nnue-pytorch/docs/nnue.md". https://github.com/official-stockfish/nnue-pytorch/blob/master/docs/nnue.md

  9. Dominik Klein, Neural Networks for Chess, p. 49 https://arxiv.org/pdf/2209.01506

  10. Monroe, Daniel; Chalmers, Philip A. (2024-10-28), Mastering Chess with a Transformer Model, doi:10.48550/arXiv.2409.12272, retrieved 2024-11-29 https://arxiv.org/abs/2409.12272

  11. Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (PDF) (in Japanese). https://www.apply.computer-shogi.org/wcsc28/appeal/the_end_of_genesis_T.N.K.evolution_turbo_type_D/nnue.pdf