Revolución IA

La Inteligencia Artificial está llamada a protagonizar la próxima Revolución tecnológica

Inicio Sobre Revolucionia Temas Para saber más Contacto

AlphaGo Zero: nuevo rey del Go

Fernando P.    20/10/2017

Temas:  Actualidad    Aplicaciones    Divulgación

El juego de estrategia Go es reconocido como un gran reto para la inteligencia humana. Se trata de un juego de reglas bastante sencillas pero que son capaces de crear situaciones de extraordinaria complejidad en el tablero de juego.

De la misma forma que durante mucho tiempo se trabajó en programas de computador para jugar al Ajedrez que fueran capaces de batir a los mejores humanos, desde hace tiempo se trabaja en programas para jugar al Go que sean capaces de ganar a los mejores humanos.

La filial de Google DeepMind, especializada en técnicas de Inteligencia Artificial aplicadas a juegos, diseñó y entrenó una pareja de redes neuronales artificiales bautizadas como AlphaGo que, en tandem, batieron a principios de 2017 al mejor jugador del mundo.

El mismo equipo de investigadores anunciaron ayer en la revista Nature una evolución significativa de este desarrollo, bautizada como AlphaGo Zero, mucho más sencilla y que juega a un nivel aún más alto que su predecesora.

En este artículo vamos a intentar extraer las ideas fundamentales sobre el funcionamiento de AlphaGo Zero para poder entender cómo funciona esta bestia del Go. Los detalles del desarrollo son bastante complejos así que haremos alguna generalización no demasiado exacta pero que nos permitirá entender bien cómo opera a grandes rasgos y cuales son las claves de su éxito.

Táctica y estrategia
Los juegos como el Go y el Ajedrez tienen dos aspectos fundamentales que hay que dominar para jugar bien.

El primer aspecto a dominar es la táctica, es decir, los movimientos a corto plazo, que permiten defenderse o sacar provecho de situaciones muy bien definidas. Un sólo error táctico puede echar a perder una partida entera, como puede ser perder tontamente una reina en el Ajedrez. La táctica es lo primero que se aprende y algo en lo que no se puede fallar.
Juego Go
El otro aspecto fundamental es la estrategia. Sólo con buena táctica no se puede ganar a buenos jugadores. Es precisa una visión de conjunto de la partida que nos permita construir posiciones sólidas y atacar cuando es posible hacerlo. La capacidad de hacer buena estrategia es algo muy complicado que se aprende con el tiempo en base a los éxitos y fracasos que se cosechan.

Desde el punto de vista de un programa de computador, la táctica no es difícil porque involucra situaciones bien definidas y pocos movimientos. La estrategia es muy complicada. Se pueden programar cosas del estilo El control del centro del tablero es importante, pero no basta, es necesario beber de los conocimientos acumulados por los grandes jugadores.

Búsqueda de soluciones en juegos de estrategia
Generalmente, los juegos como el Ajedrez o el Go verifican las condiciones que permiten usar técnicas de búsqueda de soluciones para tratar de obtener la mejor jugada a partir de una situación determinada del tablero. Los primeros programas de Ajedrez jugaban de esta forma.

La búsqueda de soluciones resuelve bien la táctica del juego. Es capaz de calcular la respuesta óptima a situaciones muy concretas.

Pero la búsqueda de soluciones no funciona para la estrategia, porque a medida que el número de posibles movimientos aumenta el espacio de búsqueda de soluciones se hace tan grande que es intratable. Por otro lado, el oponente no tiene porqué comportarse como pensamos que va a hacerlo y eso invalida una y otra vez cualquier análisis muy profundo que hayamos hecho, dando lugar a buenas tácticas pero a una estrategia errática.

AlphaGo
El programa AlphaGo que derrotó a principios de año al mejor jugador humano consistía en dos redes reuronales artificiales (RNA en lo sucesivo) que habían sido entrenadas usando aprendizaje supervisado.

Una de estas RNA se entrenó para la táctica del Go y la otra para la estrategia. Para el entrenamiento de ambas se usaron cantidades inmensas de partidas reales de buenos jugadores humanos, de forma que las RNA pudieran extraer patrones de situación y aprender cual es la mejor respuesta en cada tipo de situación.

Una vez entrenadas, las RNA se comportaban como clasificadores que, para cada posición del juego, indicaban cual era el movimiento óptimo. La RNA de estrategia modulaba las respuestas de la RNA de táctica de forma que proporcionara respuestas que permitieran mantener una estrategia coherente.

Básicamente, AlphaGo era una especie de compendio de todo el conocimiento sobre Go que había visto desplegado en las partidas que se usaron para entrenarla. Sin ese conocimiento, su capacidad de juego era nula. Por otro lado, no era fácil que fuera capaz de jugar mucho mejor que los humanos de los que había adquirido sus conocimientos. La ventaja que tenía es que no cometía errores.

AlphaGo Zero
Y aparece AlphaGo Zero. Podría pensarse que es una mejora de AlphaGo, pero es un desarrollo completamente distinto. Las principales diferencias con su predecesora son las siguientes:

Naturalmente, la cuestión clave consiste en la capacidad de aprender por sí misma. Basicamente, estamos ante un ejemplo de aprendizaje no supervisado.
AplhaGo Zero
El aprendizaje no supervisado es complejo y necesita una implementación específica para caso. En AlphaGo Zero, la RNA está asistida por un sistema muy potente de búsqueda de soluciones (Monte Carlo Tree Search o MCTS) que la entrena para aprender la táctica y del que también es capaz de deducir reglas de estrategia a base de acumular información general de millones de partidas que juega contra ella misma.

