StarCraft II

Charla con el equipo de Starcraft II de DeepMind

Justin Groot, Blizzard Entertainment

Cuando se lanzó StarCraft en el año 1998, el investigador de inteligencia artificial (IA) de DeepMind, Oriol Vinyals era apenas un niño que vivía en España. Se enamoró del juego y escaló rápidamente en el juego competitivo, incluso llegó a terminar tercero en la clasificación del World Cyber Games (WCG). Desde entonces, se ha convertido en una de las mentes más importantes en investigación de IA. ¿Cuál es su proyecto actual? Desarrollar un bot, o un “agente”, que pueda dominar StarCraft II.

///

¡Gracias por tomarte un momento para hablar con nosotros! ¿Te importaría presentarte?

Oriol: Me llamo Oriol Vinyals y soy investigador científico en DeepMind, donde dirijo el proyecto de StarCraft II. Mi principal tarea es mejorar la inteligencia artificial de vanguardia. StarCraft es un vehículo excelente para la investigación; de hecho, parte del doctorado que realicé en Berkeley fue sobre StarCraft.

¿Trabajaste sobre StarCraft en tu doctorado?

Oriol: Un amigo me dijo que había un grupo de gente en Berkeley que iba a participar en una competencia de IA contra IA, y como yo había jugado mucho al juego, le pareció una buena idea que fuera a echarle un vistazo a lo que estaban haciendo.

Me encontré con que estaban preparando un bot sobre la base del Mutalisco zerg. Empecé a jugar contra el agente... Creo que me nombraron “entrenador”.  

El enfoque de ese proyecto estaba pensado sobre sistemas expertos basados en reglas. “Crearemos una gran cantidad de Mutaliscos, y tenemos que contar con una estrategia que pueda resistir contra una cantidad de ataques tempranos y se expanda lo suficiente como para mantener el ritmo de la producción” y así. A pesar de que era un enfoque muy programático, se logró enseñar la microestrategia del Mutalisco a la IA. Finalmente ganamos la competencia. Fue muy divertido.

¿Qué diferencias había entre ese trabajo y lo que estás haciendo ahora en DeepMind?

Oriol: DeepMind está creando lo que las personas llaman “AGI”, una inteligencia artificial general. No es un agente diseñado específicamente para jugar un juego sino que el objetivo es comprender cuál es el paradigma de aprendizaje para que este agente pueda jugar cualquier juego sin demasiado conocimiento previo. Me pareció que sería un gran desafío, y sumamente divertido, crear un bot al que, en lugar de insertarle las reglas, simplemente le diéramos acceso a la pantalla. “Aquí tienes el mouse y el teclado. Ahora, interactúa con el juego e intenta mejorar tu nivel”.

¿Por qué DeepMind eligió StarCraft?

Oriol: El juego definitivamente ofrece ciertos desafíos para la IA. En Go, normalmente ves todo el tablero, pero en StarCraft no, y eso hace que tengas que explorar... y después está el elemento de la interfaz, que es un excelente banco de pruebas para ver si es posible crear un agente capaz de interactuar con un juego por medio de clics en comparación con las catorce acciones con las que contábamos en un Atari. Es un desafío fascinante.

¿Cómo marcha el proyecto?

Oriol: Ciertamente hay algunos aspectos que se advierten enseguida debido a la forma en la que se entrenan estos modelos. Quizás hasta parece obvio en retrospectiva. Por ejemplo, la acción de mover la cámara y mirar alrededor del mapa. Resulta que los agentes terminaban moviendo la cámara lejos de su base y nunca regresaban a ver lo que realmente tenían que estar mirando —obviamente su base— para construir edificaciones y demás.

Algo tan simple para los humanos como el concepto de la cámara, que te ayuda a mirar en el minimapa que está en la esquina inferior izquierda, confundía por completo a los agentes. Se la pasaban haciendo clic en el minimapa y, por supuesto, no llegaban a ninguna parte; y, de repente, cuando tenían la suerte de volver a hacer clic en su base, enviaban a todos sus obreros a otro lugar.

Es casi doloroso verlo. A partir de ahí, necesitan empezar a recibir algún tipo de señal o de recompensa. A veces tienen suerte y hacen algo bueno y recién en ese momento pueden empezar a aprender. A diferencia de los juegos de Atari, en los que enseguida el jugador hace algo razonable, StarCraft tiene un espacio de acción exponencial tan grande que es muy difícil empezar a aprender, en especial en el modo de juego completo y sin limitaciones.

Creamos un conjunto de minijuegos que eran versiones simplificadas de StarCraft. Redujimos ciertos aspectos del juego y los concentramos en mapas que consistían, por ejemplo, en “expandirse y crear muchos obreros”, o “mover unidades e intentar cubrir la mayor cantidad del mapa posible” y demás. En los minijuegos, hubo agentes que lograron aprender los aspectos básicos del movimiento de unidades, las situaciones de combate…

(Para acceder a más detalles, echa un vistazo al artículo que DeepMind realizó en conjunto con Blizzard acerca de sus primeros hallazgos sobre StarCraft II.)

¿Se llevaron alguna sorpresa hasta ahora?

Oriol: Hay un mapa en el que hay dos Marines que tienen la misión de recoger minerales que están desparramados por todo el mapa. Un aspecto sumamente difícil de descifrar para el agente es que debe dirigir a los Marines de forma independiente. Pero lo que el agente logró aprender fue a mover a los Marines con la acción de patrullar. Yo no lo sabía, pero la acción de patrullar mantiene siempre la misma distancia entre los Marines, lo que les permite recoger más minerales aun cuando se los controla de forma simultánea. Esa fue la primera vez que pude decir que había aprendido algo nuevo sobre StarCraft II.

( Video )

Generemos un poco de ansiedad. ¿Crees que esta máquina llegará a ser mejor que cualquier ser humano?

Oriol: No lo sé. Definitivamente creo que el enfoque es muy escalable. Si construyes el bot con el método que usamos en el 2010 en Berkeley, tendrá una, dos, o tres estrategias, pero no tiene mucha capacidad para ir más allá. Al fin y al cabo, alguien puede estudiar la manera en que juega y exponer sus debilidades. Lo que me gusta de nuestro enfoque es que, si todo funciona, el agente habrá aprendido una gran variedad de tácticas y estrategias para contrarrestar jugadas que no se podrían programar, de la misma forma que no puedes programar a un jugador de Go muy hábil.

En cuanto a vencer a los mejores jugadores, no lo sé. Eso lo veremos en el futuro. No puedo predecir si seremos capaces de vencerlos o no.  


Photo Credit: DeepMind

Más artículos sobre el 20.º aniversario

- Scarlett, NoRegreT y la casa de su equipo revolucionan los esports de StarCraft II  

Mike Morhaime habla sobre los 20 años de esports de StarCraft

- Evolución completa: Recreación de las unidades clásicas para StarCraft II

Kevin Dong, diseñador del modo cooperativo, cuenta su historia