Nom : Inconnu, Pseudonyme : Agent57, Sexe : inconnu, Profession : Joueur(euse) de jeux vidéos, Employeur : Google. 

Si cet individu suscite votre curiosité c’est qu’il (ou elle) a réussi son pari. Tout simplement parce que l’Agent57 n’est autre que la nouvelle intelligence artificielle de Google, ou plutôt de sa filiale de Recherche et Développement DeepMind basée à Londres. 

Mardi dernier, DeepMind publiait les résultats de l’expérimentation de l’Agent57 et on peut dire que cette IA fait plutôt bien son job. La présence du mot “Agent” est là pour souligner qu’il représente un système agent, quant au nombre 57, il signifie que l’IA arrive à jouer, mais surtout à gagner 57 jeux vidéos d’Atari. Évident notre Agent a réussi, non seulement à gagner à l’ensemble de ces jeux, mais également réaliser des scores supérieurs à ceux des humains. Ces jeux en question sont une suite de jeux d’arcade, que l’entreprise française (oui oui, Atari a été rachetée par un groupe français en 2008) à mis en place en 2012, issus de sa série Atari 2600 baptisée Atari57. Ces 57 jeux ont donc constitué un environnement d’apprentissage pour toutes les IA au point d’en devenir une plateforme d’évaluation the Arcade Learning environment

Avant d’entrer dans le vif du sujet, revenons rapidement aux bases de l’Intelligence Artificielle et essayons de comprendre pourquoi DeepMind s’amuse à faire jouer aux IA des jeux vidéos.

Vous avez dit “Intelligence Artificielle” ?

Il faut savoir que l’Intelligence Artificielle est une discipline de l’informatique qui consiste à tenter de reproduire l’intelligence humaine à partir de théories et techniques mathématiques. Pour votre culture générale, on a commencé à parler d’IA dans les années 50 avec les travaux d’Alan Turing, notamment sa publication Computing Machinery and Intelligence ayant abouti au Test de Turing. Travaux au cours desquels il a tenté savoir si une machine pouvait être “consciente”. L’objectif de l’IA est de faire en sorte que la machine arrive à apprendre d’elle-même. De ce fait, elle pourra potentiellement trouver des liens que nous-mêmes, Êtres humains, n’aurions pas trouvé tout seuls. La différence avec un algorithme classique est que celui-ci exécute (bêtement et simplement) une suite d’instructions éditées par les équipes d’ingénieurs. Or l’IA, de son côté, peut être en totale autonomie. (Bon ok, elle a parfois besoin d’être supervisée afin de s’assurer qu’elle continue de bien faire son travail…) 

Depuis les années 50, l’IA a nettement progressé. De nouvelles théories et techniques ont été développées au point d’en faire naître des sous-disciplines telles que le Machine Learning ou le Deep Learning (qui est lui-même une sous discipline du Machine Learning). Le ML, ou Apprentissage Automatique (également appelé Apprentissage Statistique) en Français, a pour but de prédire des réponses à des problématiques complexes en mettant en corrélation plusieurs situations dans un ou plusieurs environnements donnés. Cela se fait notamment grâce à des algorithmes utilisant des techniques statistiques pour traiter d’énormes quantités de données. Ces réponses peuvent être par exemple la prédiction “d’un fait” à partir d’une suite d’événements comme la prévision du cours d’une action financière, ou par exemple la capacité à nous suggérer et recommander des produits qui pourraient susciter notre intérêt sur un site de e-commerce car d’autres clients ayant un profil similaire au nôtre l’ont également acheté. Des exemples d’application du Machine Learning, il y en a des milliers. Nous vous invitons à aller les découvrir sur Internet. 

Ici ce qui nous intéresse, c’est le Deep Learning ou Apprentissage Profond en Français. Sous discipline du ML, le DL a pour objectif de regrouper plusieurs méthodes du ML, mais avec des algorithmes bien plus puissants. Ceux-ci reproduisent un réseau de neurones artificiels en s’inspirant fortement des neurones humains. Ce réseau de neurones artificiels utilise alors les fortes capacités de calcul des machines pour imiter le réseau de neurones humains. Grâce à lui, on va pouvoir effectuer des algorithmes de reconnaissance visuelle (vidéos et images), mais également des algorithmes de reconnaissance vocale (sons) ou de reconnaissance textuelle (pour faire de la traduction automatique par exemple). Voilà la force du Deep Learning.

Un réseau de neurones qui reproduit un cerveau humain c’est bien, mais un réseau de neurones formé c’est mieux. Il existe plusieurs méthodes pour que celui-ci apprenne ce qu’on souhaite lui faire faire. Les 4 méthodes les plus connues sont : 

  • L’apprentissage supervisé
  • L’apprentissage non supervisé
  • L’apprentissage semi supervisé
  • L’apprentissage par renforcement