¿ Cómo funciona AlphaGo Zero ?
AlphaGo Zero es una RNA con muchas capas que toma como entrada la situación del tablero y devuelve como salida probabilidades sobre posibles movimientos (más altas cuanto mejores) y un valor que indica la idoneidad de la posición actual desde el punto de vista estratégico.

La RNA juega contra sí misma. Es decir, dos instancias de la RNA juegan entre ellas. Inicialmente, la RNA tiene todos sus parámetros a valores aleatorios y no es capaz de jugar por sí sola porque no sabe nada de nada.

Pero la RNA está asistida por la unidad MCTS que usa técnicas estocásticas de búsqueda de soluciones para calcular cual sería la distribución de probabilidad entre los posibles movimientos usando táctica pura. Esta unidad parte desde la posición actual y profundiza varios movimientos.

Mientras juega contra sí misma, los movimientos de la red se determinan usando MCTS, que no hace una exploración sistemática, se apoya en lo que sabe la RNA (nada al principio y algo más a medida que aprende) para poder centrarse en las situaciones más verosímiles y reducir mucho el inmenso espacio de búsqueda.

Una vez que termina cada juego, se usa toda la información del mismo para entrenar la RNA de acuerdo a las probabilidades que calculó MCTS y de acuerdo al resultado final del juego, junto a lo que ya conocía la RNA de partidas anteriores.

La nueva RNA vuelve a jugar contra sí misma y se repite el proceso. De esta forma, la RNA aprende táctica derivada directamente de la búsqueda de MCTS y también aprende a evaluar que posiciones tienen tendencia a terminar en victoria o derrota, estrategia pura. Con cada nuevo juego aprende algo más.

Cuanto más juega contra sí misma, mejor lo hace, porque en cada nuevo juego ha acumulado la experiencia del anterior. A base de millones de partidas contra sí misma consigue un entrenamiento muy refinado que le permite jugar perfectamente desde el punto de vista táctico (ya no necesita el MCTS para jugar) y también conoce perfectamente qué tipo de posiciones son deseables, es decir, juega bien en el ámbito de la estrategia.

La verdad es que no nos hemos entretenido en calcular el tamaño de la RNA y el número de parámetros que tiene, pero debe andar en el orden de docenas de capas de neuronas y cientos de miles de parámetros. Es una RNA muy grande pero con una estructura no demasiado enrevesada.

¿ Cómo es de buena AlphaGo Zero ?
La progresión del aprendizaje de AlphaGo Zero es enormemente rápida al principio (mientras aprende la táctica) y más lenta al final (la estrategia cuesta mucho), pero es siempre creciente. No aparecen fenómenos de pérdida de memoria, que es un problema serio de las RNA si se entrenan de forma inadecuada.

Entre unas cosas y otras, la gente de DeepMind tiene una buena colección de programas para jugar al Go, entre los que está AlphaGo, que se supone que es mejor que cualquier humano.

Lo cierto es que, después de completar el entrenamiento de AlphaGo Zero, que llevó varias semanas de tiempo en un computador especializado, probaron a enfrentar AlphaGo con su sucesora AlphaGo Zero en varias partidas y esta última no tuvo ningún problema en batir sistemáticamente a la campeona AlphaGo.

¿ Podemos hablar de inteligencia superhumana ?

Ciertamente, AlphaGo se entrenó con el conocimiento de buenos jugadores, podría decirse que juega como si fuera un equipo de buenos jugadores, pero no deja de ser lo mejor a lo que ha llegado un humano, hasta ahora. AlphaGo Zero no sabe cómo juega un humano, ha descubierto tácticas y estrategias por sí sola, posíblemente mejora mucho a los humanos en algunas cosas.

Por otro lado, AlphaGo Zero no se ha enfrentado a un humano. Podría suceder que tuviera algún defecto serio que AlphaGo no ha encontrado pero que un humano podría descubrir y explotar. Los humanos somos enormemente agresivos si descubrimos una debilidad en nuestro oponente. Eso lo sabremos el día que se enfrente a buenos jugadores humanos ... si estos se atreven.



AlphaGo Zero es una buena demostración de la potencia del aprendizaje no supervisado, que es complejo de implementar pero que ofrece ventajas inmensas en cuanto a la capacidad casi ilimitada de aprendizaje que puede lograr.



Para saber más:

Artículo publicado en Nature por el equipo de DeepMind sobre el desarrollo de AlphaGo Zero. Sólo está accesible al público el resumen del mismo.

Anuncio en el sitio web de DeepMind sobre el desarrollo de AlphaGo, en esta página hay bastante información sobre AlphaGo Zero.



 

Inicio Powered by NetBSD
 
HTML5
 
En general, todo el contenido de este sitio web es original, salvo referencias o enlaces a otros sitios web y citas o reproducciones expresamente presentadas como tales.

No está permitida la reproducción ni la copia del contenido de este sitio web sin el permiso expreso de la propiedad del mismo.

Este sitio web no utiliza cookies ni ningún otro mecanismo para almacenar información en los navegadores de los visitantes ni para realizar seguimiento de los mismos.

2017,2018 Revolucionia.net
Sobre Revolucionia
Temas
Para saber más
Contacto