Apprentissage par renforcement profond
From Wikipedia, the free encyclopedia
L'apprentissage par renforcement profond (en anglais : deep reinforcement learning ou deep RL) est un sous-domaine de l'apprentissage automatique (en anglais : machine learning) qui combine l'apprentissage par renforcement et l'apprentissage profond (en anglais : deep learning). L'apprentissage par renforcement considère le problème d'un agent informatique (par exemple, un robot, un agent conversationnel, un personnage dans un jeu vidéo, etc.) qui apprend à prendre des décisions par essais et erreurs. L'apprentissage par renforcement profond intègre l'apprentissage profond dans la résolution, permettant aux agents de prendre des décisions à partir de données d'entrée non structurées sans intervention manuelle sur l'espace des états. Les algorithmes d'apprentissage par renforcement profond sont capables de prendre en compte de très grandes quantités de données (par exemple, chaque pixel affiché à l'écran dans un jeu vidéo) et de décider des actions à effectuer pour optimiser un objectif (par exemple, maximiser le score du jeu). L'apprentissage par renforcement profond a été utilisé pour diverses d'applications, y compris, de manière non exhaustive, la robotique, les jeux vidéo, le traitement du langage naturel, la vision par ordinateur, l'éducation, les transports, la finance et la santé[1].
L'apprentissage profond

L'apprentissage profond est une forme d'apprentissage automatique utilisant réseaux de neurones artificiels transformant les données via des réseaux neuronaux convolutifs[Quoi ?]. Il a été démontré que les méthodes d'apprentissage profond, utilisant souvent l'apprentissage supervisé avec des ensembles de données étiquetés, se sont avérées capable de résoudre des tâches impliquant le traitement de données d'entrée brutes complexes et de grande dimension, telles que des images, avec moins de prétraitement manuel que les méthodes précédemment utilisées, ce qui a permis des progrès significatifs dans plusieurs domaines, notamment vision par ordinateur et traitement automatique du langage naturel (TALN).