Ici nous ne détaillerons pas l’ensemble des types d’apprentissage, cela prendrait bien trop de temps et ferait l’objet d’un article à part. Toutefois, nous nous attarderons rapidement sur le type d’apprentissage qui nous intéresse : l’apprentissage par renforcement. 

L’objectif de ce dernier est de partir sur une base vierge de données (pas de données initiales d’entraînement donc) tout en laissant l’algorithme (le système agent) apprendre de lui-même au fur et à mesure de son expérience. Pour faire simple, il reproduit exactement de la même manière les méthodes d’apprentissage d’un Être humain. De plus, pour parfaire son apprentissage, à l’instar des humains, lorsqu’il réussit une tâche ou une étape, il s’octroie une récompense. De ce fait, pour chaque tâche à effectuer le système agent saura si oui ou non il a pris la bonne décision. 

Mais qu’est ce que viennent faire les jeux vidéos là-dedans ?

La réponse est toute simple (et logique). Deep Mind les utilisent car les environnements virtuels et les jeux sont des plateformes idéales pour concevoir et tester des algorithmes d’IA. Les jeux sont encore plus pratiques pour l’apprentissage car la plupart ont des scores, ce qui facilite la mesure des progrès. Ce qui nous donne d’un côté un système agent qui a besoin d’avoir une récompense selon les choix et les actions qu’il a effectué, et d’un autre un environnement qui lui fournit un score à partir… de ses choix et ses décisions. Parfait non ? 

De manière générale lorsqu’on fait jouer une IA à un jeu, elle fonctionne par étapes. Si nous prenons l’exemple d’Alphago (le programme informatique qui a battu le champion de monde de Go en 2016, Lee Sedol), voici les 3 étapes :

En première couche, nous avons le réseau stratégique. Le système agent s’entraîne en observant des parties jeux faites par des professionnels du jeu de Go. De ce fait, grâce à ces différents niveaux de jeu élevés, le réseau stratégique permet 3 choses :

  1. Découvrir les règles de jeu
  2. Comprendre ces règles du jeu pour essayer de ne pas perdre et tenter d’être aussi bon qu’un être humain
  3. Développer de nouvelles stratégies pour maximiser ses chances de gagner.
Google IA AI Intelligence Artificielle Alphago Deep Learning
Le réseau stratégique d’Alphago expliqué par DeepMind. 
Source : DeepMind 

En seconde couche, nous avons le réseau de valeurs. L’objectif ici est d’évaluer les différentes positions du joueur et de calculer la probabilité de victoire pour chacune d’entre elle afin d’estimer la meilleure situation.

Google IA AI Intelligence Artificielle Alphago Deep Learning
Le réseau de valeurs d’Alphago expliqué par DeepMind. 
Source : DeepMind 

Le troisième et dernier point est l’arbre de recherche. Il a pour but d’analyser l’ensemble des différentes variations de la partie afin d’estimer, grâce à de la probabilité, ce qu’il va se produire dans le jeu. De ce fait, en prenant la meilleur alternative, il permet au système agent de maximiser ses chances de gain.

Google IA AI Intelligence Artificielle Alphago Deep Learning
Explication des multiples possibilités de situation dans le jeu de Go, par DeepMind. 
Source : DeepMind

Maintenant que nous avons vu la base nous permettant de comprendre comment est-ce que les systèmes agents opèrent et pourquoi choisir les jeux vidéos, nous pouvons nous concentrer sur l’Agent57 et sa performance sur la série de jeux Atari57.

Atari 2600 alias Atari57

L’objectif d’Agent57 est de réussir à gagner sur l’ensemble des jeux d’Atari (pour rappel, il y en a 57). Ainsi, pour que l’IA ait des performances générales supérieures à un humain, le système agent n’a pas forcément besoin d’exceller sur tous les jeux. Son but n’est pas d’être à des années lumières de la performance humaine mais être simplement au dessus de leurs résultats. 

DeepMind nous donne cet exemple : 

  • Considérons un point de référence composé de vingt tâches à effectuer. 
  • Supposons que le système agent A obtient un score de 500% sur huit tâches, 200% sur quatre tâches et 0% sur huit tâches (moyenne = 240%, médiane = 200%). 
  • Tandis que le système agent B obtient un score de 150% sur toutes les tâches (moyenne = médiane = 150%). 

De manière générale, on remarque qu’en moyenne (et en médiane), le système agent A fonctionne mieux que le système agent B. Cependant, le système agent B possède une capacité plus générale : il obtient des performances au niveau humain sur plus de tâches que le système agent A. Là où ce dernier excelle vraiment sur 8 tâches et est très bon sur 4 tâches, ce même système agent est totalement mauvais sur les 8 dernières. 

