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:75b1:abf8:483e:99e6 (talk) at 06:46, 27 August 2022 (Removed the section with the x86 intrinsics as this is too geeky here. Instead added a few words about the main idea behind NNUE: as the king moves just rarely, it is encoded in the very first layer.). 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] Since 2021, 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).

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), whereby W1 encodes the king's position and therefore this layer needs only to be revaluated once the king moves. Incremental computation and single instruction multiple data (SIMD) techniques are used with appropriate intrinsic instructions.[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".