L'apprentissage par renforcement
L'apprentissage par renforcement est un processus dans lequel un agent apprend à prendre des décisions à partir d'expérimentations et d'erreurs. Ce problème est souvent modélisé mathématiquement comme un processus de décision Markovien (MDP), où, à chaque unité de temps, un agent se trouvant dans un état réalise une action , reçoit une récompense scalaire , et passe à l'état suivant selon la dynamique de l'environnement . L'agent tente d'apprendre une politique , ou correspondance des observations aux actions, afin de maximiser ses retours (somme des récompenses attendues). Dans l'apprentissage par renforcement (par opposition au contrôle optimal), l'algorithme n'a accès qu'à la dynamique par le biais de l'échantillonnage.
Apprentissage profond par renforcement
Dans de nombreux problèmes pratiques de prise de décision, l'ensemble des états des processus de décision Markovien est de grande dimension (par exemple, les images d'une caméra ou le flux des capteurs d'un robot) ne peuvent pas être résolus par les algorithmes d'apprentissage par renforcement traditionnels. Les algorithmes d'apprentissage par renforcement profond intègrent un apprentissage profond pour résoudre de tels processus de décision Markovien, représentant souvent la politique ou d'autres fonctions apprises via des réseaux de neurones, et développer des algorithmes spécialisés qui fonctionnent bien dans ce contexte.
Historique
Parallèlement à l'intérêt croissant pour les réseaux de neurones à partir du milieu des années 1980, l'intérêt s'est accru pour l'apprentissage par renforcement en profondeur, où un réseau de neurones est utilisé dans l'apprentissage par renforcement pour représenter des politiques ou des fonctions de valeur. Parce que dans un tel système, l'ensemble du processus de prise de décision, des capteurs aux moteurs dans un robot ou un agent, implique un seul réseau de neurones, il est aussi parfois appelé apprentissage par renforcement de bout en bout. L'une des premières applications réussies de l'apprentissage par renforcement avec les réseaux de neurones était TD-Gammon, un programme informatique développé en 1992 pour jouer au backgammon[2]. Quatre entrées ont été utilisées pour le nombre de pièces d'une couleur donnée à un endroit donné sur la carte, totalisant 198 signaux d'entrée. Sans aucune connaissance intégrée, le réseau a appris à jouer au jeu à un niveau intermédiaire par auto-apprentissage et apprentissage par différence temporelle( ).
Les manuels séminaux de Sutton et Barto sur l'apprentissage par renforcement[3], Bertsekas et Tsitiklis sur la programmation neuro-dynamique[4], et d'autres[5] progresser les connaissances et l'intérêt dans le domaine.
Le groupe de Katsunari Shibata a montré que diverses fonctions émergent dans ce cadre[6],[7], notamment la reconnaissance d'images, la constance des couleurs, le mouvement des capteurs (reconnaissance active), la coordination œil-main et le mouvement de la main, l'explication des activités du cerveau, le transfert de connaissances, la mémoire[8], l'attention sélective, la prédiction et l'exploration[7],[9].
À partir d'environ 2012, la révolution dite de l'apprentissage en profondeur a suscité un intérêt accru pour l'utilisation des réseaux de neurones profonds comme approximateurs de fonctions dans une variété de domaines. Ce qui a conduit à un regain d'intérêt pour la recherche dans le domaine de l'utilisation des réseaux de neurones profonds pour apprendre la politique, la valeur et/ou les fonctions Q présentes dans les algorithmes d'apprentissage par renforcement existants.
À partir de 2013, DeepMind a montré des résultats d'apprentissage impressionnants en utilisant l'apprentissage par renforcement profond pour jouer aux jeux vidéo Atari[10],[11]. L'ordinateur joueur un réseau de neurones formé à l'aide d'un algorithme d'apprentissage de renforcement en profondeur, une version profonde de Q-learning qu'ils ont appelée Deep Q-networks (DQN), avec le score du jeu comme récompense. Ils ont utilisé un réseau de neurones convolutifs profonds pour traiter 4 pixels RVB (84x84) en tant qu'entrées. Les 49 jeux ont été appris en utilisant la même architecture de réseau et avec des connaissances préalables minimales, surpassant les méthodes concurrentes sur presque tous les jeux et performant à un niveau comparable ou supérieur à celui d'un testeur de jeu humain professionnel[11].
L' apprentissage de renforcement en profondeur a franchi une autre étape en 2015 lorsque AlphaGo[12], un programme informatique entrainé avec l'apprentissage par renforcement profond pour jouer au jeu de Go, est devenu le premier programme informatique du jeu de Go d'ordinateur pour battre un joueur professionnel humain sans handicap sur un plateau de taille réél 19 × 19. Dans un projet ultérieur en 2017, AlphaZero a amélioré les performances sur le jeu de Go tout en démontrant qu'ils pouvaient utiliser le même algorithme pour apprendre à jouer aux échecs et au shogi à un niveau compétitif ou supérieur aux programmes informatiques existants pour ces jeux, et s'est encore amélioré en 2019 avec MuZero[13]. Séparément, une autre étape a été franchie par des chercheurs de l'Université Carnegie Mellon en 2019 en développant Pluribus, un programme informatique pour jouer au poker qui a été le premier à battre les professionnels lors de parties multijoueurs de Texas Hold'em sans limite. OpenAI Five, un programme permettant de jouer à cinq contre cinq au Dota 2 a battu les précédents champions du monde lors d'un match de démonstration en 2019.
L'apprentissage par renforcement profond a également été appliqué à de nombreux domaines autre que les jeux. En robotique, il a été utilisé pour permettre aux robots d'effectuer des tâches ménagères simples[14] et de résoudre un Rubik's cube avec une main robotisé[15],[16]. L'apprentissage par renforcement profond a également trouvé des applications en matière de durabilité, utilisées pour la réduction de la consommation d'énergie dans les centres de données[17]. L'utilisation de l'apprentissage par renforcement profond pour la conduite autonome est un domaine de recherche actif dans les milieux universitaires et l'industriels[18]. Loon a exploré ll'apprentissage par renforcement profond pour naviguer pour la navigation autonome de ses ballons à haute altitude[19].
Algorithmes
Il existe différentes techniques pour entraîner des politiques afin de résoudre des tâches avec des algorithmes d'apprentissage par renforcement en profondeur, chacune ayant leurs propres avantages. Au niveau plus élevé, il existe une distinction entre l'apprentissage par renforcement basé sur un modèle et l'apprentissage par renforcement sans modèle, qui fait référence au fait que l'algorithme tente ou non d'apprendre un modèle prévisionnel de la dynamique de l'environnement.
Dans les modèles de base algorithmes d'apprentissage par renforcement profond, un modèle avancé de la dynamique de l'environnement est estimé, généralement par apprentissage supervisé à l'aide d'un réseau de neurones. Ensuite, les actions sont obtenues en utilisant le commande prédictive du modèle utilisant le modèle appris. Comme la dynamique réelle de l'environnement diverge généralement de la dynamique apprise, l'agent replanifie souvent lorsqu'il effectue des actions dans l'environnement. Les actions sélectionnées peuvent être optimisées à l'aide de méthodes de Monte Carlo telles que la méthode d'entropie croisée, ou une combinaison de l'apprentissage par modèle avec des méthodes sans modèle.
Dans les algorithmes d'apprentissage par renforcement profond sans modèle, une politique est apprise sans modéliser explicitement la dynamique avant. Une politique peut être optimisée pour maximiser les rendements en estimant directement le gradient de politique[20], mais elle souffre d'une variance élevée, ce qui la rend peu pratique pour une utilisation de l'approximation de fonction en Deep RL. Des algorithmes ultérieurs ont été développés pour un apprentissage plus stable et largement appliqués[21],[22]. Une autre classe d'algorithmes d'apprentissage par renforcement profond sans modèle s'appuie sur la programmation dynamique, inspirée de l'apprentissage par différence temporelle et du Q-learning. Dans les espaces d'action discrets, ces algorithmes apprennent généralement une fonction Q de réseau de neurones qui estime les rentabilités futurs en prenant des actions de l'état [23]. Dans les espaces continus, ces algorithmes apprennent souvent à la fois une estimation de valeur et une politique[24],[25],[26].