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 !

Des programmes IA pourraient battre les humains au jeu de Doom
Après avoir appris à jouer en regardant d'autres joueurs

Le , par Olivier Famien

0PARTAGES

9  0 
A mesure que le temps passe, l’intelligence artificielle (IA) commence à montrer sa puissance dans divers domaines de la société. Il y quelques mois de cela, AlphaGo, le programme d’intelligence artificielle de Google basé sur Deepmind, était opposé à Lee Sedol, l’un des meilleurs joueurs au monde du jeu de Go. Après plusieurs matchs, AlphaGo s’est imposé 4 manches à 1. Ce succès n’a pas manqué de faire couler de l’encre autour de ce domaine en pleine exploration.

En attendant que tous les aspects de ce domaine soient véritablement mis au service de l’humanité, des développeurs viennent de creuser encore ce champ d’application et ont exploité la puissance de l’apprentissage automatique et du réseau neuronal pour faire apprendre à leurs programmes d’intelligence artificielle à jouer au jeu vidéo.

Tout est parti du concours organisé lors de la conférence IEEE sur l’intelligence informatique et les jeux du 20 au 23 septembre dernier. Ce concours mettait en compétition non pas des personnes, mais des programmes d’intelligence artificielle qui devaient jouer au jeu Doom, le jeu vidéo à la première personne (FPS) reconnu comme étant le pionnier des jeux vidéo utilisant un graphisme en 3D immersive. Dans ce jeu, le joueur doit parcourir différentes pièces et éliminer des assaillants tout en évitant de se faire tirer dessus.

Généralement, pendant les jeux, les bots peuvent avoir accès à un ensemble d’informations telles que les cartes, la position des objets, les endroits, la position des joueurs en scrutant les données sur le réseau ou dans le jeu en lui-même afin de se faciliter la tâche. Mais pour cette compétition IA, les agents IA n’ont eu droit à aucune de ces informations. Pour apprendre à jouer et s’illustrer comme le meilleur joueur lors des combats, les agents IA devaient faire comme les humains, c’est-à-dire regarder les autres joueurs (IA ou humains) jouer et bâtir leur habileté en s’appuyant seulement sur ce qu’ils ont appris en regardant les autres joueurs jouer.

Pour y arriver, les développeurs devaient soumettre un script écrit en C++, Python ou Java qui se connecterait à ViZDOOM, la plateforme de recherche IA basée sur Doom. C’est cette dernière qui a permis aux agents IA d’apprendre en regardant ce qui se passe sur l’écran. Et pour éviter toute discrimination, les développeurs ont eu droit chacun à une machine avec Windows ou Linux et fonctionnant avec un processeur Intel Core i7-4790 CPU cadencé à 3,60 GHz, 16 Go de mémoire RAM et une carte graphique GTX 960 4 GB.

Après les différents affrontements, les développeurs de Facebook ont été sacrés vainqueurs du premier concours qui imposait de jouer dans un environnement déjà maîtrisé par l’agent IA avec comme arme un lance-roquettes. En plus du lance-roquettes, l’agent IA pouvait également collecter des kits de santé et des munitions. Pour le second concours, le plus difficile qui imposait de jouer dans 2 environnements connus d’avance et dans 3 environnements inconnus aux agents IA, c’est l’équipe d’Intel qui l’a emporté.

Par ailleurs, même si ces entreprises bénéficient de talents avérés dans le domaine de l’IA, il y a une équipe de deux étudiants qui s’est particulièrement bien illustrée en obtenant les secondes places aux deux concours cités alors que Intel et Facebook n’ont participé qu’à un seul concours.

Les étudiants en question sont Guillaume Lample et Devendra Singh Chaplot de Carnegie Mellon University. Ils ont passé quatre mois à plancher sur le code de leur programme d’intelligence artificielle. Et après avoir analysé les résultats effectués par les étudiants avec leur agent IA, Lample et Chaplot soutiennent que son « ;architecture surpasse considérablement les agents IA intégrés au jeu ainsi que les humains dans les scénarios de combat à mort ;». Tout comme AlphaGo, le programme IA des deux étudiants est basé sur le programme d’intelligence artificielle DeepMind.

Pour beaucoup, cette démonstration du potentiel de l’intelligence artificielle pourrait être exploitée dans divers domaines tels que la conduite autonome ou d’autres domaines encore afin d’amener les systèmes intelligents à pouvoir réagir comme souhaité dans des environnements inconnus tout en se basant sur les différents objets qui se présentent.

