IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

147PARTAGES

13  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de onilink_
Membre émérite 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)...
5  1 
Avatar de 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.
4  0 
Avatar de Uther
Expert éminent sénior 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.
5  1 
Avatar de Kikuts
Membre éprouvé 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"
3  0 
Avatar de Rokhn
Membre actif 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.
2  0 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 21/08/2018 à 5:53
Oui l'IA triche, mais le but d'un tel exercice est de faire progresser la recherche en IA, et encore, la version vraiment Open-Source. Alors oui, pour le moment l'IA "triche" si l'on veux mais dans la réalité c'est certains, qu'un robot trichera de toute manière, sa force, son autonomie, sa capacité de calculs n'ont rien a voir avec un humain, il a des avantages et des inconvénient. Dans ses avantages c'est de faire un calculs même complexe instantanément.

Si les humains en sont encore a se dire qu'ils peuvent battre l'IA sur une tache précise, ils se trompent, une IA bien codée est aujourd'hui plus rapide et efficace qu'un humain dans un nombre de tâches destiné a croître sans cesse. Mais une IA est très spécifique et demande beaucoup de mise au point par l'humain. Un humain reste ce qu'il y a de plus autonome et polyvalent (physiquement, comme en intelligence) c'est là son intérêt.

Pour illustré rappelons ce qu'Elon Musk à dit : On a perdu en productivité car on a trop automatisé. Il entends par là non pas que les humains sont plus rapide que les robots, mais que en cas de modification dans la production, l'humain est beaucoup plus souple or les voitures ont connu des défauts qu'ils a fallut corrigé, la chaîne de production a dû s'adapter a une variation de la cadence avec des points d'étranglement. Quand tout est automatisé le moindre changement peut vite devenir très complexe.
2  0 
Avatar de 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"
3  2 
Avatar de zoonel
Membre actif https://www.developpez.com
Le 20/08/2018 à 19:36
vous êtes sérieux là ?????
perso j'ai jamais entendu Kasparov se plaindre que Deep blue a plus de mémoire que lui, de même que pour les autres ai on se plaint pas du fait qu'elles on un puissance de calcul tel qu'elles peuvent prévoir x coups à l'avance de plus que nous.
C'est vraiment de foutage de gueule là, c'est ce qui fait tout l'ia, est-ce que que cette puissance de calcul bien supérieur à nous peut rivaliser avec notre "intelligence" (ou plutot on devrait dire arrive à élaborer des tactiques supérieure à ceux des humains)
Ensuite je vois pas pourquoi on devrait demander en plus à l'ia d'analyser les images, on fait pas un robot ici, on essaye de voir si des ia autonomes arrivent à collaborer efficacement sur un jeu complexe. À ce compte on devrait également imposer aux ia d'utiliser des mains robotiques à 5 doigts et avec un clavier azrty/querty et s'adapter au retour de touches des claviers mecaniques et puis leur ajouter du stress et simuler le battement des paupières ....
Bref c'est pas un robot qu'on juge ici c'est une ia. Après oui on peut combiner les différents points mais d'abort faut faire avancer les études dans des domaines précis, en l’occurrence ici on est pas là pour faire du traitement visuel.
2  1 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 21/08/2018 à 11:50
Citation Envoyé par zoonel Voir le message
vous êtes sérieux là ?????
perso j'ai jamais entendu Kasparov se plaindre que Deep blue a plus de mémoire que lui, de même que pour les autres ai on se plaint pas du fait qu'elles on un puissance de calcul tel qu'elles peuvent prévoir x coups à l'avance de plus que nous.
Les joueurs de DOTA ne se plaignent pas non plus des capacités de calcul mais de la nature des informations obtenues par l'IA. Ce n'était pas un problème lors du match Kasparov contre deepblue, car les échecs sont un jeu au tour par tour. Le temps de lire la position des pièces sur un échiquier est négligeable pour un joueur entrainé par rapport au temps de réflexion pour jouer un coup.
C'est différent quand on a des jeux temps réel comme Dota qui requièrent des actions dans la fraction de seconde.

Citation Envoyé par zoonel Voir le message
C'est vraiment de foutage de gueule là, c'est ce qui fait tout l'ia, est-ce que que cette puissance de calcul bien supérieur à nous peut rivaliser avec notre "intelligence" (ou plutot on devrait dire arrive à élaborer des tactiques supérieure à ceux des humains)
Sauf que cette intelligence ne comprend pas l'analyse de l'image pour en extraire les information. L'IA a les informations qui lui sont fournies d'une manière bien plus facilement exploitable que l'humain.

Citation Envoyé par zoonel Voir le message
Ensuite je vois pas pourquoi on devrait demander en plus à l'ia d'analyser les images, on fait pas un robot ici, on essaye de voir si des ia autonomes arrivent à collaborer efficacement sur un jeu complexe. À ce compte on devrait également imposer aux ia d'utiliser des mains robotiques à 5 doigts et avec un clavier azrty/querty et s'adapter au retour de touches des claviers mecaniques et puis leur ajouter du stress et simuler le battement des paupières ....
En effet tout dépend ce que l'on veut mesurer. Si on veut comparer précisément une IA sur la possibilité de réaliser exactement la même tache qu'un humain, il faut en effet lui imposer des restrictions similaire à que ce que la manipulation de la souris pose a l'humain.
Si on veut juste prouver que l'IA est capable de gérer la logique du jeu, manipuler l'API suffit.

Citation Envoyé par jnspunk Voir le message
Ils ont implémenté un lag de 200 ms pour les IA, alors que les humains peuvent avoir une latence bien moindre !
Donc je vois pas le problème, dire que les IA réagissent instantanément est un mensonge.
En effet mais tout dépend du type d'action effectuées.
Les joueur de Starcraft peuvent en effet faire beaucoup plus mais la plupart de leurs actions sont inutile ou "peu utiles" la ou en passant par une API, l'IA échappe a toute forme d’approximation dans les contrôles.
Pour le coup pour un jeu comme DOTA 200ms me parait beaucoup.
1  0 
Avatar de iclo
Membre régulier 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.
0  0