Una red neuronal actualizable de manera eficiente ( NNUE , un juego de palabras japonés sobre Nue , a veces estilizado como ƎUИИ ) es una función de evaluación basada en redes neuronales cuyas entradas son tablas de piezas-cuadrados , o variantes de las mismas como la tabla de piezas-cuadrados del rey. [1] NNUE se utiliza principalmente para los nodos de hoja del árbol alfa-beta . [2] Si bien es más lenta que las funciones de evaluación hechas a mano, NNUE no sufre el problema de "ceguera más allá del movimiento actual". [3]
NNUE fue inventado por Yu Nasu y presentado en el shogi por computadora en 2018. [4] [5] El 6 de agosto de 2020, NNUE fue portado por primera vez a un motor de ajedrez, Stockfish 12. [6] [7] Desde 2021, muchos de los motores de ajedrez clásicos mejor calificados, como Komodo Dragon, tienen una implementación de NNUE para seguir siendo competitivos.
NNUE se ejecuta de manera eficiente en unidades centrales de procesamiento (CPU) sin necesidad de una unidad de procesamiento gráfico (GPU). Por el contrario, los motores de ajedrez basados en redes neuronales profundas, como Leela Chess Zero, requieren una GPU.
La red neuronal utilizada para la implementación original del shogi por computadora de 2018 consta de cuatro capas de peso: W1 (enteros de 16 bits) y W2, W3 y W4 (8 bits). Tiene 4 capas completamente conectadas, funciones de activación ReLU y genera un solo número, que es la puntuación del tablero.
W1 codificaba la posición del rey y, por lo tanto, esta capa solo necesitaba ser reevaluada una vez que el rey se movía. Utilizaba técnicas de computación incremental y de instrucción única y múltiples datos (SIMD) junto con instrucciones intrínsecas apropiadas . [4]