IA : les algorithmes d'OpenAI qui ont fait équipe pour battre des humains au Dota 2 auraient triché
Selon un joueur professionnel

Le , par Bill Fassinou, Chroniqueur Actualités
Comme vous le savez déjà, Dota 2 est un jeu vidéo de type arène de bataille en ligne multijoueur. Il est surtout connu pour sa complexité et se joue en matchs indépendants opposant deux équipes de cinq joueurs. Chaque équipe possède une base contenant un bâtiment appelé l'« Ancient » et sa destruction mène à la victoire de l'équipe adverse. Chaque joueur contrôle un « héro » et gagne de l'expérience, de l'or et s'équipe d'objets pour combattre l'équipe adverse jusqu'à détruire son « Ancient », donc remporter la victoire. Le succès dans ce jeu requiert que les joueurs développent des capacités d’intuition et de planification.

En 2017, OpenAI, une association de recherche à but non lucratif en intelligence artificielle dont le but est de promouvoir et développer une IA à visage humain, a développé une IA qui a battu Danylo Dendi, un des meilleurs joueurs de Dota 2. Le match opposant Danylo Dendi et le bot d'OpenAI s’est déroulé en un contre un puisque l’IA était dans le temps rodée pour gérer un seul « héro ». OpenAI déclarait alors que « la prochaine étape du projet est de créer une équipe de bots Dota 2 capable de rivaliser et collaborer avec les meilleures équipes d’humains ».


Cet exploit est réalisé presque un an plus tard quand les chercheurs de l’entreprise californienne ont réussi à intégrer cinq algorithmes différents dans une équipe qu’ils ont appelée « OpenAI Five » et de les faire travailler en équipe. Chaque algorithme a été doté d’un réseau de neurones lui permettant non seulement d’apprendre comment jouer, mais aussi comment coopérer et interagir avec les autres algorithmes. Le 5 août passé, OpenAI Five a réitéré de nouveau l'exploit en battant des joueurs professionnels à Dota 2.

Tout semble donc aller au mieux pour les travaux de recherche d'OpenAI. Cependant, les algorithmes auraient utilisé des approches complètement différentes des habitudes du jeu. Austin Walsh, l'un des joueurs professionnels déchus dit que les bots ont « juste joué différemment ». Les bots d'OpenAI ont passé 180 jours à s’entraîner à Dota 2 pour préparer le match et devaient jouer dans certaines limites très spécifiques. Dota 2 est un jeu compliqué avec plus de 100 héros et certains d'entre eux ont des capacités originales et changeantes. Mais pour ce combat, la réserve de héros était limitée à seulement 18. Ce qui constitue un handicap sérieux, car une grande partie de Dota 2 implique une équipe qui choisit la composition de groupe appropriée et qui réagit à ce que ses adversaires choisissent. Par conséquent, réduire le nombre de héros de plus de 100 à 18 a simplifié les choses pour l'IA.

Les bots OpenAI Five ont également joué à Dota 2 en lisant les informations du jeu directement à partir de son interface de programmation applicative (API) qui permet à d’autres programmes d’interfacer facilement avec le jeu. Cela a permis aux bots d'avoir une connaissance instantanée du jeu alors que les joueurs humains doivent interpréter visuellement un écran. Si un humain était capable de faire cela lors d'un match de compétition contre d'autres humains, ce serait probablement qualifié de tricherie. L'utilisation d'une souris programmable est aussi disqualifiable. Mais Open AI Five joue comme une équipe entière avec des souris programmables.

Pour la défense de Open AI Five, Mark Riedl, professeur associé d'IA et d'apprentissage automatique au Georgia Tech College of Computing dit que « l'API est conçue pour ne pas donner aux bots plus d'informations qu'un humain ». Il poursuit en disant que « ce qu’ils sont capables de savoir, ils le savent parfaitement et instantanément. Ils doivent être sur le même terrain que les humains qui utilisent également leurs yeux ».

