Rendez-vous avec l’équipe DeepMind de StarCraft II
À la sortie de StarCraft en 1998, le chercheur en intelligence artificielle (IA) de DeepMind, Oriol Vinyals, n’était encore qu’un enfant vivant en Espagne. Il est tombé amoureux du jeu et a rapidement escaladé le classement, jusqu’à décrocher la troisième place aux qualifications des World Cyber Games (WCG). Depuis, il est devenu l’un de nos plus éminents chercheurs sur l’IA. Son projet actuel ? Développer un « agent informatique » (ou bot en anglais) capable de maîtriser StarCraft II.
///
Merci de prendre le temps de nous recevoir ! Tout d’abord, pourriez-vous vous présenter ?
Oriol Vinyals : Je m’appelle Oriol Vinyals et je suis chercheur chez DeepMind, en charge du projet StarCraft II. Mon objectif principal est de promouvoir la création d’une intelligence artificielle de pointe. StarCraft est un véhicule idéal pour ce genre de recherche. D’ailleurs, j’ai réalisé une partie de mon doctorat à Berkeley sur StarCraft.
Vous avez travaillé sur StarCraft dans le cadre de votre doctorat ?
Oriol Vinyals : Un de mes amis m’a dit : « Il y a un groupe d’étudiants à Berkeley qui va participer à une compétition, IA contre IA, et je sais que tu as beaucoup joué à ce jeu. Ce serait cool que tu ailles jeter un œil et que tu voies sous quel angle ils ont abordé le sujet. »
Ils construisaient un bot s’appuyant sur le mutalisk zerg. J’ai commencé à jouer contre cet agent… je crois qu’ils m’appelaient « le coach ».
Le projet abordait le jeu en se basant sur des systèmes de règles de niveau expert : « Nous allons créer de multiples mutalisks et il faut que nous décidions d’un ordre de fabrication qui puisse résister à plusieurs assauts de début de partie, tout en permettant suffisamment de croissance pour suivre le rythme de production. » Etc. C’était une approche très programmée, même si la micro-gestion des mutalisks était assimilée. On a d’ailleurs remporté cette compétition (article en anglais). C’était très amusant !
En quoi ce travail était-il différent de ce que vous faites aujourd’hui chez DeepMind ?
Oriol Vinyals : DeepMind développe ce que nous appelons des intelligences artificielles générales ou AGI (« artificial general intelligence » en anglais). On ne crée pas un agent spécifiquement pour qu’il joue à un jeu, on cherche à comprendre le paradigme d’apprentissage, pour que cet agent puisse jouer à n’importe quel jeu, même sans le connaître à l’avance. Je me suis dit que ça représenterait un défi et que ce serait amusant de créer un agent pour lequel on n’écrirait aucune règle. On se contenterait de lui donner l’écran : « Tiens, voilà la souris et le clavier. Vas-y, interagis avec le jeu et essaye de t’améliorer. ».
Qu’est-ce qui a attiré DeepMind vers StarCraft ?
Oriol Vinyals : Le jeu offre de véritables défis à l’IA. Au jeu de go, on voit toujours la totalité du plateau, ce qui n’est pas le cas dans StarCraft, il faut envoyer des éclaireurs… Ensuite, bien sûr, il y a l’interface. C’est une excellente plateforme d’essai pour voir si l’agent peut interagir avec un jeu en format point & click, contrairement aux 14 actions disponibles sur Atari. C’est un défi vraiment intéressant.
Comment avance le projet ?
Oriol Vinyals : Certains aspects sont particulièrement apparents, du fait de notre façon d’entraîner ces modèles. On pourrait presque dire « évidents », d’ailleurs, rétrospectivement. Par exemple, l’une des actions est de déplacer la caméra, de regarder la carte. Il s’est avéré que certains agents déplaçaient la caméra loin de leur base mais n’y revenaient jamais pour regarder ce qu’ils étaient censés faire, comme construire des bâtiments, etc.
C’est quelque chose de très simple pour des humains, le concept de la caméra et de la minicarte dans le coin inférieur gauche pour vous repérer. Mais ces agents partaient dans tous les sens, cliquaient sur la minicarte aléatoirement, ce qui ne les menait à rien. Puis à un moment, ils étaient suffisamment chanceux pour retomber sur leur base, mais leur action suivante était de sélectionner tous les ouvriers et de les envoyer quelque part au hasard.
Ça faisait presque mal à voir ! Et de là, il faut qu’ils obtiennent un genre de signal ou de récompense. Heureusement, ils avaient parfois assez de chance pour faire quelque chose de bien et là, seulement là, ils commençaient à apprendre. Ce n’était pas comme les jeux sur Atari, où l’on obtenait rapidement des résultats raisonnables. StarCraft possède un champ d’action tellement exponentiel que les agents ont beaucoup de mal à faire les premiers pas, surtout dans l’environnement non restreint du jeu complet.
Nous avons donc déployé un ensemble de mini-jeux, des versions simplifiées de StarCraft. Nous avons divisé le jeu et créé des cartes consistant, par exemple, à « croître et fabriquer beaucoup d’ouvriers » ou « déplacer des unités et tenter de couvrir autant de terrain que possible », etc. Dans ces mini-jeux, certains agents sont parvenus à apprendre les bases du déplacement d’unités, les situations de combat…
(Pour plus de détails, consultez la publication conjointe de DeepMind et Blizzard au sujet de leurs premières découvertes sur StarCraft II [article en anglais].)
Avez-vous eu quelques surprises ?
Oriol Vinyals : Nous avons une carte contenant 2 Marines, dont la mission est de récupérer du minerai éparpillé sur la carte. L’un des éléments les plus difficiles à assimiler pour l’agent est de comprendre qu’il doit utiliser ses Marines séparément. Mais ce que l’agent est parvenu à apprendre, c’est à déplacer les Marines avec la fonctionnalité Patrouiller. Et je l’ignorais, mais Patrouiller conserve une distance cohérente entre les Marines, ce qui leur permet de ramasser plus de minerai tout en restant contrôlables simultanément. C’est la première fois où je me suis dit « OK, je viens d’apprendre quelque chose de nouveau sur StarCraft II. ».
(Vidéo)
Abordons un sujet épineux : pensez-vous que l’IA pourra un jour battre le meilleur joueur humain ?
Oriol Vinyals : Je l’ignore. Ce que je sais, c’est que notre approche va évoluer. Avec un agent conçu façon 2010 comme nous l’avions fait à Berkeley à l’époque, on atteindrait 1 commande de construction, peut-être 2 ou 3, mais ça n’irait pas bien loin. Et au bout du compte, n’importe qui pourrait étudier son jeu et repérer ses faiblesses. Avec notre approche, si tout fonctionne, l’agent apprendra un vaste éventail de stratégies et de contres impossibles à programmer, de la même façon qu’il est impossible de programmer un bon joueur de Go.
Pour ce qui est de battre l’élite… je ne sais pas. Pour l’instant, c’est du jamais vu. Je ne peux pas prédire si l’agent sera capable d’un tel exploit.
Photo : DeepMind
Lisez les histoires de 20 ans de StarCraft
- Le concepteur coop Kevin « monk » Dong raconte son histoire
- Scarlett, NoRegreT et la maison qui a transformé l’e-sport de StarCraft II
- Mike Morhaime revient sur 20 ans d’e-sport StarCraft
- Évolution terminée : réinventer des unités emblématiques pour StarCraft II