Blog sur la recherche vectorielle : Apprentissage par renforcement basé sur un modèle pondéré par le gradient de valeur
23 juin 2022
23 juin 2022
23 juin 2022
Les blogs de recherche Vector offrent des explications courtes et non techniques sur les recherches innovantes menées au sein de la communauté de recherche Vector. Ils sont rédigés par des étudiants de l'Institut Vecteur, des post-doctorants, des membres de la faculté et des affiliés.
Claas Voelcker, Victor Liao, Animesh Garg, Amir-massoud Farahmand
ICLR 2022 (document d'information)
Avec l'essor de l'approximation de fonction puissante et flexible, l'apprentissage par renforcement basé sur un modèle (MBRL) a gagné beaucoup de terrain ces dernières années. L'idée centrale du MBRL est intuitive : (a) utiliser les données obtenues par l'interaction en ligne d'un agent avec son environnement, (b) construire un modèle de substitution de cet environnement, et (c) utiliser ce modèle pour améliorer les capacités de planification de l'agent.
Légende : Esquisse de l'algorithme DYNA. Le modèle est utilisé pour générer des données supplémentaires pour la formation de l'agent RL.
Bien qu'intuitive, cette approche peut s'avérer difficile lorsque nous obtenons des informations sensorielles multimodales et à haute résolution. Dans ce cas, l'agent peut observer plus du monde qu'il n'est nécessaire pour accomplir sa tâche ; la création d'un modèle prédictif de l'environnement complet peut en fait s'avérer plus difficile que la tâche elle-même.
Dans la plupart des approches MBRL, le modèle d'environnement est obtenu à partir de l'objectif du maximum de vraisemblance, souvent par le biais d'une perte de reconstruction où le modèle tente de prédire la prochaine observation qu'un agent rencontrera sur la base de ses observations et actions précédentes. Toutefois, si l'observation contient de nombreuses dimensions superflues, l'objectif du maximum de vraisemblance est inefficace, car une grande partie de la capacité du modèle est consacrée à l'approximation de la complexité totale de l'espace d'observation.
Notre proposition clé est de régulariser l'apprentissage du modèle par la sensibilité de la fonction de valeur pour différentes entrées. Intuitivement, si la fonction de valeur n'est pas influencée par la modification de l'observation, le modèle n'a pas besoin d'être précis.
Légende : Pour la conduite d'une voiture, il est important de différencier les éléments importants de l'environnement de ceux qui ne le sont pas. S'il est très important de prévoir la probabilité que des piétons s'engagent sur la route, les nuages dans le ciel ne sont que des distractions.
Ce phénomène a été appelé "inadéquation des objectifs" : le modèle ne sait rien de la tâche que l'agent tente de résoudre et aucune information provenant de la tâche n'est transmise à l'apprentissage du modèle. Les objectifs de l'agent ("obtenir une récompense élevée") et du modèle ("obtenir une erreur de reconstruction faible") ne sont pas nécessairement alignés. En essayant de résoudre ce problème, nous nous trouvons rapidement face à un dilemme : l'une des hypothèses fondamentales qui sous-tendent la prise de décision est que nous ne savons pas comment résoudre la tâche, sinon nous ne ferions pas d'apprentissage de modèle en premier lieu. Nous avons besoin d'un modèle précis de l'environnement avant de pouvoir résoudre la tâche, alors comment pouvons-nous réinjecter des informations sur la tâche dans le modèle avant de la résoudre ?
Légende : À gauche, les prévisions du modèle sont correctes. À droite, elles sont erronées. Dans l'image en haut à droite, la prédiction du modèle n'entraîne pas de changement dans la prédiction de la fonction de valeur, de sorte qu'aucune erreur n'est renvoyée. Dans le coin inférieur droit, l'erreur du modèle entraîne une différence dans la fonction de valeur, de sorte que l'erreur est transmise à l'algorithme RL.
Dans leurs articles "Value-aware model learning" et "Iterative value-aware model learning", Farahmand et al. présentent deux solutions potentielles au problème. En analysant la manière dont le modèle est utilisé dans un algorithme Dyna, ils montrent que le modèle n'influence la politique que par l'intermédiaire de sa fonction de valeur. Cela signifie que même si la prédiction du modèle est erronée, tant que la prédiction de la fonction de valeur s'aligne sur l'environnement réel, l'agent RL n'est pas affecté par l'erreur du modèle. Inversement, même si le modèle ne commet qu'une petite erreur, si la fonction de valeur est très sensible à de petits changements dans l'espace d'état, la prédiction de valeur qui en résulte peut être très erronée. À la suite de cette observation, Farahmand et al. proposent de remplacer la perte d'apprentissage du modèle par une perte qui mesure la différence dans la fonction de valeur.
Bien que les fondements théoriques de l'approche VAML soient rigoureux, l'application naïve de l'algorithme dans la pratique fait rapidement apparaître deux problèmes.
(1) Dans de nombreux environnements RL, nous ne pouvons pas supposer que l'espace d'état est entièrement exploré dans les premières itérations, ce qui signifie qu'il existe de nombreux états possibles pour lesquels nous ne disposons pas de données permettant d'apprendre une fonction de valeur. Cependant, un approximateur de fonction attribuera quand même une valeur à ces points, en interpolant à partir de points vus précédemment dans l'ensemble d'apprentissage, ce qui aboutit souvent à des valeurs absurdes. Lorsque le modèle prédit qu'un état suivant se trouve dans une région inexplorée de l'espace des états, la perte VAML ne le pénalisera pas pour avoir prédit un état complètement erroné si les fonctions de valeur s'alignent. Dans certains cas, elle peut même pousser la prédiction plus loin dans les régions inexplorées, simplement parce qu'elle ne cherche qu'à trouver un optimum local de la prédiction de la fonction de valeur. Lorsque la fonction de valeur est mise à jour, les prédictions dans les régions de l'espace d'état qui ne sont pas couvertes par les données changent souvent rapidement, ce qui entraîne soudainement des erreurs de prédiction de la fonction de valeur très importantes lors de l'utilisation des données du modèle.
(2) Le deuxième problème concerne la régularité de la fonction de valeur et la perte VAML qui en résulte. Dans de nombreuses applications courantes, la fonction de valeur n'est pas convexe ou lisse, présentant des plateaux et des crêtes qui rendent la perte VAML difficile à optimiser. L'image ci-dessous montre la fonction de valeur de l'environnement Pendulum. La nature non lisse de la fonction se manifeste par deux crêtes marquées. Lorsque des fonctions de valeur non lisses sont associées à des estimations de valeur hors distribution (problème n° 1), il peut en résulter des normes de gradient massives et la procédure de descente de gradient subséquente utilisant cette estimation peut diverger rapidement.
Légende : Comparaison visuelle de toutes les fonctions de valeur examinées.
Pour résoudre le problème de l'inadéquation des modèles sans introduire de nouveaux défis d'optimisation, nous soutenons qu'une bonne perte de modèle doit avoir trois propriétés :
Notre principale idée est d'inclure la fonction de valeur dans la perte en tant que mesure de la sensibilité des erreurs de modèle pour différents points de données et dimensions d'observation. Pour l'estimer, nous calculons une approximation convexe de la fonction de valeur autour de chaque point de données en prenant son approximation de Taylor du premier ordre (au carré).
Cela nous donne une mesure de la sensibilité de la fonction de valeur aux distorsions de l'espace d'état. Si le gradient de la fonction de valeur est faible dans une dimension spécifique, l'impact des erreurs de prédiction du modèle sera relativement faible. Inversement, dans les régions où le gradient est élevé, la prédiction de la fonction de valeur change rapidement, de sorte que le modèle doit mesurer ces dimensions avec plus d'attention. En termes mathématiques, le gradient nous permet d'augmenter la perte L2 dans l'espace d'état par une régularisation locale dépendant de la fonction de valeur pour chaque point de données.
Nous appelons cette fonction de perte la perte du modèle pondéré par la valeur et le rapport (VaGraM).
La théorie qui sous-tend VaGraM et VAML nous indique qu'une fonction de perte alignée sur la valeur devrait être plus importante dans les scénarios où le modèle est insuffisant pour capturer toute la complexité de l'environnement, ou dans les cas où il y a des dimensions non pertinentes dans l'espace d'état pour la tâche de contrôle. Pour vérifier que VaGraM augmente effectivement les performances d'un algorithme RL basé sur un modèle de pointe, nous avons mené deux expériences principales :
(a) VaGraM est-il utile lorsque le modèle ne s'ajuste pas ?
Nous avons pris l'environnement de contrôle DM populaire Hopper et l'optimisation de la politique basée sur un modèle (MBPO). Nous avons remplacé la perte MLE dans MBPO par VaGraM et diminué progressivement la taille du modèle pour limiter sa capacité. La performance de la solution du maximum de vraisemblance s'est rapidement détériorée à mesure que le modèle devenait plus petit, tandis que la performance de la version augmentée de VaGraM est restée stable.
(b) VaGraM est-il utile lorsque le modèle est difficile à ajuster en raison d'observations parasites ?
Nous avons ajouté des dimensions superflues à l'espace d'état d'un système dynamique non linéaire indépendant. Cet environnement s'est avéré très difficile, et les performances de MBPO et de VaGraM ont chuté rapidement avec l'augmentation du nombre de dimensions distrayantes. Néanmoins, VaGraM a réussi à stabiliser la trémie et à avancer un peu lorsqu'elle a été confrontée à 15 dimensions distrayantes, tandis que la solution MLE s'est effondrée pour atteindre les performances d'une politique aléatoire.
D'autres expériences ont montré que VaGraM est capable d'obtenir des résultats équivalents à ceux de MBPO dans tous les environnements de contrôle de DM, et qu'il est même plus performant que lui dans le benchmark Ant. Nous émettons l'hypothèse que l'espace d'état de Ant n'est pas parfaitement adapté au problème de contrôle, ce qui montre que les pertes axées sur les tâches peuvent permettre d'obtenir de meilleures performances même dans des environnements où nous ne nous attendions pas à ce que l'espace d'état et d'observation contienne des informations superflues.
Si vous souhaitez utiliser et développer VaGraM, l'implémentation de la fonction de perte principale est étonnamment facile et peut être incluse dans la plupart des cadres d'apprentissage profond avec seulement un passage supplémentaire de rétropropagation à travers le réseau de la fonction de valeur.
Voici le code de la fonction de perte utilisant la bibliothèque jax :