Mais Walsh dit que les bots jouent avec une telle confiance, car dit-il, « ils savent exactement l'endroit où se trouve tout le monde, ils savent exactement combien de "pouvoir d'attaque" vous avez. Ils savent exactement combien de dégâts ils peuvent faire entre les trois ou quatre héros qu’ils ont et ils attaquent instantanément au moment où vous vous trouvez dans la mauvaise position ». Toutefois, Walsh pense que lui et son équipe pourraient éventuellement battre l'IA si les conditions étaient plus équitables même si des restrictions étaient imposées.

Source : Vice

Et vous ?

Qu'en pensez-vous .
Les bots ont-ils vraiment triché à votre avis ?
Les résultats du jeu auraient-ils été différents si les bots n'avaient pas utilisé l'API de Dota 2 ? Pourquoi ?
L'IA serait-il déjà plus intelligent que l'homme quand il s'agit de jouer à des jeux vidéo ?

Voir aussi

OpenAI d'Elon Musk crée une IA capable de battre des humains sur Dota 2, un jeu vidéo de type arène de bataille en 3D

Intelligence artificielle : OpenAI annonce un système robotique capable de manipuler des objets avec une dextérité humaine

Cinq algorithmes d'IA font équipe pour écraser des humains à Dota 2, un jeu d'équipe connu pour être extrêmement compliqué

Intelligence artificielle : Facebook publie en open source ELF OpenGo, son IA qui a battu d'autres IA au jeu de Go, ainsi que des professionnels


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de Nolent Nolent - Membre à l'essai https://www.developpez.com
le 20/08/2018 à 10:46
Déjà, cette IA n'a pas battu de joueur professionnel mais seulement des anciens pro et des caster.

Les bots OpenAI Five ont également joué à Dota 2 en lisant les informations du jeu directement à partir de son interface de programmation applicative (API) qui permet à d’autres programmes d’interfacer facilement avec le jeu. Cela a permis aux bots d'avoir une connaissance instantanée du jeu alors que les joueurs humains doivent interpréter visuellement un écran
La je vois pas vraiment de problème. Ils veulent quoi, que les bot font un traitement de l'image du jeu ?

« ils savent exactement l'endroit où se trouve tout le monde, ils savent exactement combien de "pouvoir d'attaque" vous avez. Ils savent exactement combien de dégâts ils peuvent faire entre les trois ou quatre héros qu’ils ont et ils attaquent instantanément au moment où vous vous trouvez dans la mauvaise position ».
Il veut quoi, qu'on introduise des biais dans l'IA ? Tout ça c'est la base du jeu, savoir quels sorts sont en cooldown, combien de dégâts on fait a l'adversaire et tuer les mecs hors de position c'est la 1ere étape de l'apprentissage de dota.

La vérité c'est que l'équipe humaine à extrêmement mal joué et qu'elle aurai même pu se faire battre par les bots de base du jeu...

En passant on dit "à DOTA 2" et pas "au"
Avatar de onilink_ onilink_ - Membre éclairé https://www.developpez.com
le 20/08/2018 à 11:07
Citation Envoyé par Nolent Voir le message
La je vois pas vraiment de problème. Ils veulent quoi, que les bot font un traitement de l'image du jeu ?
Ben justement oui, c'est ce qu'on fait de nos jours, directement traiter l'écran de jeu. Sinon ça n'a pas vraiment d’intérêt pour de l'IA "moderne" (j'entends par la les réseaux de neurones profonds etc)...
Avatar de Kikuts Kikuts - Membre éclairé https://www.developpez.com
le 20/08/2018 à 11:17
Pour que ça soit plus équitable, l'IA devrait analyser ce qu'elle voit à l'écran, balayer la map pour obtenir des informations.

Exemple : si un joueur exécute un sort/action en dehors du champs de vue de la caméra alors c'est injuste que l'IA sache cette information.

Pour les IA sur Starcraft, elles jouent avec le brouillard de guerre. Si les IA n'auraient pas besoin de scoot, ça serait trop facile.

Car comme c'est si bien dit : "ce qu’ils sont capables de savoir, ils le savent parfaitement et instantanément" donc je comprend que le fait d'utiliser l'api directement soit assimilé à de la triche. On peut espérer que ce soit la prochaine étape.