Google IA AI Intelligence Artificielle Agent57 Atari Deep Learning
Illustration de la performance moyenne et de la médiane des deux systèmes agents pris en tant qu’exemples.
Source : DeepMind

Pour en revenir aux jeux d’évaluation Atari, il est nécessaire de noter que les 57 jeux de l’Arcade Learning Environment d’Atari n’ont pas forcément les mêmes difficultés, ni le même temps de partie. 

Savoir d’où l’on vient pour savoir où l’on va

(Psst : Préparez vous, on va vulgariser 8 années de recherches sur les réseaux de neurones artificiels mais pas de panique ! On va y aller tranquillement !)

Pour comprendre les performances d’Agent57, revenons 8 ans en arrière. En 2012, DeepMind a développé le système agent Deep Q-network (DQN) pour s’attaquer à ces mêmes jeux Atari57. Depuis lors, la communauté des chercheurs a développé de nombreuses extensions et alternatives au DQN. Ce système agent utilisait alors une méthode dite “d’exploitation”. Ce qui signifie que DQN apprenait bien de ses erreurs mais n’allait pas “plus loin” que ce qu’il connaissait. Il manquait une part d’une autre méthode appelée “l’exploration”. 

Nous parlons de jeux vidéos. Quand vous jouez à des jeux vidéos, vous avez deux types de comportements : 

  • Vous avez d’une part le comportement d’exploitation où vous retrouvez des situations, des contextes, et des environnements que vous connaissez, que vous maîtrisez. Dans ces moments là vous appliquerez ce que votre expérience vous a appris.
  • Puis vous avez d’autre part le comportement exploratoire. Celui-ci fait office de découverte. Vous êtes dans l’inconnu total, vous découvrez et vous construisez votre apprentissage à partir de vos expériences. 

Dites vous bien que concernant les systèmes agents, il s’agit à peu près de la même chose, sauf que DQN n’était doté que d’un comportement d’exploitation. 

(Psst, pour des soucis pratiques, nous ne développerons pas l’ensemble des schémas bien compliqués qui suivent mais seulement quelques aspects.)

Google IA AI Intelligence Artificielle Agent57 Atari Deep Learning
Timeline d’Agent57, partie de DQN.
Source : DeepMind

Ce n’est qu’en 2015 que DQN a mis en avant deux aspects qui méritaient d’être développés pour les prochains systèmes agents : le double DQN et les systèmes distribués. 

Le Double DQN est technique permettant d’augmenter considérablement les performances du système agent. Cela se déroule essentiellement via l’amélioration notable de l’efficacité en améliorant l’algorithme. 

Les systèmes distribués : l’une des plus grandes évolutions. Grâce à celui-ci, les systèmes agents peuvent être maintenant exécutées simultanément sur de nombreux ordinateurs (sur plusieurs environnements). Cela leur permet de jouer en même temps et donc de s’entraîner en même temps. Logiquement, ils obtiennent de l’expérience bien plus rapidement que les systèmes agents qui sont exécutés de manière simple sur un seul environnement. Cela signifie que l’Agent57 pourra jouer à un jeu A sur l’ordinateur A, jouer au jeu B sur l’ordinateur B, jouer au jeu C sur l’ordinateur C, etc… le tout en même temps !

A la suite de DQN, DeepMind a développé son amélioration nommée R2D2, non pas pour Star Wars, mais pour Recurrent Replay Distributed DQN. Ce système agent est le fruit d’une combinaison entre un réseau neuronal sans réseau stratégique distribué avec un réseau neuronal doté d’une mémoire à court terme. 

Cette mémoire sert aux systèmes agents à prendre en compte les observations précédentes dans leurs choix et leurs décisions. Ils pourront ainsi utiliser les observations passées, en plus des observations actuelles, pour agréger l’ensemble des informations et améliorer le processus de prise de décision dans l’environnement dans lequel ils se trouvent. Dans son post, DeepMind prenait cet exemple : “Imaginez, par exemple, une tâche où un système agent doit se déplacer de pièce en pièce au sein d’un bâtiment pour compter le nombre de chaises.

Google IA AI Intelligence Artificielle Agent57 Atari Deep Learning
Timeline d’Agent57, partie de R2D2. Source : DeepMind

Sans mémoire, l’agent ne peut compter que sur l’observation d’une seule pièce, il ne saura pas combien il y avait de chaises dans les pièces précédentes. Avec la mémoire, l’agent peut alors se souvenir du nombre de chaises dans les pièces dans lesquelles il est passé et simplement ajouter le nombre de chaises qu’il observe dans la pièce actuelle pour obtenir la réponse et donc, résoudre la tâche.”

Google IA AI Intelligence Artificielle Agent57 Atari Deep Learning
Timeline d’Agent57, partie de Never Give Up.
Source : DeepMind

