Blogue de recherche vectorielle : Apprentissage par renforcement basé sur un modèle pondéré par le gradient de valeur

23 juin 2022

Rechercher

23 juin 2022

Les blogues de recherche de Vector offrent des explications concises et accessibles des recherches novatrices menées au sein de la communauté de recherche de Vector. Ils sont rédigés par des étudiants, des postdoctorants, des professeurs et des membres affiliés de l'Institut Vector.

Claas Voelcker , Victor Liao , Animesh Garg , Amir-massoud Farahmand

ICLR 2022 (article phare)

papier , code

Avec l'essor des méthodes d'approximation de fonctions puissantes et flexibles, l'apprentissage par renforcement basé sur un modèle (MBRL) a connu un essor considérable ces dernières années. Le principe du MBRL est intuitif : (a) utiliser les données issues de 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 : Schéma de l'algorithme DYNA. Ce modèle sert à générer des données supplémentaires pour la formation de l'agent RL.

Bien qu'intuitive, cette approche peut s'avérer insuffisante lorsqu'on reçoit des informations sensorielles multimodales à haute résolution. Dans ce cas, l'agent risque d'observer une plus grande partie du monde que nécessaire à l'accomplissement de sa tâche ; la création d'un modèle prédictif de l'environnement complet peut alors s'avérer plus complexe que la tâche elle-même.

Dans la plupart des approches MBRL, le modèle d'environnement est obtenu par l'objectif du maximum de vraisemblance, souvent via une perte de reconstruction où le modèle tente de prédire la prochaine observation rencontrée par un agent à partir de ses observations et actions précédentes. Cependant, si l'observation comporte de nombreuses dimensions superflues, l'objectif du maximum de vraisemblance est inefficace, car une grande partie de la capacité du modèle est alors consacrée à l'approximation de la complexité totale de l'espace d'observation.

Notre proposition principale est de régulariser l'apprentissage du modèle en fonction de la sensibilité de la fonction de valeur aux 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. 

Quand un modèle est-il incompatible ?

Légende : Pour la conduite automobile, il est important de distinguer les éléments importants des éléments non importants de l’environnement. Bien qu'il soit crucial d'anticiper la probabilité de voir des piétons traverser la chaussée, les nuages ​​dans le ciel ne sont que des distractions.

Ce phénomène est appelé « inadéquation des objectifs » : le modèle ignore tout de la tâche que l’agent tente d’accomplir et aucune information relative à cette tâche n’est réinjectée dans son apprentissage. Les objectifs de l’agent (« obtenir une récompense élevée ») et du modèle (« minimiser l’erreur de reconstruction ») ne sont pas nécessairement alignés. Face à ce problème, on se heurte rapidement à un dilemme : l’une des hypothèses fondamentales de la prise de décision est qu’on ignore comment résoudre la tâche ; sinon, l'apprentissage du modèle n'aurait aucun sens. Or, un modèle précis de l'environnement est indispensable pour résoudre la tâche. Comment, dès lors, réinjecter des informations sur la tâche dans le modèle avant de l’avoir résolue ?

Légende : À gauche, les prédictions 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 aucun changement dans la prédiction de la fonction de valeur ; aucune erreur n'est donc répercutée. Dans l'image en bas à droite, l'erreur du modèle provoque une différence dans la fonction de valeur, et l'erreur est donc propagée à l'algorithme d'apprentissage par renforcement.

Dans leurs articles « Apprentissage de modèles tenant compte de la valeur » et « Apprentissage de modèles itératif tenant compte de la valeur », Farahmand et al. présentent deux solutions potentielles au problème. En analysant l'utilisation du modèle dans un algorithme Dyna, ils montrent que le modèle n'influence la politique que par le biais 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 correspond à l'environnement réel, l'agent d'apprentissage par renforcement 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 aux petites variations de l'espace d'états, la prédiction de valeur résultante peut être très erronée. Partant de ce constat, Farahmand et al. proposent de remplacer la perte d'apprentissage du modèle par une perte mesurant la différence de la fonction de valeur.

Cela règle-t-il le problème d'inadéquation des objectifs ?

Bien que les fondements théoriques de l'approche VAML soient rigoureux, lorsqu'on applique naïvement l'algorithme en pratique, deux problèmes surgissent rapidement. 

(1) Dans de nombreux environnements d'apprentissage par renforcement, on ne peut supposer que l'espace d'états soit entièrement exploré lors des premières itérations. Cela signifie qu'il existe de nombreux états possibles pour lesquels nous n'avons pas de données pour apprendre une fonction de valeur. Cependant, un approximateur de fonction attribuera quand même une valeur à ces points, en interpolant à partir de points précédemment observés dans l'ensemble d'entraînement, ce qui aboutit souvent à des valeurs aberrantes. Lorsque le modèle prédit qu'un état suivant se situe dans une région inexplorée de l'espace d'états, la perte VAML ne le pénalisera pas pour cette prédiction erronée si les fonctions de valeur concordent. 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'un optimum local de la prédiction de la fonction de valeur. Lors de la mise à jour de la fonction de valeur, les prédictions dans les régions de l'espace d'états non couvertes par les données évoluent souvent rapidement, ce qui provoque 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 ni convexe ni lisse ; elle présente des plateaux et des crêtes qui rendent l'optimisation de la perte VAML difficile. L'image ci-dessous illustre la fonction de valeur de l'environnement Pendulum. La non-régularité de la fonction est visible par les deux crêtes abruptes. Lorsque des fonctions de valeur non lisses sont associées à des estimations de valeur hors distribution (problème n° 1), cela peut engendrer des normes de gradient très élevées et une divergence rapide de la procédure de descente de gradient utilisant cette estimation.

