Developpez.com

Le Club des Développeurs et IT Pro

Après le jeu de Go, Google DeepMind veut tester une intelligence artificielle dans StarCraft II,

Un jeu vidéo de stratégie en temps réel

Le 2016-11-07 22:59:56, par Michael Guilloux, Chroniqueur Actualités
Après AlphaGo, l’IA de Google DeepMind qui a terrassé Lee Sedol, l’un des meilleurs joueurs de Go au monde, la filiale de Google, veut tester ses recherches en intelligence artificielle dans des domaines plus complexes, et c’est celui des jeux vidéo qui a été choisi.

« DeepMind a une mission scientifique de repousser les limites de l'IA, en développant des programmes qui peuvent apprendre à résoudre n'importe quel problème complexe sans avoir besoin qu’on leur dise comment le faire », a expliqué la start-up spécialisée dans l’intelligence artificielle. « Les jeux sont l'environnement parfait pour ce faire, ce qui nous permet de développer et de tester des algorithmes d'IA plus intelligents et plus flexibles, rapidement et efficacement, et de fournir un feedback instantané sur la façon dont nous le faisons à travers des scores. »

Le 4 novembre, lors de l’évènement BlizzCon 2016 du studio Blizzard Entertainment, DeepMind a annoncé une collaboration avec la société de développement de jeux vidéo basée en Californie pour ouvrir le jeu StarCraft II aux chercheurs en IA et en apprentissage automatique partout dans le monde. En d’autres termes, StarCraft II sera le nouveau domaine dans lequel DeepMind pourra tester ses recherches en intelligence artificielle. Les compétences acquises dans cet environnement plus complexe pourront ensuite être transférées dans le monde réel. En effet, « StarCraft est un environnement de test intéressant pour la recherche actuelle en IA, car il fournit un pont utile pour la complexité du monde réel », explique Google DeepMind. Et d’ajouter que : « les compétences nécessaires à un agent pour progresser dans l'environnement et bien jouer à StarCraft pourraient finalement être transférées à des tâches réelles. »

Le jeu nous transporte au XXVIe siècle et relate les affrontements entre trois races distinctes pour la domination d’une zone de la Galaxie connue sous le nom de Secteur Koprulu. La première race est celle des Terrans. Avec la surpopulation de la Terre au XXIe siècle, le gouvernement international a décidé d'exiler les individus indésirables, comme les criminels, les cyborgs ou les mutants, dans le Secteur Koprulu. Les Terrans sont leurs descendants. La deuxième race est celle des Zergs, une race d’insectes modifiés génétiquement et obsédés par l’assimilation des autres espèces de la Galaxie, et enfin, les Protoss, une race d’humanoïdes disposant de technologies et de pouvoirs psychiques très avancés cherchant à préserver leur civilisation de la menace des Zergs.

Au début d'une partie de StarCraft, les joueurs choisissent l'une des trois races, chacune ayant des unités distinctes et ses propres mécanismes de jeu. StarCraft demande au joueur de récolter des ressources (gaz, minerai) pour construire des bases militaires et créer des troupes ou unités. Le joueur adverse construit sa base en même temps, mais l’environnement visible par chaque joueur ne va pas au-delà de la portée de ses propres unités. Ainsi, les joueurs doivent envoyer des unités pour explorer des zones non visibles afin d'obtenir des informations sur leur adversaire, puis se souvenir de cette information sur une longue période de temps.

Les défis à relever sont bien plus complexes que ceux dans les jeux de Go et d’échec. Ici, l’environnement est partiellement observable, contrairement aux jeux de Go et d’échec où l’information est parfaite. « Et c'est un jeu de stratégie en temps réel », explique DeepMind, c’est-à-dire que « les deux joueurs jouent simultanément, donc chaque décision doit être calculée rapidement et efficacement. » Jouer à StarCraft demande également à l’IA d’utiliser sa mémoire : « Un agent capable de jouer à StarCraft devra démontrer une utilisation efficace de la mémoire, une capacité à planifier sur une longue période et la capacité d'adapter les plans en fonction de nouvelles informations. »

