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 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
- elmo (shogi engine)
- Stockfish chess engine - The chapter about NNUE features a visualization of NNUE.
- List of chess software
References
- ↑ Gary Linscott (April 30, 2021). "NNUE". https://github.com/glinscott/nnue-pytorch/blob/master/docs/nnue.md.
- ↑ "Stockfish 12". https://blog.stockfishchess.org/post/628172810852925440/stockfish-12. Retrieved 19 October 2020.
- ↑ "Stockfish - Chessprogramming wiki". https://www.chessprogramming.org/Stockfish#Search.
- ↑ 4.0 4.1 Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (in Japanese). https://www.apply.computer-shogi.org/wcsc28/appeal/the_end_of_genesis_T.N.K.evolution_turbo_type_D/nnue.pdf.
- ↑ Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)" (in English). https://github.com/asdfjkl/nnue/blob/main/nnue_en.pdf.
- ↑ "Introducing NNUE Evaluation". 6 August 2020. https://blog.stockfishchess.org/post/625828091343896577/introducing-nnue-evaluation.
- ↑ Joost VandeVondele (July 25, 2020). "official-stockfish / Stockfish, NNUE merge". https://github.com/official-stockfish/Stockfish/issues/2823#issue-665540175.
External links
- NNUE on the Chess Programming Wiki.
- NNUE evaluation functions for computer shogi on github.com
Original source: https://en.wikipedia.org/wiki/Efficiently updatable neural network.
Read more |