Efficiently updatable neural network
An efficiently updatable neural network (NNUE, a Japanese wordplay on Nue, sometimes stylised as ƎUИИ) is a neural network-based evaluation function that runs efficiently on central processing units without a requirement for a graphics processing unit (GPU). NNUE was invented by and introduced to computer shogi in 2018.[1][2] On 6 August 2020, NNUE was for the first time ported to a chess engine, Stockfish 12.[3][4] As of 2021, all of the top rated classical chess engines have an NNUE implementation to remain competitive.
NNUE is used primarily for the leaf nodes of the Alpha–beta tree.[5] While being slower than traditional evaluation functions, NNUE does not suffer from the 'blindness beyond the current move' problem.[6]
Compared to neural network evaluation based on 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.[1]
See also[]
- elmo (shogi engine)
- Stockfish chess engine
References[]
- ^ Jump up to: a b Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (PDF) (in Japanese).
- ^ Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)" (PDF).
- ^ "Introducing NNUE Evaluation". 6 August 2020.
- ^ Joost VandeVondele (July 25, 2020). "official-stockfish / Stockfish, NNUE merge".
- ^ "Stockfish 12". Stockfish Blog. Retrieved 19 October 2020.
- ^ "Stockfish - Chessprogramming wiki". www.chessprogramming.org. Retrieved 2020-08-18.
External links[]
- NNUE on the Chess Programming Wiki.
- NNUE evaluation functions for computer shogi on github.com
- Evaluation methods
- Neural networks
- Japanese inventions
- Computer shogi
- Computer chess