Las diferencias entre AlphaGo Fan, AlphaGo Lee, AlphaGo Master y AlphaGo Zero

Dibujo20171021 Performance of AlphaGo Zero nature24270_F6

El mejor jugador de Go del mundo es AlphaGo Zero, una inteligencia artificial de la compañía Google DeepMind, que ha aprendido a jugar sola. Se usa una técnica de aprendizaje con refuerzo, el tipo estándar de aprendizaje no supervisado. AlphaGo Zero ha vencido 89–11 a AlphaGo Master, que venció 3–0 a Ke Jie (el número uno mundial), y 100–0 a AlphaGo Lee, que venció 4–1 a Lee Sedol (el mejor jugador de las últimas décadas); AlphaGo Master es la versión mejorada de AlphaGo Lee, que a su vez es la versión mejorada de AlphaGo Fan, que venció a Fan Hui (que era el campeón europeo de Go). ¿Qué diferencia a AlphaGo Zero de sus versiones anteriores? Resumiendo mucho, un orden de magnitud en potencia de cálculo.

AlphaGo Zero ha demostrado que el aprendizaje supervisado de las versiones anteriores de AlphaGo, cómo juegan los humanos, era irrelevante. Toda una sorpresa para muchos expertos. Incluso en DeepMind se pensaba que dicho entrenamiento fue clave en la victoria de AlphaGo Fan contra Fan Hui, por ello este jugador fue contratado para mejorar el juego del futuro AlphaGo Lee. Hoy sabemos que bastaba más aprendizaje supervisado y una red de neuronas más grande para prescindir de las partidas contra humanos.

AlphaGo Lee ejecutó 4,9 millones de partidas contra sí misma, durante 3 días, usaba dos redes de neuronas cada una con 12 capas de convolución que se ejecutaba de forma distribuida en 48 TPUs (chips especializados en simular redes de neuronas artificiales más eficientes que las GPUs que se usaron en AlphaGo Fan). Alpha Go Zero ha ejecutado 30 millones de partidas contra sí misma, durante 42 días, usando una sola red de neuronas con 44 capas de convolución (39+2+3) y se implementó en una máquina virtual de Google Cloud con 4 TPUs. Su victoria contra AlphaGo Master ha sido aplastante: 100–0.

Te recuerdo que la victoria de Lee Sedol (el último humano en vencer a una inteligencia artificial en el Go), gracias a la jugada bautizada la mano de dios, fue debida a un error en el método de Montecarlo (MTCS) que analiza de forma sistemática el árbol de búsqueda mediante un algoritmo alfa-beta; dicho algoritmo no era el mejor del mundo. En AlphaGo Master se implementó el mejor del mundo; en AlphaGo Zero se ha usado uno similar al que tenía AlphaGo Lee. Por cierto, algunos medios minimizan su importancia y lo llaman “el conocimiento de las reglas básicas del juego del Go”.

¿Estamos hoy más cerca de una inteligencia artificial intuitiva y/o consciente? No, faltaría más. Problemas triviales para un humano (más difíciles de formalizar que jugar al Go) son imposibles para las máquinas (todavía). Aún así, se trata de un hito histórico de Google DeepMind y se ha publicado en un nuevo artículo en Nature (en mi opinión de forma inmerecida, porque no ha habido ningún avance técnico relevante; con seguridad el editor busca el revuelo mediático que provocan estas noticias). El artículo es David Silver, Julian Schrittwieser, …, Demis Hassabis, “Mastering the game of Go without human knowledge,” Nature 550; 354–359 (19 Oct 2017), doi: 10.1038/nature24270; más información en Satinder Singh, Andy Okun, Andrew Jackson, “Artificial intelligence: Learning to play Go from scratch,” Nature 550: 336–337 (19 Oct 2017), doi: 10.1038/550336a.

Dibujo20171021 Empirical evaluation of AlphaGo Zero nature24270_F3

Google DeepMind ha vuelto a demostrar que el aprendizaje no supervisado en un entorno controlado por reglas muy sencillas (como el juego del Go) puede superar las habilidades humanas en dicho entorno; ya lo hizo en 2014 con juegos de ordenador para Atari. Sin embargo, la mayoría de los entornos en los que viven los humanos carecen de reglas que los describan y cuando las hay son de extrema complejidad. En dichos casos es imposible concebir que una inteligencia artificial con aprendizaje no supervisado pueda aproximarse a las habilidades de los humanos (inconcebible al menos durante las próximas décadas). El aprendizaje supervisado (el conocimiento de los expertos sobre un problema) es imprescindible en la mayoría de las aplicaciones de la inteligencia artificial y lo seguirá siendo durante muchas décadas. Hoy en día, en tareas tan sencillas en apariencia como diferenciar si una foto es de una animal o de una planta, las inteligencias artificiales actuales siguen siendo rematadamente torpes.