Apprentissage de modèles tenant compte du gradient de valeur

Légende : Comparaison visuelle de toutes les fonctions de valeur abordées.

Pour résoudre le problème d'inadéquation des modèles sans introduire de nouveaux défis d'optimisation, nous soutenons qu'une bonne fonction de perte du modèle doit posséder trois propriétés :

  1. Il s'agit de minimiser l'erreur de prédiction de la valeur selon le modèle. C'est ce qu'on appelle la prise en compte de la tâche.
  2. Cela ne devrait pas mener à des modèles prédisant des états futurs en dehors de la région couverte par les données. Cela garantit la stabilité de l'approximation de la fonction.
  3. Le processus devrait être relativement fluide. Ça facilite l'optimisation.

Notre idée principale est d'intégrer la fonction de valeur à la fonction de perte afin de mesurer la sensibilité des erreurs du modèle aux différents points de données et dimensions d'observation. Pour ce faire, nous calculons une approximation convexe de la fonction de valeur autour de chaque point de données en prenant son approximation de Taylor au premier ordre (au carré).

Cela nous permet de mesurer la sensibilité de la fonction de valeur aux distorsions de l'espace d'états. Si le gradient de la fonction de valeur est faible dans une dimension donnée, l'impact des erreurs de prédiction du modèle sera relativement faible. Inversement, dans les régions à gradient élevé, la prédiction de la fonction de valeur varie rapidement ; le modèle doit donc mesurer ces dimensions avec plus de précision. Mathématiquement, le gradient nous permet d'ajouter une régularisation locale, dépendante de la fonction de valeur, à la perte L2 dans l'espace d'états pour chaque point de données. 

Nous appelons la fonction de perte la perte du modèle pondéré par le gradient de valeur (VaGraM).

Est-ce que ça aide vraiment en pratique ?

La théorie sous-jacente à VaGraM et VAML nous indique qu'une fonction de perte alignée sur les valeurs est particulièrement importante lorsque le modèle ne parvient pas à saisir toute la complexité de l'environnement, ou lorsqu'il existe des dimensions non pertinentes dans l'espace d'états pour la tâche de contrôle. Afin de vérifier que VaGraM améliore effectivement les performances d'un algorithme d'apprentissage par renforcement (RL) de pointe, nous avons mené deux expériences principales : 

(a) VaGraM est-il utile lorsque le modèle ne convient pas ?

Nous avons utilisé l'environnement de contrôle DM Hopper et l'optimisation de politique basée sur un modèle (MBPO). Nous avons remplacé la fonction de perte MLE dans MBPO par VaGraM et réduit graduellement la taille du modèle afin d'en limiter les performances. Les performances de la solution de vraisemblance maximale ont rapidement diminué à mesure que le modèle diminuait, tandis que celles de la version augmentée par VaGraM sont restées stables.

(b) VaGraM est-il utile lorsque le modèle est difficile à ajuster en raison d'observations perturbatrices ?

Nous avons ajouté des dimensions superflues à l'espace d'états en suivant un système dynamique non linéaire indépendant. Cet environnement s'est avéré très complexe, et les performances de MBPO et de VaGraM ont rapidement chuté avec l'augmentation du nombre de dimensions parasites. Néanmoins, VaGraM a réussi à stabiliser le modèle Hopper et à progresser malgré la présence de 15 dimensions parasites, tandis que la solution MLE a vu ses performances chuter au niveau d'une politique aléatoire.

Des expériences complémentaires ont révélé que VaGraM offre des performances équivalentes à celles de MBPO dans tous les environnements de contrôle DM, et même supérieures sur le benchmark Ant. Nous supposons que l'espace d'états d'Ant n'est pas parfaitement adapté au problème de contrôle, ce qui démontre que des fonctions de perte prenant en compte la tâche peuvent améliorer les performances, même dans des environnements où l'on ne s'attendait pas initialement à ce que l'espace d'états et d'observations contienne des informations superflues.

Si vous souhaitez utiliser et étendre VaGraM, la mise en œuvre de la fonction de perte principale est étonnamment simple et peut être intégrée à la plupart des cadres d'apprentissage profond avec un seul passage de rétropropagation supplémentaire à travers le réseau de fonction de valeur.

Voici le code de la fonction de perte utilisant la bibliothèque JAX :