L’objectif est de créer une IA joueuse de StarCraft, capable de battre les humains tout en étant soumise plus ou moins aux mêmes limitations. Pour cela, DeepMind a travaillé avec l’équipe de StarCraft pour développer une API « permettant le contrôle programmatique des unités individuelles et l'accès à l'état complet du jeu (avec de nouvelles options également) ». Tout comme les humains, l’IA devrait jouer à partir de l’information visuelle. Pour cela, la filiale de Google a développé une interface qui simplifie les graphismes de StarCraft II en éléments visuels de base (des pixels, comme vous pouvez le voir dans la vidéo suivante) qui sont mieux adaptés pour alimenter le système d’apprentissage automatique.


Source : Google DeepMind

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

Homme vs IA au jeu de go : trois contre un en faveur d'AlphaGo, l'IA a désormais remporté le match mais Lee Sedol réagit
Des programmes IA pourraient battre les humains au jeu de Doom, après avoir appris à jouer en regardant d'autres joueurs
Google parvient à synthétiser une voix (presque) humaine, grâce à la technologie WaveNet développée par sa filiale londonienne DeepMind
  Discussion forum
39 commentaires
  • Iradrille
    Expert confirmé
    Envoyé par Vulcania
    Coréens vs DeepMind, les paris sont ouverts !
    Comme je le disais dans un autre thread: un humain n'a aucune change sur ce genre de jeu tant que le temps de réaction et les APMs du bot ne sont pas limités.

    Avec assez de puissance de calcul, on peut déplacer la caméra à chaque frame pour extraire des infos de toute la zone visible de la carte (sans être limité à analyser la minimap comme un humain le ferait).

    Chaque unité (~250 au total; en comptant les bâtiments) peut être géré individuellement sans être limité par la vitesse d’exécution: un joueur pro atteint quelques centaines d'APMs (< 10 / seconde).
    Une IA pourrait monter à 250/frame si besoin (15k+ / seconde).

    C'est juste trop déséquilibré.
  • neuneutrinos
    Membre actif
    Si jamais ils arrivent à avoir d'excellent résultat, je ne serai pas contre voir des match bot vs bot
  • Vulcania
    Membre éclairé
    Coréens vs DeepMind, les paris sont ouverts !
  • bilgetz
    Membre averti
    Sauf qu'une masse d’éclaireur va te couter des ressources.
    Il suffit à l'humain de faire en sorte que l'IA épuise ses ressources sur les éclaireurs et le tour est joué.

    De la, on voit tous de suite que l'IA devra faire un compromis entre tous connaitre via éclaireur et utiliser ses ressources pour attaquer et/ou se défendre.
  • halaster08
    Expert confirmé
    Envoyé par Matthieu Vergne
    Facteur chance qui n'existe plus quand tu as une masse d'éclaireurs qui te montre toute la carte (ou au moins assez loin pour voir l'attaque arriver), et dans le cas contraire qui au final est du même acabit que quand tu évalues seulement les stratégies les plus probables en go, ce qui n'a pas empêché AlphaGo de laminer l'humain.

    L'humain ne fait pas du random, à partir de là il s'agit d'identifier les patterns. Même sans explication rationnelle. Et ça, c'est tout l'objectif de l'apprentissage machine.
    SC2 est un jeu où tu ne peux pas te permettre de faire une masse d'éclaireurs, sinon tu as soit moins de troupes, soit moins de récolteurs et dans les deux cas tu as de forte chance de perdre la partie.
  • Aiekick
    Membre extrêmement actif
    petit troll en passant, le compte google vas être bloqué vu que ce qu'il compte faire n'est pas en accord avec la charte blizzard qui interdit tout automatisation.
  • RyzenOC
    Inactif
    Personnellement je pense que l'humain peut gagner.
    C'est un jeu de stratégie, le but est de piéger l'adversaire en jouant sur plusieurs plusieurs facteurs, en lui faisant croire à des attaques factice, en jouant sur la configuration du terrain... le choix de la civilisation/race aussi.
    Et je parle pas des alliances/trahison que l'ia devra prendre en compte.

    Bon je suis pas un expert sur ce jeu, mais sur un jeu que je maitrise comme ma poche (15ans de jeu) Age of Empire 2, elle n'est pas née l'ia qui me battra (sans tricher), tellement l'ia à de chose à prendre en compte.

    L'ia peut toujours mettre en place des stratégies, mais elle dépendrons en grande partie des actions de son adversaire Humain qui est irrationnel et imprévisible.
    Adopté une stratégie (une diversion par exemple) peut comporter des risque, si l'humain voit le subterfuge de l'IA, il va la massacrer.

    Cela n'a rien à voir avec un FPS comme doom (ou on joue sur la rapidité et la précision) ou surle jeu de go (ou l'ia peut voir le plateau de jeux et faire des calcules de prédiction exacte).
    Imaginer faire du big data avec 50% des données, les résultats ne serons pas forcément juste, dans starcraft tu ne peut pas voir ce que fait ton adversaire (le brouillard de guerre), donc l'ia doit faire des suppositions.

    Si on désactive le brouillard de guerre la par contre l'Humain à peu de chance de gagner car sa enlève complètement la partie stratégique et imprévisionnelle du jeu et sa se base uniquement sur des calcules de force.
  • Falquiero
    Membre régulier
    Etant fan des partis d’échecs IA vs IA (rien de plus drôle que de voir le commentateur ne rien comprendre au coup joué), et de Age of empires 2 (malheureusement je n'ai jamais touché sc2), j'ai hâte de voir le résultat. (des parties IA vs IA aussi)

    Ça va donner lieu à coup à l'élaboration de nouvelles stratégies, et forcément demander une adaptation de la part des joueurs pro. Par contre c'est évident pour moi qu'une fois la stratégie grossièrement acquise, l'IA va nettement prendre le dessus pour la partie micro management.
  • RyzenOC
    Inactif
    Envoyé par halaster08
    SC2 est un jeu où tu ne peux pas te permettre de faire une masse d'éclaireurs, sinon tu as soit moins de troupes, soit moins de récolteurs et dans les deux cas tu as de forte chance de perdre la partie.
    +1 et c'est pour cela que le facteur chance rentre en compte.

    Je ne dis pas que l'ia ne battra pas l'humain, mais contrairement à Go, je verrais bien un bon 50-50 entre IA et Humain.

    Dans go tu calcule toutes les possibilités possibles à partir de donnée fiable (le plateau), sur SC tu peut t'amuser à calculer toutes les possibilités possible, mais avec une BDD peu fiable.

    Et si la strétégie de l'ia c'est juste faire plains d'éclaireur, meme un débutant vas la battre, car pendants quelle dépensera sa fortune à faire des écleireurs, moi je ferais une armée et pour détruire son camp.

    Dans ce jeu, faut trouver le bon feeling entre attaque-défense-recherche-reconnaissance et cette combinaison dépend du joueur en face et de sa stratégie (qui évoluera en cours de partie), on peut pas etre 100% reco, 100% attaque, 100% défense, l'IA devra nécessairement laissé des failles dans ces dispositifs et le joueur humain n'aura qu'a les exploiter (l'inverse est aussi vrai).
  • Darktib
    Membre confirmé
    Il y a deux composantes dans ce genre de jeu : la micro (gérer les unités plus ou moins individuellement) et la macro (quels choix stratégiques ? économie, armée, exploration ? etc...).

    La micro est pas très compliquée, d'ailleurs il y existe déjà des ia pour ça :

    Bon, avec 30000 APM c'est simple (l'auteur de Micro AI explique qu'il n'est pas expert mais qu'avec des algos simples ça passe bien), ça pourrait être intéressant de voir ce qu'on peut faire en limitant les APM à max 300-400 pour un niveau coréen.

    Par contre la macro c'est encore un problème ouvert - et c'est là-dessus que DeepMind va chercher à faire des avancées je pense. Je suis curieux de voir ce que ça va donner !