Source : Post-Gazette, ViZDOOM, Carnegie Mellon University

Et vous ?

Que vous inspirent les avancées dans le domaine de l'intelligence artificielle ?

Voir aussi

Jeu de Go : les développeurs s'imposent face à Lee Sedol, l'IA de Google terrasse la star du Go par un score de 4-1

La Rubrique Algorithmique, Forum Intelligence artificielle, Cours et tutoriels Algorithmique, FAQ du langage

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

Avatar de 10_GOTO_10
Membre expérimenté https://www.developpez.com
Le 07/10/2016 à 8:40
Echecs, go, Doom, ...

On vit une époque formidable. Non seulement les robots nous piquent notre boulot, maintenant ils nous piquent nos jeux.
8  1 
Avatar de commandantFred
Membre habitué https://www.developpez.com
Le 09/10/2016 à 16:40
Citation Envoyé par Iradrille Voir le message

Le seul avantage de l'humain est son imperfection. Il n'y a qu'en prenant une décision suboptimale qu'il pourra "surprendre" une IA.
Non et le mot "optimal" n'est pas adéquat.

J'ai oublié de dire que les algo d'IA associés au jeu deviennent le l'aberration artificielle dés que le nombre de coups devient trop grand. Il suffit généralement d'un contrôle analogique (genre joystick à potentiomètre) correctement géré pour rendre la tâche de la bruteforce complètement impossible.
A fortiori lorsque il faut qualifier visuellement une cible (otages) ou que simplement le jeu n'est pas trop répétitif et tous les algos d'IA bon marché s'effondrent comme un chateau de cartes alors que l'humain garde exactement la même acuité.
Le cerveau humain parallélise beaucoup mieux, sa base de données fait l'objet de synthèses, il est capable de prioriser a la volée, il peut "changer d'avis" tardivement, il peut "tester pour voir", il peut même se sacrifier dans des cas extrêmes.

Il peut réécrire son propre code et ses souvenirs sont un mélange de code et de données qu'il peut associer sur critères multiples en rejetant les résultats absurdes ou sans rapport. Il a du "bon sens" !

Le tas de ferraille à cpu qu'on lui oppose est un piège à gogo pour vendre du papier à des esprits simples et facilement impressionnables

EDIT : je suis actuellement premier sur un challenge d'IA parce que je n'ai pas voulu m'embarquer dans la bruteforce. J'ai juste poussé la logique d'asservissement. Résultat : j'utilise 1000 fois moins de cpu que les autres et je garde un contrôle total des priorités.

J'insiste sur les priorités parce que ni la bruteforce, ni les NN ne sont capables de les gérer correctement. D'ailleurs les neurones sont encore cantonnés dans le domaine de la reconnaissance de signal. Si tout le monde s'extasie dessus, c'est à cause du nom. Mais le nom ne change rien au fait que c'est juste un multithread objets assez basique et la multiplication des neurones au delà d'une vingtaine d'unités donne des résultats aberrants. Mais le pire de tout ça est que le développeur ne contrôle absolument plus le comportement de son bot ! L'asservissement reste donc plus fort que l'IA bien qu'il soit plus long à mettre au point.
3  0 
Avatar de blbird
Membre expérimenté https://www.developpez.com
Le 07/10/2016 à 10:38
Contre une équipe humaine de joueurs pro (ou réputés) sur des jeux de type FPS, je doute que l'IA arrive à faire quelque chose pour le moment. Il y a une organisation tactique, des compétences individuelles et un jeu d'équipe qui n'a rien à voir avec les joueurs habituels : je le sais par expérience.

C'est extrêmement plus compliqué que le GO, qui possède des règles fixes. Je rappelle que pour le match IA versus joueur PRO de go, Google faisait tourner son IA avec un datacenter (ayant accès à Internet) et donc une puissance de calcul phénoménale et des données "illimitées", à des années lumières des capacités d'un très bon PC autonome sans accès internet. C'était assez déséquilibré je trouve.
2  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 09/10/2016 à 12:00
Citation Envoyé par Iradrille Voir le message
En 1v1, un humain n'a aucune chance : ya une partie stratégie / placement, mais ya aussi une grande partie réflexe / précision.
Un bout de pied apparait à l'écran ? Il faut quelques dixièmes de secondes à un bon joueur pour "comprendre" qu'un ennemie est en face, quelques dixièmes de secondes de plus pour viser / tirer.
Dans le même cas une IA est capable de "comprendre" la situation / viser / tirer en quelques µs (avec une précision de 100%; il ne ratera jamais sa cible).
C'est tellement déséquilibré de ce coté que ça doit permettre de combler les lacunes (si lacunes il y a) coté stratégie.

