Réponse courte
Le 19 décembre 2013, la jeune pousse londonienne DeepMind a mis en ligne un article montrant un seul réseau de neurones qui a appris à jouer à sept jeux Atari 2600 avec seulement les pixels de l’écran et le score, sans aucune règle propre aux jeux, battant toutes les méthodes antérieures sur six jeux et un expert humain sur trois. Il combinait l’apprentissage profond et l’apprentissage par renforcement, qui apprend par essais et récompenses, et a lancé le domaine qu’on appelle maintenant l’apprentissage par renforcement profond.
Question de suivi Qu’est-ce que l’apprentissage par renforcement, et où l’utilise-t-on en dehors des jeux?
Imaginez qu’on vous tende une console de jeu que vous n’avez jamais vue, sans mode d’emploi, en vous disant seulement : « Regarde l’écran, appuie sur les boutons et essaie de faire monter le nombre dans le coin. » C’est à peu près le défi qu’une petite entreprise londonienne appelée DeepMind a posé à un programme informatique en 2013. Son programme a appris de cette façon à jouer à Pong, à Breakout et à d’autres classiques d’Atari, et à plusieurs jeux, il a fini par jouer mieux qu’un expert humain.
L’article, « Playing Atari with Deep Reinforcement Learning », a été mis en ligne le 19 décembre 2013. Ses sept auteurs, menés par Volodymyr Mnih, travaillaient chez DeepMind Technologies. L’agent qu’ils décrivaient est devenu connu sous le nom de réseau Q profond (deep Q-network), ou DQN, le nom employé dans la version plus complète parue dans la revue Nature en février 2015.
Ce que le programme a fait
L’équipe a utilisé l’Arcade Learning Environment, un outil de recherche qui fait tourner dans un ordinateur les jeux de la console de salon Atari 2600, des titres des années 1970 et 1980. Elle a choisi sept titres bien connus : Pong, Breakout, Space Invaders, Seaquest, Beam Rider, Enduro et Q*bert.
Le programme voyait exactement ce que voit un joueur : l’image à l’écran. Il recevait le score comme seule rétroaction et pouvait appuyer sur les mêmes boutons qu’un joueur. Personne ne lui a dit ce qu’étaient une raquette, une balle ou un ennemi. La même architecture de réseau et les mêmes réglages d’apprentissage ont servi pour tous les jeux.
Les résultats : DQN a surpassé toutes les méthodes d’apprentissage antérieures sur six des sept jeux, et obtenu un score supérieur à celui d’un expert humain sur trois : Breakout, Enduro et Pong. À Breakout, son score moyen était de 168, contre 31 pour l’humain. Il restait toutefois loin des scores humains à Q*bert, à Seaquest et à Space Invaders.
Comment il fonctionnait
DQN réunit deux idées.
La première est l’apprentissage par renforcement : apprendre par essais et erreurs à partir de récompenses. Le programme essaie des actions, voit ce qui arrive au score et préfère peu à peu les actions qui rapportent. Une version classique, le Q-learning, tient une estimation appelée valeur Q pour chaque situation et chaque action : « Si je suis ici et que je fais ceci, combien de récompense puis-je espérer à partir de maintenant, en comptant ce qui viendra plus tard? »
La deuxième est l’apprentissage profond. Les écrans d’Atari peuvent afficher beaucoup trop d’images différentes pour qu’on tienne une table de valeurs Q pour chacune. DeepMind a donc utilisé un réseau de neurones convolutif, le type de réseau qui venait de transformer la reconnaissance d’images, pour regarder l’écran et estimer d’un coup la valeur Q de chaque bouton.
Une étape de jeu se déroulait ainsi :
- Prendre les quatre dernières images, les convertir en niveaux de gris et les réduire à 84 sur 84 pixels. Empiler quatre images permet au réseau de voir le mouvement, par exemple dans quelle direction va la balle.
- Les fournir au réseau, qui produit une valeur prédite pour chaque action possible.
- Choisir habituellement l’action de plus grande valeur; parfois en choisir une au hasard, pour continuer d’explorer. Au début de l’entraînement, il agit toujours au hasard, et cette proportion descend à 10 % du temps au cours du premier million d’images.
- Noter ce qui s’est passé : l’écran avant, l’action, la récompense, l’écran après.
- Stocker cette note dans une grande mémoire et entraîner le réseau sur une poignée d’anciennes notes tirées au hasard.
Cette dernière astuce, appelée rejeu d’expérience (experience replay), était essentielle. Apprendre à partir de moments consécutifs est instable, parce que chaque image ressemble presque à la précédente. Brasser une mémoire d’un million d’images récentes donne au réseau un mélange varié, un peu comme un élève qui révise de vieilles cartes-éclair au lieu de relire la dernière page. Chaque jeu a été entraîné sur 10 millions d’images.
À essayer : jouez à un jeu simple en ligne que vous n’avez jamais essayé, sans lire les instructions. Notez combien d’essais il vous faut avant de comprendre ce qui rapporte des points. Cet écart entre appuyer sur des boutons et comprendre le but est exactement ce que DQN a dû apprendre à combler.
Pourquoi c’était important
Avant DQN, l’apprentissage par renforcement fonctionnait surtout quand des ingénieurs concevaient à la main les caractéristiques qu’un programme devait remarquer. DQN a montré qu’un seul système pouvait apprendre ses propres caractéristiques directement à partir des pixels, et le faire dans des jeux différents. La version de 2015 parue dans Nature a étendu le test à 49 jeux Atari, avec un seul algorithme et un seul ensemble de réglages, et a atteint un niveau comparable à celui d’un testeur de jeux professionnel humain sur l’ensemble.
Ces travaux ont aussi changé le destin de DeepMind. Ils auraient aidé à convaincre Google d’acheter l’entreprise en janvier 2014. Le même mélange de réseaux profonds et d’apprentissage par renforcement a ensuite propulsé AlphaGo, qui a battu le champion de go Lee Sedol 4 à 1 en mars 2016, et AlphaZero, qui a appris seul le go, les échecs et le shogi. En 2020, Agent57 de DeepMind a dépassé la référence humaine sur les 57 jeux de la suite Atari.
Qu’est-ce que l’apprentissage par renforcement, et où l’utilise-t-on en dehors des jeux?
L’apprentissage par renforcement, c’est apprendre de ses conséquences. Au lieu qu’on lui montre les bonnes réponses, comme dans la plupart des systèmes de reconnaissance d’images, un agent agit dans un environnement, reçoit des récompenses ou des pénalités, et ajuste son comportement pour accumuler plus de récompenses avec le temps. L’idée remonte loin : Alan Turing a proposé en 1948 d’instruire les machines avec des signaux de « plaisir » et de « douleur », et l’article de Nature sur DQN signale des parallèles avec le fonctionnement des signaux de dopamine dans le cerveau des animaux.
Les jeux sont des bancs d’essai populaires parce que le score est une récompense claire et qu’un simulateur peut faire tourner des millions de parties à peu de frais. En dehors des jeux, l’usage le plus visible est la robotique. Des chercheurs de Google, par exemple, ont fait faire à des bras robotisés des centaines de milliers de tentatives de préhension pour qu’ils apprennent seuls, par l’expérience, à saisir des objets. Toute tâche qui forme une longue chaîne de décisions avec un objectif mesurable est une candidate.
La partie difficile, c’est la récompense. Un jeu vous donne un score; le monde réel le fait rarement. Définir une récompense qui reflète ce que les gens veulent vraiment, sans récompenser les raccourcis, est l’un des grands problèmes ouverts du domaine, et cela compte d’autant plus que les systèmes d’apprentissage prennent en charge de vraies tâches.
Sources
- Playing Atari with Deep Reinforcement Learning — arXiv (DeepMind Technologies), 19 décembre 2013
- Human-level control through deep reinforcement learning — Nature, 25 février 2015
- DeepMind — Wikipedia (archived January 2021), 15 janvier 2021