L’année dernière, DeepMind a développé le système agent Never Give Up (NGU) pour faire évoluer R2D2 avec une autre forme de mémoire : la mémoire épisodique. Grâce à elle, NGU peut savoir si des nouvelles parties du jeu ont été rencontrées. Si tel est le cas, NGU ira explorer ces nouvelles parties pour rechercher des récompenses et donc… augmenter son score. 

Grâce aux mémoires, NGU peut alors aller visiter de nouvelles parties du jeu et donc aller à la recherche de nouvelles récompenses tant sur le long terme (sur une partie entière) que sur le court terme (le temps d’un épisode de jeu). Cette partie s’appelle la motivation intrinsèque et fait partie des techniques d’exploration que nous allons rapidement détailler ci-dessous. 

Comme nous en parlions plus haut, les techniques d’exploration sont directement inspirées du comportement exploratoire. (Psst, pour rappel c’est celui qui fait office de découverte. Il nous permet de découvrir et de faire notre propre apprentissage à partir de notre expérience, notre vécu.) Or dans l’apprentissage par renforcement, le dilemme principal est le problème d’exploitation – exploration. On ne sait pas s’il faut se baser sur des comportements que nous connaissons et que nous maîtrisons (l’exploitation) ou s’il faut continuer d’explorer et accroître notre expérience sans forcément s’attendre à quelque chose en retour (l’exploration) ? Comme l’explique DeepMind, si la stratégie du jeu est d’obtenir le maximum de points dans un jeu, est-ce qu’il ne faudrait pas plutôt privilégier le comportement par exploitation ? À l’inverse, le comportement par exploration nous permettra peut-être de trouver une stratégie encore plus efficace et d’engranger encore plus de points pour atteindre plus facilement notre objectif. Si vous souhaitez un exemple parlant, celui de DeepMind est tout trouvé : Devrait-on toujours commander leur même plat préféré dans un restaurant local, ou essayer quelque chose de nouveau qui pourrait surpasser l’ancien favori ? Sacré dilemme donc.

C’est ce qu’a réussi à faire l’Agent57. Pour ce faire, DeepMind a combiné le système agent Never Give Up avec la nouveauté d’Agent57 : le Meta-controller. L’objectif de cet technologie est de pouvoir trouver le juste milieu entre l’exploitation et l’exploration. De ce fait, l’Agent57 est capable de trouver un compromis entre les deux concernant ses performances tant sur le court, que sur le long terme. Le système agent peut donc appliquer la meilleure stratégie entre exploiter ce qu’il connait déjà via sa mémoire ou explorer de nouveaux états.

Google IA AI Intelligence Artificielle Agent57 Atari Deep Learning
Timeline d’Agent57, partie finale.
Source : DeepMind

Agent57 est également doté d’une amélioration concernant certains jeux longs. Ces derniers nécessitent une attribution de crédits se matérialisant par la collecte d’informations essentielles au déroulement du jeu et donc utilisables ou capitalisables au bout d’un certain temps seulement. Ces crédits sont différents des récompenses au sens propre du terme. C’est leur accumulation qui mène aux récompenses. En s’améliorant sur le côté attribution de crédits, Agent57 a réussi à dépasser le niveau humain sur l’ensemble des jeux présentant ces caractéristiques.

Google IA AI Intelligence Artificielle Agent57 Atari Deep Learning
Timeline complète d’Agent57
Source : DeepMind

Au final, qu’en retenir ?

Si nous devons retenir quelque chose de cette étude d’après DeepMind, c’est la capacité d’expérimentation et d’amélioration considérable des systèmes agents, ainsi que la performance d’Agent57 couplée à la méthode employée par l’entreprise de Londres. L’Agent57 a pu gagner en performance grâce à l’augmentation notable des quantités de calcul. Ses performances étaient (logiquement) indexées sur son temps d’apprentissage. C’est comme s’il s’agissait d’un sportif de haut niveau : plus Agent57 s’entraîne, plus son score augmente. Bien évidemment, cela ne serait jamais arrivé sans les fortes puissances de calcul des machines qui permettant son entraînement, ni sans l’efficacité et la pertinence des données issues des jeux. 

D’après DeepMind, même si l’Agent57 dépasse considérablement les performances R2D2 et NGU, ce dernier aurait pu fournir de meilleurs résultats s’il s’était entraîné plus longtemps sur les jeux dans lesquels il n’a pas eu d’excellents scores. De ce fait, il est évident que les systèmes agents peuvent encore progresser. En reprenant les améliorations et évolutions d’Agent57, sur le meta-controller impactant sa capacité d’exploration et d’attribution de crédit, DeepMind pourra créer un système agent qui excellera (ou presque) sur tous les jeux.

CQFD : L’IA améliore l’IA.

Google IA AI Intelligence Artificielle Alphago Deep Learning