Faire un véhicule autonome sans avoir à faire le balayage et la reconnaissance de l'environnement ainsi qu'obtenir les informations qui sont dans l'angle mort, ce n'est pas la même chose.
Comme disait Vandamme, faut être "aware"
Avatar de Rokhn Rokhn - Membre habitué https://www.developpez.com
le 20/08/2018 à 11:20
Citation Envoyé par Nolent Voir le message
Il veut quoi, qu'on introduise des biais dans l'IA ? Tout ça c'est la base du jeu, savoir quels sorts sont en cooldown, combien de dégâts on fait a l'adversaire et tuer les mecs hors de position c'est la 1ere étape de l'apprentissage de dota.
Je pense surtout que ce qu'il veut dire par là, c'est que le calcul des dégâts en fonction de l'attaque en face est fait automatiquement (vu que les ratios des spells sont enregistrés). Du coup il peut prédire, au point de vie près, si le trade va être rentable/risqué/impossible. De bons joueurs peuvent atteindre un certains niveau d'expertise, mais calculer, en permanence, ce facteur est extrêmement avantageux pour les IA.
Avatar de Nolent Nolent - Membre à l'essai https://www.developpez.com
le 20/08/2018 à 11:38
l'API est conçue pour ne pas donner aux bots plus d'informations qu'un humain
A partir de la il n'y a plus de problème. Tout les monde a les mêmes info. Que l'IA soit capable de savoir quand tel sorts sors de cooldown ou combien de dégât elle peut faire au PV prêt, c'est ce que l'on attend d'elle et c'est simplement la base...
La chose réellement intéressante à voir sera quand l'IA sera capable de jouer avec ou contre un perso qu'elle ne connait pas.
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 20/08/2018 à 11:59
C'est tout le problème des défis Humain vs IA, dans les jeux en "temps réel". De fait les humain et les IA interagissent avec le jeu via des interfaces différentes.

Il est en effet bien plus facile pour une IA d'interagir directement avec l'API du jeu, ce qui est totalement impossible pour un humain dont un grosse partie du cerveau travaille a analyser l'image à l'écran avec beaucoup d’informations inutiles.
Il en est de même pour les actions qui sont effectuées au moyen de la souris. Le cerveau doit passer par le contrôle des bras pour transmettre ses commandes à l'ordinateur, ce qui est un fardeau de plus a gérer par rapport à une IA qui pourra communiquer directement ses ordres sans risque d’imprécision ou d'erreur.

Bref, on peut essayer de contraindre l'IA, mais on aura jamais une situation parfaitement équitable.
Avatar de iclo iclo - Futur Membre du Club https://www.developpez.com
le 20/08/2018 à 12:04
Parler de triche est absurde : la situation de la compétition devait être connue dès le départ.
Ici en l’occurrence, on a dispensé l'IA de devoir réaliser un travail de "perception" en lui fournissant directement des données brutes, complètes: l'IA était donc favorisée par rapport à un humain qui va introduire un temps de décalage / réaction pour prendre conscience des évolutions visibles.
Il est clair que devoir analyser la situation à partir d'images et non de données bruts aurait conduits à un niveau bien différents de challenge.
C'est un peu comme si on concevait une IA de véhicule autonome travaillant à partir de données précises et connues en évitant le travail de détection, filtrage et consolidation. Bref, la majeure partie du travail.

Après le joueur humain bénéficie de faculté que l'IA ne possède pas en standard et qui peuvent être difficile à simuler : l'intuition, le bluff.

Bref, il faut se mettre d'accord sur les règles du jeu avant de jouer avec une IA.
Avatar de ShigruM ShigruM - Futur Membre du Club https://www.developpez.com
le 20/08/2018 à 13:03
oui c'est un probleme que j'ai souvent remonté.
pour réellement mesurer la force d'une IA, il faut qu'elle se batte à arme égal avec un humain et c'est toute la difficulté...

Il y'a peu google nous parlait de son IA invincible dans le jeu Quake... mais c'est quoi une ia invincible ? une ia avec un radar à 360° qui oneshot au pixel près, il n'ya aucun challenge la dedans, n'importe qui sait faire ce genre d'ia depuis doom 1.