Pour un fps en équipe, la partie stratégie à plus d'importance, mais tout dépend où on limite la communication entre IA : une IA n'est pas limité par la vitesse à laquelle elle parle (contrairement à un humain); énormément d'infos peuvent être partagées. Une IA ne connait pas non plus le phénomène "heu attend je peux pas parler là, j'suis concentré".
Pour rajouter à ce qu'a montré bibird, croire qu'une IA n'a pas de limite vis à vis du traitement de l'information est une hérésie. Elle n'est, certes, pas limitée par la vitesse de la parole, vu qu'elle n'a pas besoin de parler pour communiquer, mais elle a toujours besoin de traiter l'information qu'elle obtient, et là dessus on essaye de comparer une machine qui :
- soit a un ensemble de règles phénoménales à traiter à chaque frame pour établir son prochain mouvement, ce qui prend du temps,
- soit à une technique style réseau de neurones qui, certes, est efficace mais n'en reste pas moins qu'une approximation à la baisse d'un vrai cerveau parce que ça prend aussi du temps.

Comparer un joueur pro avec une machine sur la seule base des propriétés machine vs. humaine n'amène donc qu'à favoriser l'humain. Par contre, une machine ne connaît pas la fatigue, et vu que les informations utiles d'une partie peuvent être encodée de manière bien plus efficace pour la machine que pour l'homme, cela permet un traitement plus rapide pour l'entraînement de la machine. D'où sa supériorité potentielle même sur le pro. Mais pour cela, encore faut-il avoir trouvé un encodage efficace desdites données avec un algorithme capable de l'exploiter, et avoir laissé le temps à la machine pour atteindre un tel niveau. La dernière partie est la plus simple, tout le travail des chercheurs étant de trouver la première.

A titre d'exemple, AlphaGo utilise différentes techniques dédiées, ce qui le rend incapable de faire autre chose que jouer au Go. Et pourtant, ce n'est pas quelques milliers de parties qu'il a joué, comme un pro humain, mais des millions. Compare sa rentabilité (performance acquise / nombre de parties) à celle de l'humain, et tu verras que l'Homme est encore loin au dessus.

Qu'on me comprenne bien, mon avis est aussi que la question n'est pas "si" mais "quand", par contre cela ne se justifie pas juste parce que c'est une machine, et donc matériellement c'est plus efficace qu'un humain. Ce n'est pas vrai. L'être humain traite des données d'une certaine manière, la machine d'une autre. Il faut trouver le bon encodage avec le bon algorithme pour cela. Mais pas de palier franchit pour autant : l'algorithme et l'encodage seront prévus pour cette tâche en particulier, et ne sera en rien généralisable à tous les autres domaines. Comme d'habitude, on fera une expertise artificielle, pas une intelligence artificielle.
2  0 
Avatar de commandantFred
Membre habitué https://www.developpez.com
Le 09/10/2016 à 14:16
Citation Envoyé par Matthieu Vergne Voir le message
Compare sa rentabilité (performance acquise / nombre de parties) à celle de l'humain, et tu verras que l'Homme est encore loin au dessus.
La question ne devrait pas se poser. L'humain n'est pas "au dessus". Il n'a aucun équivalent numérique à ce jour.

La partie est truquée par la conception même du jeu qui a été spécialement prévue pour abuser un cerveau avec des effets visuels absents des données de jeu brutes (positions, vitesses, angles)

C'est la raison de mon intervention ici. Même si ce n'est pas dit clairement, on laisse entendre qu'il y aurait un rapport entre ces IA et l'humain et on laisse supposer que si l'IA gagne à DooM, elle peut conduire une voiture...

Cet amalgame est quelque part scandaleux.

Les réseaux de neurones et la brute force ont pas mal de points communs , en particulier, ils gèrent une base de donnée dynamique d'objets reconnus[1] qui est renseignée par un process d'apprentissage. On peut ensuite lancer un datacenter complet sur des millions de parties d'apprentissage et le tour est joué.

Je rappelle qu'une IA basée sur une BDD issue d'un apprentissage auto a un comportement strictement statistique. Le jeu n'est pas évalué en tant que jeu. Le moteur 3D est scanné de borne à borne de façon aussi exhaustive que possible. Tout le travail d'illusionniste des auteurs est ignoré, seules les limites du moteur intéressent l'IA.

Il y a maldonne.

