NNUE
高效可更新神经网络(NNUE,源于日本“Nue”的谐音,有时被写作ƎUИИ)是一种基于神经网络的评估函数,其输入是棋子-方格表(Piece-Square Table),或其变体如王棋子-方格表。 [1] NNUE 主要用于Alpha-Beta树的叶节点。 [2]NNUE 评估函数虽然比手工评估函数慢,但能比手工评估看得更深。 [3]
NNUE 由日本的那須悠发明,并于 2018 年引入将棋引擎。 [4] [5] 2020 年 8 月 6 日,NNUE 首次移植到国际象棋引擎Stockfish 12。 [6] [7]自 2021 年以来,所有顶级传统国际象棋引擎(例如Komodo Dragon)为保证竞争力都使用了NNUE。
NNUE 在中央处理器(CPU)即可进行高速计算,无需图形处理器(GPU)。
2018年用于将棋的最早的神经网络由四个权重层组成:W1(16 位整数)和 W2、W3 和 W4(8 位)。 W1 编码了王的位置,因此只有在王移动后才需要重新评估这一层。它使用增量计算和单指令多数据流(SIMD)技术以及适当的内置函数。 [8]
参考资料
编辑- ^ Gary Linscott. NNUE. April 30, 2021 [December 12, 2020]. (原始内容存档于2023-04-22).
- ^ Stockfish 12. Stockfish Blog. [19 October 2020]. (原始内容存档于2020-11-26).
- ^ Stockfish - Chessprogramming wiki. www.chessprogramming.org. [2020-08-18]. (原始内容存档于2023-05-22).
- ^ Yu Nasu. Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (PDF). April 28, 2018 [2023-04-22]. (原始内容存档 (PDF)于2023-03-15) (Japanese).
- ^ Yu Nasu. Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation) (PDF). April 28, 2018 [2023-04-22]. (原始内容存档 (PDF)于2023-04-07) (English).
- ^ Introducing NNUE Evaluation. 6 August 2020 [2023-04-22]. (原始内容存档于2020-10-05).
- ^ Joost VandeVondele. official-stockfish / Stockfish, NNUE merge. July 25, 2020 [2023-04-22]. (原始内容存档于2020-09-20).
- ^ Yu Nasu. Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (PDF). April 28, 2018 [2023-04-22]. (原始内容存档 (PDF)于2023-03-15) (Japanese). Yu Nasu (April 28, 2018). "Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi" (页面存档备份,存于互联网档案馆) (PDF) (in Japanese).