AlphaZero domina el ajedrez tras cuatro horas de autoaprendizaje

Por Francisco R. Villatoro, el 9 diciembre, 2017. Categoría(s): Ciencia • Informática • Noticias • Science ✎ 28

Dibujo20171209 alphago zero versus stockfish 8 in 100-game match chess com

Supongo que ya lo esperabas, luego no será ninguna sorpresa. Stockfish 8 ha sido incapaz de vencer a AlphaGo Zero en 100 partidas. Google DeepMind ha vuelto a demostrar que en un entorno cerrado con pocas reglas bien definidas el aprendizaje profundo no tiene competencia. AlphaZero (el nuevo nombre de AlphaGo Zero) venció por 64 a 36 tras ganar 25 partidas jugando con blancas, 3 con negras y lograr tablas en las restantes 72 partidas. Te recuerdo que Stockfish 8 ganó en 2016 el TCEC (Top Chess Engine Championship) siendo uno de los motores de ajedrez más potentes del mundo.

Por supuesto me dirás que la victoria fue injusta. La versión de StockFish 8 que jugó contra AlphaZero no usaba la tabla de finales de 6 piezas de Syzygy, luego en los finales su actuación era deficiente. Además, el límite de un minuto por jugada impedía que StockFish 8 demostrara todo su potencial. Más aún, el ordenador de 64 núcleos en el que se ejecutó StockFish 8 no es el óptimo y una versión de 64 bits con un solo núcleo hubiera jugado mejor. A pesar de todo ello, que AlphaZero jugando contra sí mismo haya necesitado solo 4 horas para descubrir el conocimiento humano sobre el ajedrez adquirido tras 1400 años y haya alcanzado un nivel similar a StockFish 8 es espeluznante. ¿Qué sería capaz de aprender jugando contra sí mismo durante 7 días? ¿Contratará Magnus Carlsen clases privadas con AlphaZero?

El futuro que nos depara el aprendizaje no supervisado con refuerzo pone los pelos de punta. Por fortuna, solo en entornos cerrados con pocas reglas. Por ahora… El artículo es David Silver, Thomas Hubert, …, Demis Hassabis, «Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm,» arXiv:1712.01815 [cs.AI]; por cierto, si eres aficionado al ajedrez te recomiendo consultar las diez partidas de ejemplo que incluye el artículo (PGN). Más información en Eduardo Cáceres de la Calle, «AlphaZero derrota a StockFish 8 tras tan sólo 4 horas de auto-aprendizaje», Ajedrez Cuéllar, 06 Dic 2017; Mike Klein, «Google’s AlphaZero Destroys Stockfish In 100-Game Match,» Chess.com, 06 Dec 2017; Tommaso Dorigo, «Alpha Zero Teaches Itself Chess 4 Hours, Then Beats Dad,» AQDS, 07 Dec 2017.

[PS 11 Dec 2018] El artículo se ha publicado y ha sido portada de la revista Science: David Silver, Thomas Hubert, …, Demis Hassabis, «A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play,» Science 362: 1140-1144 (07 Dec 2018), doi: 10.1126/science.aar6404. También recomiendo Murray Campbell, «Mastering board games,» Science 362: 1118 (07 Dec 2018), doi: 10.1126/science.aav1175, y Garry Kasparov, «Chess, a Drosophila of reasoning,» Science 362: 1087 (07 Dec 2018), doi: 10.1126/science.aaw2221. [/PS]

Dibujo20171209 chess openings preferred by alphago zero arxiv 1712 01815

 

AlphaZero ha redescubierto muchas aperturas, por ello se ha usado para analizar las 12 más populares entre humanos. El resultado es sorprendente, como muestra esta figura. Por ejemplo, a las 2 horas de aprendizaje casi siempre usaba tres aperturas, la inglesa, la Caro–Kann y la defensa francesa; en unos diez minutos descartó la defensa francesa y casi no la volvió a usar más; tras seis horas decidió prescindir también de la Caro–Kann; y tras ocho horas sus preferidas fueron la apertura inglesa y el gambito de dama. Toda una lección de ajedrez.

Los grandes maestros tendrán que estudiar las partidas de AlphaZero y aprender de su sorprendente intuición ajedrecística. Como primeras conclusiones podemos destacar que ganar con blancas parece más fácil que con negras, y que la apertura inglesa y el gambito de dama son preferibles a las populares defensa india de rey y defensa siciliana. Además, parece que la fuerte dependencia de programas como Stockfish del estilo humano de juego es un lastre en lugar de una ventaja. Y finalmente, muchas reglas básicas del juego que todos los aficionados aprendemos (como enrocar el rey cuanto antes y evitar moverlo hasta superar el juego medio) no parecen ser las óptimas (AlphaZero mueve el rey en cuanto puede para usarlo como un pieza más).