Un joueur humain joue pour s'immerger, se divertir, se faire des sueurs froides, bref, il aime l'illusion qu'on lui donne.
L'IA joue pour gagner et ses concepteurs cherchent à faire parler d'eux dans la presse. L'illusion n'existe plus, le spectacle n'a pas de sens ici.

Toute conclusion sur ce prétendu challenge homme machine est hautement hasardeuse.

[1] EDIT : La brute force remplace généralement la BDD par une fonction d'évaluation qui va retourner un nombre décrivant le rapport des forces à l'issue d'un coup joué. BDD et fonction d'eval sont du traitement déporté difficile à maintenir et quasi impossible à étalonner au regard des priorités (pex : protections des personnes ou respect des lois..)
2  0 
Avatar de ustensile
Membre régulier https://www.developpez.com
Le 07/10/2016 à 9:56
Y'a déjà des IAs dans le trading haute fréquence, ce serait bien d'en mettre là où il y en a vraiment besoin, chez les politiques, à la TV etc
1  0 
Avatar de LapinGarou
Membre confirmé https://www.developpez.com
Le 07/10/2016 à 9:58
Une IA à la place de Hollande... Ca laisser rêveur M'enfin si elle est formée par les politiques, elle fera tout pareil. Comme attendre la fin du quinquennat pour se bouger et faire genre elle est toujours active...

Comment l'agent sait que ce qu'il "voit" est bien ?
Si sur 10 joueurs, 9 campent et gagnent, est ce que pour lui c'est "bien" ?
1  0 
Avatar de hotcryx
Membre extrêmement actif https://www.developpez.com
Le 07/10/2016 à 10:12
car il sait par définition que camper c'est mal.

Il a aussi des infos pré-établies comme: courir, marcher, sauter, ne pas tirer sur ces coéquipiés, être performant, ne pas se tuer, être discret, ne pas camper ou camper plus de 10 sec...

Certaines sont dans les règles des serveurs.

Aux échecs classiques, la tour se déplace verticalent et horizontalement... => règles.
1  0 
Avatar de marsupial
Expert confirmé https://www.developpez.com
Le 07/10/2016 à 10:13
Lorsque la théorie de la relativité a été découverte, avec l'IA nous, êtres humains, n'aurions peut-être pas décidé de commencer à l'utiliser pour en faire une arme bien trop puissante pour nous. Maintenant que cette arme existe, cette branche de développement bloque pour avancer vers d'autres applications plus utiles à notre bien du fait de restrictions liées à sa dangerosité.

L'IA constituera, je l'espère, une aide à la décision grâce à des modélisations pour faire nos choix et maîtriser notre destin.

Gouverner, c'est prévoir. Pas espionner les masses.

Domaine d'application immédiat dans le système capitaliste : la finance. Comme éviter une galéjade façon subprimes.
Beaucoup de travail en perspective et de ressources nécessaires pour son utilisation : données(Cloud), puissance de calcul (quantique), espace de stockage, réseau, et ... sécurité évidemment. Sans oublier beaucoup de développement
1  0 
Avatar de athlon64
Membre confirmé https://www.developpez.com
Le 07/10/2016 à 13:05
bonjour,

les géants de l'informatique ont mis en place des systèmes d'intelligence artificielle dont certains sont ouvert au public.

Les systèmes les plus performants dont on dispose aujourd'hui sont des IA basées sur les réseaux de neurones, plus particulièrement le deep learning.

C'est ce type de système qui a battu Lee Sedol au jeu de Go.

Jusque là le processus d'apprentissage était un peu lourd car il fallait disposer d'une machine puissante, pour éviter d'attendre des mois...

Ben de nos jours non seulement des algos performants sont dispos sur le net mais également, les machines sont devenus puissantes.

Je ne parle pas vraiment de la puissance du CPU qui est ridicule à proprement dit, mais des APU, disons CPU+GPU+FPGA+DSP etc. Rien qu'avec le calcul GPU le gain de temps est immense(10x-100x)

Bref ça ne m’étonnerait pas que les IA nous battent à DOOM, les IA ne peuvent de toute façon que progresser, alors que chez les humains, quand on voit le contenu des émissions à la télé ou

les tendances de recherches Google, on a des doutes.

Après concernant cette évolution de l'IA je ne sais pas ce que ça va donner, imaginez déjà un idot qui entraîne un robot tueur et le lâche dans la nature... Ou encore une voiture à conduite autonome qui va perpétrer tout seul des .

Quand je vois l'état du monde aujourd'hui, je dis le futur craint...
1  0