Jump to content

Efficiently updatable neural network

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 2a02:2454:8d55:500:4c80:bcd9:99f5:e118 (talk) at 08:20, 31 March 2022 (Fritz is not a "top rated" engine as it is currently in TCEC league 3. It is a really good engine though.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.[1] NNUE is used primarily for the leaf nodes of the Alpha–beta tree.[2] While being slower than handcrafted evaluation functions, NNUE does not suffer from the 'blindness beyond the current move' problem.[3]

NNUE was invented by Yu Nasu and introduced to computer shogi in 2018.[4][5] On 6 August 2020, NNUE was for the first time ported to a chess engine, Stockfish 12.[6][7] As of 2022, all of the top rated classical chess engines, such as Komodo, have an NNUE implementation to remain competitive.

NNUE runs efficiently on central processing units without a requirement for a graphics processing unit (GPU). Compared to deep neural network based evaluations requiring a dedicated GPUs, NNUE avoids idle times during the substantial data transfer operations between GPU and CPU required before and after each evaluation.[citation needed]

The neural network used for shogi consists of four weight layers: W1 (16-bit integers) and W2, W3 and W4 (8-bit). Incremental computation and single instruction multiple data (SIMD) techniques are used with appropriate intrinsic instructions, specifically in the 2018 computer shogi implementation VPADDW, VPSUBW, VPMADDUBSW, VPACKSSDW, VPACKSSWB and VPMAXSB.[4]

See also

References

  1. ^ Gary Linscott (April 30, 2021). "NNUE". Retrieved December 12, 2020.
  2. ^ "Stockfish 12". Stockfish Blog. Retrieved 19 October 2020.
  3. ^ "Stockfish - Chessprogramming wiki". www.chessprogramming.org. Retrieved 2020-08-18.
  4. ^ a b Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (PDF) (in Japanese).
  5. ^ Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)" (PDF).
  6. ^ "Introducing NNUE Evaluation". 6 August 2020.
  7. ^ Joost VandeVondele (July 25, 2020). "official-stockfish / Stockfish, NNUE merge".