le challenge en 2018 c'est une IA qui jouerais comme un humain, qui regarderais un écran et déplacerais une souris pour interagir avec le jeu.
La nous pourrons enfin avoir le vrai combat civilisationnel que nous attendons tous, homme vs machine.

une machine qui interagie avec l'api directement c'est en rien exceptionnel, n'importe qui peut le faire, je le faisait plus jeune quand je codais des IA dans age of empire 2, suis je un génie qui révolutionne l'ia ? non bien sur que non, je sais juste coder.

Un homme c'est physique, une IA c'est virtuel, soit faut que l'homme communique par la pensé (casque de pensée) soit faut que l'ia communique physiquement (clavier+souris en l'occurence)

Posez vous cette question : si je pouvais jouer par la pensé, je pourrais faire des oneshots dans les fps, je pourrais commander en temps réel au moins 50 unités dans dota 2...etc, je serais a jeu égal avec l'ia.
Si l'ia jouait avec le clavier+souris, elle jouerais a arme égal avec moi, imprécision et parte de temps du au contrôle de la souris, devoir déplacer la carte avec la souris qui prend du temps (on parle quand même de 2-3 secondes de perdu quand on se déplace sur la map)

bref elle n'ai pas encore née l'ia qui vous battra à Arma3 ou Europa Universalis, je parle de vrai jeux complexe, à des années lumière de Quake ou Dota 2 en matière de complexité.
Pour réussir dans Europa Universalis et coloniser le monde, il faut penser comme un humain, comme un conquérant, comme un colonisateur. Pour réussir a Hearth of iron 4, il faut penser comme Hitler, pour réussir a Arma3 il faut penser comme un générale.

ce que les IA ignore, c'est que je sais ce qu'elle savent que je savent qu'elle vont faire (pas facile cette phrase), si vous ne comprenez pas, en gros je la piège en lui faisant croire qu'elle est en situation de force, dans Arma3 je n'hésite pas a tuer les civils pour attirer l’ennemie, dans HEARTH OF IRON 4 je n'hésite pas a sacrifier 10 millions d'humain car je sais que l’ennemie n'a que 4 millions de réserve, la technique chewbacca, qui est le B.A.BA de la stratégie.
je parle bien sur de la défense chewbaca ou plus précisément le stratagème numéro 20 du très ancien traité de stratégie chinois Les 36 stratagèmes : ce stratagème parle de « Troubler l'eau pour prendre le poisson », c'est-à-dire donner trop d'options à l'IA, noyer dans l'information

l'ia vas t'elle aller au sud ou au nord ? dans le doute elle fait random* et bim tombé dans mon piège. random signifie dans ce contexte que le contexte de décision est incertain, on est vers de la décision de 0.4-0.6 donc l'ia n'est pas sur, quand on est pas sur on prend des risques. pour gagner faut que l'ia prenne des risques, il faut jouer de façon a ne donner aucun sens a la partie. Car quand l'ia choisira une action elle se dira tous ceci a t'il un sens ? non car les stats sont de 50-50
Avatar de Sodium Sodium - Membre éprouvé https://www.developpez.com
le 20/08/2018 à 13:15
Qu'en pensez-vous .
Qu'on s'en fiche pas mal et que le fait qu'il y ait des joueurs "professionnels" sur ce type de jeu est totalement ridicule.
Avatar de SofEvans SofEvans - Membre expérimenté https://www.developpez.com
le 20/08/2018 à 15:34
Je suis de l'avis de Uther, je rajouterais que l'un des critères non négligeable en terme d'avantage pour une IA est sa capacité d'ordre/seconde.

Je ne suis pas joueur pro, loin de là, surtout pour les RTS, mais mes plus grosses difficulté étaient de coordonner mes unités dans le cadre de manœuvre d’assaut/embuscade/etc etc. Un programme (voir une IA) coder pour gagner à tout prix aura un net avantage sur ce point.
De plus, la construction de la base se fera en un temps record, rien que ça c'est juste un avantage complètement écrasant.
Contacter le responsable de la rubrique Accueil