AlphaZero es un programa informático desarrollado por la empresa de investigación de inteligencia artificial DeepMind para dominar los juegos de ajedrez , shogi y go . Este algoritmo utiliza un enfoque similar al de AlphaGo Zero .
El 5 de diciembre de 2017, el equipo de DeepMind publicó un artículo de preimpresión que presentaba AlphaZero, [1] que pronto jugaría tres partidas derrotando a los motores de ajedrez campeones del mundo Stockfish , Elmo y la versión de tres días de AlphaGo Zero. En cada caso, hizo uso de unidades de procesamiento tensorial (TPU) personalizadas que los programas de Google estaban optimizados para usar. [2] AlphaZero se entrenó únicamente a través del juego propio utilizando 5000 TPU de primera generación para generar las partidas y 64 TPU de segunda generación para entrenar las redes neuronales , todo en paralelo , sin acceso a libros de apertura o tablas de finales . Después de cuatro horas de entrenamiento, DeepMind estimó que AlphaZero estaba jugando al ajedrez con una calificación Elo más alta que Stockfish 8; después de nueve horas de entrenamiento, el algoritmo derrotó a Stockfish 8 en un torneo de 100 partidas controlado por tiempo (28 victorias, 0 derrotas y 72 empates). [2] [3] [4] El algoritmo entrenado se reprodujo en una sola máquina con cuatro TPU.
El artículo de DeepMind sobre AlphaZero se publicó en la revista Science el 7 de diciembre de 2018. [5] Si bien el programa AlphaZero real no se ha publicado, [6] el algoritmo descrito en el artículo se ha implementado en un software disponible públicamente. En 2019, DeepMind publicó un nuevo artículo que detalla MuZero , un nuevo algoritmo capaz de generalizar el trabajo de AlphaZero, jugando tanto a juegos de Atari como de mesa sin conocimiento de las reglas o representaciones del juego. [7]
AlphaZero (AZ) es una variante más generalizada del algoritmo AlphaGo Zero (AGZ) y es capaz de jugar shogi y ajedrez además de Go . Las diferencias entre AZ y AGZ incluyen: [2]
En comparación con las búsquedas en árboles de Monte Carlo , AlphaZero busca solo 80.000 posiciones por segundo en ajedrez y 40.000 en shogi, en comparación con los 70 millones de Stockfish y los 35 millones de Elmo. AlphaZero compensa el menor número de evaluaciones utilizando su red neuronal profunda para centrarse de forma mucho más selectiva en la variante más prometedora. [2]
AlphaZero se creó y entrenó simplemente jugando contra sí mismo varias veces, utilizando 5000 TPU de primera generación para generar los juegos y 64 TPU de segunda generación para entrenar las redes neuronales . El entrenamiento tomó varios días, con un total de aproximadamente 41 TPU-años. En paralelo, el AlphaZero en entrenamiento se comparó periódicamente con su punto de referencia (Stockfish, Elmo o AlphaGo Zero) en breves juegos de un segundo por movimiento para determinar qué tan bien progresaba el entrenamiento. DeepMind juzgó que el rendimiento de AlphaZero superó el punto de referencia después de aproximadamente cuatro horas de entrenamiento para Stockfish, dos horas para Elmo y ocho horas para AlphaGo Zero. [2]
En la partida de ajedrez de AlphaZero contra Stockfish 8 ( campeón mundial de TCEC 2016 ), a cada programa se le dio un minuto por movimiento. AlphaZero estaba enarbolando la bandera inglesa, mientras que Stockfish la noruega. [8] A Stockfish se le asignaron 64 subprocesos y un tamaño de hash de 1 GB, [2] una configuración que Tord Romstad de Stockfish criticó más tarde como subóptima. [9] [nota 1] AlphaZero fue entrenado en ajedrez durante un total de nueve horas antes de la partida. Durante la partida, AlphaZero se ejecutó en una sola máquina con cuatro TPU específicas de la aplicación . En 100 partidas desde la posición inicial normal, AlphaZero ganó 25 partidas con blancas, ganó 3 con negras y empató las 72 restantes. [10] En una serie de doce partidas de 100 partidas (sin especificar el tiempo o las limitaciones de recursos) contra Stockfish a partir de las 12 aperturas humanas más populares, AlphaZero ganó 290, empató 886 y perdió 24. [2]
AlphaZero fue entrenado en shogi durante un total de dos horas antes del torneo. En 100 partidas de shogi contra Elmo (World Computer Shogi Championship 27 summer 2017 tournament version with YaneuraOu 4.73 search), AlphaZero ganó 90 veces, perdió 8 veces y empató dos veces. [10] Al igual que en las partidas de ajedrez, cada programa tuvo un minuto por movimiento y a Elmo se le dieron 64 hilos y un tamaño de hash de 1 GB. [2]
Después de 34 horas de autoaprendizaje de Go y contra AlphaGo Zero, AlphaZero ganó 60 juegos y perdió 40. [2] [10]
DeepMind afirmó en su preimpresión: "El juego de ajedrez representó el pináculo de la investigación de IA durante varias décadas. Los programas de última generación se basan en motores potentes que buscan muchos millones de posiciones, aprovechando la experiencia artesanal del dominio y las adaptaciones sofisticadas del dominio. AlphaZero es un algoritmo de aprendizaje de refuerzo genérico , originalmente ideado para el juego de Go, que logró resultados superiores en unas pocas horas, buscando mil veces menos posiciones, sin ningún conocimiento del dominio excepto las reglas". [2] Demis Hassabis de DeepMind , un jugador de ajedrez, calificó el estilo de juego de AlphaZero de "alienígena": a veces gana ofreciendo sacrificios contraintuitivos, como ofrecer una reina y un alfil para explotar una ventaja posicional. "Es como ajedrez de otra dimensión". [11]
Dada la dificultad que supone en ajedrez forzar una victoria contra un oponente fuerte , el resultado +28 –0 =72 es un margen de victoria significativo. Sin embargo, algunos grandes maestros, como Hikaru Nakamura y el desarrollador de Komodo Larry Kaufman , restaron importancia a la victoria de AlphaZero, argumentando que la partida habría sido más ajustada si los programas hubieran tenido acceso a una base de datos de aperturas (ya que Stockfish estaba optimizado para ese escenario). [12] Romstad señaló además que Stockfish no está optimizado para movimientos de tiempo fijo rígido y que la versión utilizada tenía un año de antigüedad. [9] [13]
De manera similar, algunos observadores de shogi argumentaron que el tamaño del hash de Elmo era demasiado bajo, que las configuraciones de resignación y las configuraciones de "EnteringKingRule" (cf. shogi § Entering King ) pueden haber sido inapropiadas y que Elmo ya está obsoleto en comparación con los programas más nuevos. [14] [15]
Los periódicos titulaban que el entrenamiento de ajedrez sólo duró cuatro horas: "Se logró en poco más del tiempo que transcurre entre el desayuno y el almuerzo". [3] [16] Wired describió a AlphaZero como "el primer campeón de juegos de mesa con inteligencia artificial con múltiples habilidades". [17] La experta en inteligencia artificial Joanna Bryson señaló que la "habilidad de Google para la buena publicidad" lo estaba colocando en una posición sólida frente a sus rivales. "No se trata sólo de contratar a los mejores programadores. También es muy político, ya que ayuda a que Google sea lo más fuerte posible al negociar con los gobiernos y los reguladores que analizan el sector de la inteligencia artificial". [10]
Los grandes maestros del ajedrez humanos expresaron en general su entusiasmo por AlphaZero. El gran maestro danés Peter Heine Nielsen comparó el juego de AlphaZero con el de una especie alienígena superior. [10] El gran maestro noruego Jon Ludvig Hammer describió el juego de AlphaZero como un "ajedrez de ataque demencial" con una profunda comprensión posicional. [3] El ex campeón Garry Kasparov dijo: "Es un logro notable, incluso si deberíamos haberlo esperado después de AlphaGo". [12] [18]
El gran maestro Hikaru Nakamura no se mostró tan impresionado y afirmó: "No le doy mucha credibilidad a los resultados simplemente porque entiendo que AlphaZero básicamente está usando la supercomputadora de Google y Stockfish no se ejecuta en ese hardware; Stockfish básicamente se ejecutaba en lo que sería mi computadora portátil. Si quieres tener una partida comparable, tienes que tener Stockfish ejecutándose también en una supercomputadora". [9]
El mejor jugador de ajedrez por correspondencia de EE. UU., Wolff Morrow, tampoco se impresionó y afirmó que AlphaZero probablemente no llegaría a las semifinales de una competencia justa como TCEC, donde todos los motores juegan con el mismo hardware. Morrow afirmó además que, si bien podría no ser capaz de vencer a AlphaZero si AlphaZero jugara aperturas que favorecieran las tablas, como la Defensa Petroff , AlphaZero tampoco podría vencerlo en una partida de ajedrez por correspondencia . [19]
Motohiro Isozaki, el autor de YaneuraOu, señaló que, si bien AlphaZero superó claramente a Elmo, la calificación de AlphaZero en shogi dejó de crecer en un punto que es, como máximo, 100 o 200 puntos más alta que la de Elmo. Esta brecha no es tan grande, y Elmo y otros programas de shogi deberían poder alcanzarla en uno o dos años. [20]
DeepMind abordó muchas de las críticas en su versión final del artículo, publicado en diciembre de 2018 en Science . [5] Además, aclararon que AlphaZero no se estaba ejecutando en una supercomputadora; se entrenó utilizando 5000 unidades de procesamiento tensorial (TPU), pero solo se ejecutó en cuatro TPU y una CPU de 44 núcleos en sus coincidencias. [21]
En los resultados finales, Stockfish 9 dev corrió bajo las mismas condiciones que en la superfinal de TCEC : 44 núcleos de CPU, bases de datos de finales de Syzygy y un tamaño de hash de 32 GB. En lugar de un control de tiempo fijo de un movimiento por minuto, a ambos motores se les dieron 3 horas más 15 segundos por movimiento para terminar el juego. AlphaZero corrió en una máquina con cuatro TPU además de 44 núcleos de CPU. En una partida de 1000 juegos, AlphaZero ganó con una puntuación de 155 victorias, 6 derrotas y 839 empates. DeepMind también jugó una serie de juegos usando las posiciones de apertura de TCEC; AlphaZero también ganó de manera convincente. Stockfish necesitaba probabilidades de tiempo de 10 a 1 para igualar a AlphaZero. [22]
Al igual que Stockfish, Elmo funcionó en las mismas condiciones que en el campeonato CSA 2017. La versión de Elmo utilizada fue WCSC27 en combinación con YaneuraOu 2017 Early KPPT 4.79 64AVX2 TOURNAMENT. Elmo funcionó en el mismo hardware que Stockfish: 44 núcleos de CPU y un tamaño de hash de 32 GB. AlphaZero ganó el 98,2 % de las partidas cuando jugaba sente (es decir, cuando tenía el primer movimiento) y el 91,2 % en general.
Los grandes maestros humanos en general quedaron impresionados con las partidas de AlphaZero contra Stockfish. [22] El ex campeón mundial Garry Kasparov dijo que era un placer ver jugar a AlphaZero, especialmente porque su estilo era abierto y dinámico como el suyo. [23] [24]
En la comunidad de ajedrez por computadora, el desarrollador de Komodo, Mark Lefler, lo calificó como un "logro bastante asombroso", pero también señaló que los datos eran antiguos, ya que Stockfish había ganado mucha fuerza desde enero de 2018 (cuando se lanzó Stockfish 8). Su compañero desarrollador Larry Kaufman dijo que AlphaZero probablemente perdería una partida contra la última versión de Stockfish, Stockfish 10, en las condiciones del Top Chess Engine Championship (TCEC). Kaufman argumentó que la única ventaja de los motores basados en redes neuronales era que usaban una GPU, por lo que si no se tenía en cuenta el consumo de energía (por ejemplo, en una competencia de hardware igual donde ambos motores tenían acceso a la misma CPU y GPU), entonces cualquier cosa que la GPU lograra era "gratis". Basándose en esto, afirmó que el motor más fuerte probablemente sería un híbrido con redes neuronales y búsqueda alfa-beta estándar . [25]
AlphaZero inspiró a la comunidad de ajedrez informático a desarrollar Leela Chess Zero , utilizando las mismas técnicas que AlphaZero. Leela compitió en varios campeonatos contra Stockfish, donde mostró una fuerza similar a la de Stockfish, aunque Stockfish se ha distanciado desde entonces. [26]
En 2019, DeepMind publicó MuZero , un sistema unificado que permitía jugar ajedrez, shogi y go de manera excelente, así como juegos en el entorno de aprendizaje de Atari , sin estar preprogramado con sus reglas. [27] [28]
Los resultados de las partidas por sí mismos no son particularmente significativos debido a la elección bastante extraña de los controles de tiempo y la configuración de los parámetros de Stockfish: las partidas se jugaron en un tiempo fijo de 1 minuto por jugada, lo que significa que Stockfish no tiene uso de su heurística de gestión del tiempo (se ha puesto mucho esfuerzo en hacer que Stockfish identifique los puntos críticos en la partida y decida cuándo dedicar algo de tiempo extra a una jugada; con un tiempo fijo por jugada, la fuerza se verá afectada significativamente). La versión de Stockfish utilizada tiene un año de antigüedad, estaba jugando con muchos más hilos de búsqueda de los que jamás ha recibido una cantidad significativa de pruebas y tenía tablas hash demasiado pequeñas para la cantidad de hilos. Creo que el porcentaje de empates habría sido mucho mayor en una partida con condiciones más normales. [9]