El algoritmo de Montecarlo tipo alfa-beta de Stockfish analiza unos 70 millones de posiciones por segundo, mientras que el de AlphaZero solo analiza 80 mil posiciones. Para compensar este déficit usa su red de neuronas profunda (multicapa) para seleccionar las posiciones más prometedoras (lo que alguna gente ha bautizado como su «intuición tipo humana»).

En resumen, si eres aficionado al ajedrez te recomiendo consultar la opinión de los maestros y grandes maestros sobre el juego de AlphaZero. Si no eres aficionado al ajedrez recuerda que las mejores inteligencias artificiales del mundo, ahora mismo, son muy torpes, pero muy torpes; jugar al ajedrez o al Go te puede parecer difícil, pero para una máquina es muy fácil; sin embargo, lo que tú haces todos los días y a todas horas en tu vida diaria es imposible para una máquina, ahora y hasta dentro de muchas décadas. ¡No lo olvides!



28 Comentarios

  1. La «cosa» esta «descubrió» de algún modo un nuevo tema estratégico: en algunas partidas busca entorpecer el desarrollo de las piezas del oponente además de ganar espacio, sacrificando material con ese objetivo y luego mediante oportunas jugadas de dama genera amenazas que mantiene a largo plazo. Hay lo que se llama «sacrificios posicionales» que en una de las partidas dura más de 20 movimientos. Es decir: juega en desventaja de material la mayor parte de la partida pero resulta que evalúa correctamente que eso le va a dar ventaja al final(sin mate ni amenazas concretas de recuperar y ganar material a simple vista). La cosa esa es alucinante. Si a un estilo podemos remitir juega como Kramnik(cuando juega conservador) o Karpov posicionalmente hablando(estilo boa constrictor) pero le suma usar desequilibrios materiales(como hacia Kasparov) para conseguir ventajas posicionales que a largo plazo se vuelven materiales. Una apisonadora.

    1. La partida 5 es simplemente brutal. Es aluciante como en la jugada 20 ha arriconado las piezas negras en el flanco de dama, tiene dos peones de menos y lanza un ataque al enroque negro (21. Ag5 es imposible de ver para un humano) donde hay unas variantes diabólicas, sacrificando material a diestro y siniestro resultando al final con ganancia de calidad y ganando la partida. Esa partida se la enseñas a Tal y hubiera disfrutado como un enano.

  2. Otra cosa: en la partida que comento aún teniendo la base finales, es dudoso que Stockfish hubiera podido defenderse; la cosa esa sacrifica material hasta estar caballo y dos peones de desventaja solo para mantener el entorpecimiento de las piezas contrarias más el ataque al rey rival, y al final resulta ganando calidad(30 jugadas después del primer sacrificio). La base de finales no te sirve si llegas a un final perdido.

  3. Pues yo creo que conceptualmente la IA ya ha dado un salto de gigante, ya tiene algoritmos que le funcionan. Les falta explotarlos «masivamente». Hay que tener en cuenta que lo que hace un niño o un adulto en el día a día es un entrenamiento muy exhaustivo y múltiple, recibimos señales ópticas, sonoras, táctiles, gustativas,… Si a una IA con módulos múltiples la sometemos a este entrenamiento exhaustivo, pues… habría que esperar resultados.

  4. entorno cerrado con pocas reglas bien definidas, eso por cuanto tiempo, es posible que un sistema de aprendizaje profundo en un futuro cercano (una decada)logre superar y ganar en entornos abieros y sin reglas definidas? cuales son ejemplos de ellos? o se necesita avanzar en el entendimiento del funcionanmiento del cerebro humano?

  5. Me encataria que Alpha Zero jugara en el TCEC… contra los otros modulos de ajedrez como Komodo, Houdini y contra el mismo StockFish, pero todos ellos con todas las condiciones optimas en las cuales, ellos puedan dar lo maximo….

  6. «Como primeras conclusiones podemos destacar que ganar con blancas parece más fácil que con negras»

    Muy probablemente el ajedrez sea un juego donde blancas siempre ganen; si algún día llega a demostrarse tal cosa, aún cuando no es óbice para seguir disfrutando del mismo, pues nuestra capacidad no podría jamás sacar provecho de tal cosa, me preguntó cuál será la reacción psicológica.

  7. MMMmmmm, no sé, a mi me parece que el ajedrez es un juego en el que el resultado correcto debería ser empate. Por ejemplo, es cierto que en los juegos entre grandes maestros las blancas tienen más posibilidades de ganar, pero también es cierto que entre más aumenta el nivel mayor es el porcentaje de tablas. Talvez lo que sucede es que hay que jugar con mayor precisión para empatar con negras y es por eso que estas siempre se encuentran atrás en los porcentajes. De todas formas, tendremos que esperar hasta que se demuestre cúal es el resultado corre cto.
    Saludos.

  8. Me gustaria saber como se distribuyeron las victorias en el match contra Stockfish. La prediccion para mi es que cada vez le seria mas facil a Alpha Zero ganarle a Stockfish pues Alpha Aprenderia a ganarle conociendo mas y mas el comportamiento del rival. Pudiera ser que al cabo de la partida 1000 Alpha le empiece a ganar consistentemente a Stockfish pues este ultimo no aprende.

  9. Excelente artículo, Francisco. El avance de AlphaZero parece impresionante una vez que se profundiza en las partidas, la verdad.

    Como novedad interesante, he intentado reconstruir ( http://ajedrezescolar.es/2017/12/estrategia-profunda-ajedrez-alphazero-alejandro-magno ) una de las posibles «estrategias profundas» de AlphaZero – para un tipo concreto de posiciones -, desgranándola y explicándola paso a paso, a través de diagramas. La versión «ataque a Alejandro Magno» es una analogía mental para que sea accesible a quienes no conocen mucho de ajedrez.

    Por supuesto, esto es algo especulativo: no sabemos hasta qué punto había algo como «estrategia general» de AlphaZero, y si se basaba en tales directrices. Igualmente, es muy probable que hubiera algo como un » fondo estratégico/táctico profundo» o no podría sacrificar primero un peón y luego otro.

    Tres directrices generales parecen regir dicha estrategia [para dichas posiciones procedentes de fianchettos cruzados y sacrificio de peón en d5]:

    1) La idea general es originar un desequilibrio importante de atacantes sobre el enroque negro. En ese momento se originaría el ataque definitivo.

    2) Se imposibilitará a las piezas negras del otro lado (el flanco de dama) acudir a la ayuda del enroque, evitando que crucen a través del centro. Esta es la parte más adaptativa – táctica – de la estrategia, donde AlphaZero adelanta en todo momento este cruce de piezas por el centro y lo evita o, como veremos, lo permite bajo ciertas condiciones.

    3) Da la impresión de que los valores que otorga AlphaZero a las piezas distan mucho que suelen darse, y están muy profundamente basados en factores dinámicos. Lo que hace en varias partidas es conseguir que los «valores reales» de las piezas de Stockfish sean muy bajos; básicamente, las piezas apenas pueden jugar por donde deben – torres por columnas, alfiles por diagonales, etc -. Y, punto clave, no pueden coordinarse para realizar acciones útiles.

    En ellos se aprecia la hábil adaptación de la estrategia – si es que ésta existió. Espero que pueda ser útil.

    Un saludo

  10. Lo que me preocupa no es que Stockfish 8 pierda 1000 veces seguidas con Alpha Zero … la pregunta es ¿podemos controlar esta tecnología? ¿en que ámbitos diferentes se puede aplicar?

    1. Pablo, el objetivo de Google DeepMind es aplicar su tecnología en el diagnóstico médico; pretenden que en unos diez años todos los médicos tengan en su mesa su futuro software de apoyo al diagnóstico (llamado DeepMind Health). ¿Podemos controlarla? Obviamente, sí (salvo en las películas de ciencia ficción, claro).

  11. Francis, comentas sobre qué pasaría si se le dejase aprender 7 días, eso está explicado en una gráfica del artículo donde se vé que a las 4 horas sobrepasa el nivel de su rival pero ya no mejora casi nada. Tras 7 días sería un 2 o 3% mejor solamente. Y es que 4 horas con 100 TPUs es una auténtica burrada de horas de CPU estandard, en un ordenador normal serían muchos años de aprendizaje.

  12. La IA, es el nuevo Dios al que nos enfrentamos, el hombre quiere superarse acercarse a lo divino, El Ajedrez, por si solo ya es algo brutal, esta en constante evolución, las jugadas de hoy dentro de cien años serán vistas como ilustrativas… añoranza como cuando aprendemos nuestras primeras letras.. siempre serán la base del presente pero jamas serán el presente….

  13. El articulista no distingue entre las preferencias de alphazero jugando con blancas y con negras. Entiendo que con blancas prefiere el gambito de dama, y con negras la inglesa cuando las blancas hacen d4? No está claro. Y qué hace alphazero con negras ante e4? Por otro lado, eso de que haya aprendido en 4h es algo extraño; qué hace ahora la máquina? Sigue aprendiendo consigo misma o la han desenchufado para que no aprenda demasiado? Además , he visto una partida en la que Stockfish le entrega un caballo por dos peones, sin aparente necesidad, y al final pierde. Por qué hizo eso? Por último, el hecho de que no haya perdido ninguna, significa que ha encontrado una forma infalible para no perder? Es decir, si uno jugara de forma «perfecta» con negras, sería imposible ganarle? Muchas preguntas quedan en el aire.

    1. Gualdo, las partidas de AlphaZero no merecen una discusión profunda desde el punto de vista del ajedrez. Aprovechar la arquitectura de AlphaGo Zero para AlphaZero no ha sido una buena idea, pues limita muchísimo su capacidad de autoaprendizaje. Solo un futuro AlphaChess Zero podrá competir en el TCEC contra Stockfish en condiciones óptimas para este último. Un potencial AlphaChess Zero podría revolucionar el ajedrez como lo ha hecho AlphaGo Zero con el Go. La gran pregunta que olvidas es ¿se tomará Google Deepmind en serio el ajedrez?

      1. Mmmh, qué curioso -yo sólo había escuchado cantos de alabanza ante la proeza de alphazero y su capacidad de auto aprendizaje, y usted mismo admite que es extraordinario que haya ganado analizando casi 1000 veces menos posiciones por segundo… hablamos de 3 órdenes de magnitud! Ahora nos dice que su arquitectura limita mucho esa capacidad de aprendizaje, y por tanto usted no parece estar muy de acuerdo con aquellos elogios. Es cosecha suya o puede remitirme a algún artículo sobre dicha arquitectura y sus limitaciones? Yo trabajé en su día con redes neuronales y al menos conozco el concepto y modo de operación. Un saludo y gracias por su respuesta.

        1. Gualdo, el juego contra StockFish (está dicho en el segundo párrafo) ha sido injusto y todo el mundo del ajedrez es consciente de ello; pero hay quien ignora que AlphaZero es una versión torpe de lo que podría ser un AlphaChess Zero. Y esto último no debe ser olvidado.

          1. Maaasa-maasaaaa-maaaaaasssaaaaa jajaja cuánto nos reímos con aquel comentario suyo en el podcast sobre partículas, nos saltaban las lágrimas… Francis, yo sobre todo trabajo en el lejano infrarrojo, núcleos de galaxias activos y tal, soy experimental; a ver si hablamos un día. Un saludo muy cordial.

  14. Muy buenas,

    Me llamo Alberto y es la primera vez que comento, y en primer lugar, quisiera agradecer a Francisco la gran cantidad de posts interesantes que he disfrutado.

    En lo que respecta al ajedrez, a mí sí que me parece interesante el análisis de las partidas jugadas por A0. Como han comentado kurodo77 y Robob, parece ser que la forma de jugar de A0 no se ajusta tanto a la del ajedrez «moderno» y es capaz de descubrir líneas que ni los módulos ni los humanos «perderían» mucho tiempo en evaluar muy profundamente.

    Robob ha mencionado la partida 5… Y en la partida 3, el bloqueo total al que somete a todas las piezas negras creando toda una «inmortal», es brillante (por supuesto, lo mejor es escuchar los análisis de GMs).

    El hecho de que haya sido «ella» (sin condicionamiento humano) quien haya tenido que establecer sus propias «funciones de evaluación» (en sentido amplio), puede que nos enseñe otras formas de aproximar el juego (importancia del centro, enroque, pareja de alfiles…). Por supuesto que son conceptos válidos, pero ante un juego impreciso (y siempre lo es) de alguno de los jugadores, parece que A0 sabe sacar petróleo tomando rápidamente la iniciativa.

    Un saludo.

  15. ¿Alguien sabe dónde se pueden consultar «las otras» partidas del match?… sería interesante ver qué hizo en las partidas donde hizo tablas, y mejor aún las que perdió. Desde luego… lo mejor de todo sería ver a AlphaZero contra otros módulos de ajedrez, pero con igualdad de hardware.

Deja un comentario