Efficiently updatable neural network

From HandWiki
Short description: Neural network based evaluation function

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 Dragon 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). 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.[4]

See also

References

External links