AlphaGo ha sido el primer programa de ordenador capaz de vencer a un humano en el juego del Go; muchos expertos auguraban que este hito se lograría sobre 2020, pero Google DeepMind se adelantó un lustro. AlphaGo Fan venció a Fan Hui en octubre de 2015. Su versión mejorada AlphaGo Lee venció a Lee Sedol en marzo de 2016. AlphaGo Master venció de forma oficiosa a Ke Jie en enero de 2017 (Ke no sabía que no jugaba contra un humano) y de forma oficial en mayo de 2017. Ningún humano puede vencer a AlphaGo Master, así que en Google DeepMind han decidido crear una nueva inteligencia artificial que lo logre, AlphaGo Zero.

Dibujo20171021 alphago zero self-training nature24270-f1

La gran diferencia entre AlphaGo Zero y sus predecesores es que se ha usado solo aprendizaje con refuerzo; en este aprendizaje no supervisado la máquina aprende jugando contra sí misma. Para ello es necesario que su motor de inferencia sea una única red de neuronas artificiales; las versiones anteriores tenían dos redes de neuronas que se entrenaban de forma independiente, llamadas estrategia (policy) y valoración (value). La red única que combina estrategia de juego y valoración de la posición se ha entrenado cambiando sus pesos sinápticos mientras juega con una versión previa de la misma red que los tiene fijados; luego se invierten los papeles y así de forma sucesiva. En concreto se ha usado una red de convolución con 44 capas que tras 39 capas similares, incluye dos capas para la estrategia y tres capas para la valoración.

Dibujo20171021 alphago zero mtcs nature24270-f2

El nuevo algoritmo de aprendizaje con refuerzo de AlphaGo Zero se diferencia del que usaban las versiones anteriores de AlphaGo en ciertos detalles técnicos que permiten acelerar el aprendizaje durante el propio juego. Resumiendo mucho se incorpora información de las búsquedas sistemáticas con el método de Montecarlo dentro del algoritmo de entrenamiento (proceso llamado lookahead search training). En mi opinión, una versión sin estas mejoras podría lograr un resultado similar al de AlphaGo Zero, aunque quizás tras mucho más tiempo de aprendizaje. Por supuesto, puedo estar equivocado.

Dibujo20171021 go rules learned by alphago zero nature24270-f5

Uno de los autores del artículo es Fan Hui, cuyo conocimiento del juego del Go se ha usado para interpretar el proceso de aprendizaje de AlphaGo Zero en términos humanos, es decir, observando cómo cambia su manera de jugar. Esta figura muestra cómo aprendió AlphaGo Zero en 72 horas a jugar los josekis, los movimientos en las esquinas del tablero, que suelen conducir a un resultado equilibrado entre ambos jugadores. Algunos medios han interpretado esta figura como que AlphaGo Zero ha aprendido a jugar en 72 horas siguiendo pasos similares a los que han dado los humanos durante los últimos milenios. Sin embargo, me parece un comentario muy exagerado. En mi opinión, la interpretación de Fan del aprendizaje de AlphaGo Zero está muy sesgada por su conocimiento sobre la historia de este juego (y por su trabajo para Google DeepMind).

Dibujo20171021 3-3 point knight move joseki learned by alphago zero nature24270-sf

En resumen, el aprendizaje no supervisado ha logrado su mayor éxito hasta ahora; no será el último. En cierto sentido era un éxito cantado, ya que AlphaGo Lee aprendió a vencer a los humanos jugando contra sí misma millones de partidas; el efecto de lo que aprendió al jugar contra humanos tuvo que ser ridículo en comparación. Sin embargo, debemos ser cautos y no extrapolar este resultado a tareas más complejas propias de los humanos; en la mayoría de las tareas el aprendizaje supervisado, en mi opinión, es irreemplazable. A pesar de los éxitos, todavía estamos muy lejos del futuro que auguran los singularistas.


14 Comentarios

Participa Suscríbete

MarioMario

Francis creo que hay un error, creo que Alpha Go Zero es la que se ejecuta en solo 4 TPUs en una sola maquína, lo cual es un gran avance con respecto a las 48 TPUs que necesitaban la versión Alpha Go Lee

Gran artículo, gracias por tu trabajo

Francisco M.Francisco M.

No, no lo cambies. Es un error lo objetado por Mario.
La computadora de Google usaba 4TPU que son chips diseñados especialmente por Google para Inteligencia Artificial -sus características son éstas https://www.top500.org/news/google-r...-processor/ , sus perfomances son secretas, pero podemos saber por comparación que esos 4 TPU (Tensor Processor Units) equivalen a una sola placa de las nuevas Nvidia V100 dedicadas a HPC (High Performance Computers).
O sea, no era una máquina demasiado avanzada y de menos de 100k de costo.
La nueva máquina tiene 48 TPU integrados y no sé si de la anterior generación o es un chip nuevo (que Google ya anunció este año la producción en masa). Esta máquina ya es de “ligas mayores” y costos mayores. Y superaría a la Nvidia: https://www.top500.org/news/google-r...le-for-tpu/
Los TPU son chips especializados que corren en paralelo, así que cuando más de ellos mejor y por supuesto uno de 4TPU siempre será más lento que uno de 48TPU, como dice el artículo Google ya unió un máximo de 64TPU en un sólo “pod”. Los 10 órdenes de rendimiento más que entrega el nuevo Alphago Zero vienen por supuesto de tener una bestialidad de máquina diez veces más potente que la anterior. El futuro debería ser comparar procesadores de I.A. haciéndolos jugar entre ellos, nvidia vs google, para ver cuál es más eficiente. Porque contra humanos ya es superfluo hacerlo
saludos!

sebafsebaf

Hola Francis, gracias por el artículo, esperaba leer algo más profundo sobre este tema y has escrito exactamente lo que quería leer!

Con respecto a la importancia que se le debe dar a este hito, no se que pensar. Tiendo a estar más de acuerdo contigo en que la IA tiene décadas por delante… pero habiendo tanta gente a la que también respeto mucho que está muy preocupada por este tema, me pregunto si nuestra incapacidad para pensar exponencialmente no nos deja ver el problema… Digo, los expertos le erraron por un lustro en el pronóstico de este hito, por cuánto le erarrán al siguiente?

AdrianAdrian

Hola Francis. Muy buen artículo. Aunque echo de menos que hagas referéncia a que en esta versión de Alpha Go ya no hacen uso de “handcraft features”, que bajo mi punto de vista es una carácterística muy interesante de esta evolución de Alpha Go. (Cito la página web de Google Deep Mind, “AlphaGo Zero only uses the black and white stones from the Go board as its input, whereas previous versions of AlphaGo included a small number of hand-engineered features.”)

He intentado buscar información acerca de que tipo de “handcraft features” usaban antes en Alpha Go y no he encontrado nada. ¿Sabrías tu algo sobre el tema?

Un saludo

Francisco R. Villatoro

Adrian, los métodos de Montecarlo para jugar al Go usan heurísticos para incorporar el conocimiento humano y hacer más eficiente el algoritmo minimax; estos heurísticos son patrones del tablero cuya respuesta óptima es conocida a priori y es lo que llaman “handcraft features” en Google DeepMind; en el artículo en Nature tratan el tema de pasada en la sección de métodos citando los artículos https://hal.inria.fr/inria-00116992 y https://hal.inria.fr/inria-00117266/ . Estos métodos se usaban en AlphaGo Lee y AlphaGo Master (su efecto más importante es influir en la red de estrategia). Pero como han incorporado el algoritmo de Montecarlo dentro del entrenamiento de AlphaGo Zero, sesgar dicho algoritmo con heurísticos sesgaría el entrenamiento, por eso no los han usado.

AdrianAdrian

Muchas gracias por tu respuesta Francis. Cuando pueda echo un ojo a los papers.

Aunque yo entiendo que antes usaban algo más que la posición de las fichas. Algo así como la evolución de TD-Gammon 0.0 a TD-Gammon 1.0 , pero parece ser que esta vez ha sido al reves. En los articulos no lo aclaran muy bien, lo que se limitan a decir es que ahora en AG Zero ya sólo usa la posición de las fichas como entrada.

También puede ser que le esté intentando buscar yo las tres patas al gato :P, que tampoco soy un experto en la materia.

Un saludo.

Francisco R. Villatoro

Adrian, yo no soy experto y creo que me sería muy difícil, rayando lo imposible, reproducir el paper en Nature; me leí el paper, pero sigo este asunto a cierta ditancia, ya que lo habitual en estos artículos es que gran parte del Know How sea materia reservada, para su posterior explotación comercial, por lo que muchos detalles relevantes son omitidos (como parte del Know How aceptado entre los expertos).

AdrianAdrian

Yo me atreveria a decir que imposible. Pero ojala algún día publiquen algo más detallado. Ya que aplicar estos avances pueden abrir un campo muy interesante en la IA. Esperemos que no se lo queden todos los que están pagando la fiesta de Deep Mind.

A ver si te animas a comentar más articulos de Deep Learning, que se echa de menos publicaciones en español de calidad en el tema.

Muchas gracias por tus respuestas Francisco y un saludo.

TorvicTorvic

Hola Francis:
Gracias por el artículo. ¿Sería posible comparar las potencias de cálculo del hardware de cada versión y con la de Deep Blue? ¿O no tenemos datos suficientes?

Francisco R. Villatoro

Torvic, en rigor no son fáciles de comparar las CPUs y las TPUs pues su manera de trabajar es diferente; en cualquier caso, Deep Blue tenía 11 Gflops = 0,011 Tflops, mientras que AlphaGo Zero tiene 4 TPUs de unos 180 Tflops cada una = 720 Tflops (o sea unas 70 000 veces más potencia de cálculo).

Luis GabrielLuis Gabriel

Hola Francis, muchas gracias por tu articulo! Solo quiero comentar que esta version AlphaGo Zero derroto a Alphago Master 89:11, la victoria 100:0 fue contra AlphaGo Lee. Un Saludo.

Responde a Mario

Tu email nunca será mostrado o compartido. No olvides rellenar los campos obligatorios.

Obligatorio
Obligatorio
Obligatorio

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Cancelar