PDDM - Nouvel algorithme d'apprentissage par renforcement basé sur un modèle avec planificateur avancé


L'apprentissage par renforcement est divisé en deux grandes classes: sans modèle et à base de modèle. Dans le premier cas, les actions sont optimisées directement par le signal de récompense, et dans le second, le réseau neuronal n'est qu'un modèle de réalité, et les actions optimales sont sélectionnées à l'aide d'un ordonnanceur externe. Chaque approche a ses avantages et ses inconvénients.


Les développeurs de Berkeley et de Google Brain ont présenté l'algorithme PDDM basé sur un modèle avec un ordonnanceur amélioré, qui vous permet d'apprendre efficacement des mouvements complexes avec un grand nombre de degrés de liberté dans un petit nombre d'exemples. Pour apprendre à faire tourner des balles dans un bras robotisé avec des articulations de doigts réalistes avec 24 degrés de liberté, il n'a fallu que 4 heures de pratique sur un vrai robot physique.


L'apprentissage par renforcement est la formation de robots avec un signal de récompense. C'est semblable à la façon dont les êtres vivants apprennent. Mais le problème est compliqué par le fait qu'on ne sait pas comment changer les poids du réseau neuronal de sorte que ses actions proposées conduisent à une augmentation des récompenses. Par conséquent, dans l'apprentissage par renforcement, les méthodes de formation de réseau de neurones conventionnelles ne conviennent pas. Après tout, on ne sait pas exactement ce qu'elle devrait donner à sa sortie, ce qui signifie qu'il est impossible de trouver une erreur entre sa prédiction et l'état réel des choses. Pour ignorer cette différence à travers les couches du réseau neuronal et modifier les poids entre les neurones pour minimiser cette erreur. Il s'agit d'un algorithme classique de rétropropagation enseigné par les réseaux de neurones.


Par conséquent, les scientifiques ont inventé plusieurs façons de résoudre ce problème.


Sans modèle


L'une des approches les plus efficaces était le modèle acteur-critique. Laisser un réseau neuronal (acteur) à son entrée recevoir l'état de l'environnement de l'état, et à la sortie, émettre des actions qui devraient conduire à une augmentation des récompenses. Jusqu'à présent, ces actions sont aléatoires et dépendent simplement du flux de signaux au sein du réseau, car le réseau neuronal n'a pas encore été formé. Et le deuxième réseau neuronal (critique), laisse l'entrée également recevoir l'état de l'environnement d'état, mais aussi les actions de la sortie du premier réseau. Et à la sortie, ne laissez que la récompense prévue, qui sera reçue si ces actions sont appliquées.


Maintenant, surveillez vos mains: nous ne savons pas quelles devraient être les meilleures actions à la sortie du premier réseau, ce qui entraînerait une augmentation de la récompense. Par conséquent, en utilisant l'algorithme de propagation inverse, nous ne pouvons pas le former. Mais le deuxième réseau neuronal peut très bien prédire la valeur exacte de la récompense (ou plutôt, généralement son changement), qu'il recevra si des actions sont maintenant appliquées. Prenons donc le gradient de changement d'erreur du deuxième réseau et appliquons-le au premier! Ainsi, vous pouvez former le premier réseau neuronal par la méthode classique de propagation arrière d'erreur. Nous prenons simplement l'erreur non pas des sorties du premier réseau, mais des sorties du second.


En conséquence, le premier réseau neuronal apprend à émettre des actions optimales conduisant à une augmentation des récompenses. Parce que si le critique critique a fait une erreur et a prédit une récompense inférieure à ce qu'elle s'est avérée être en réalité, alors le gradient de cette différence va déplacer les actions de l'acteur dans la direction afin que le critique prédit plus précisément la récompense. Et cela signifie vers des actions plus optimales (après tout, cela conduira au fait que le critique prédit avec précision une récompense plus élevée). Un principe similaire fonctionne dans la direction opposée: si le critique surestime la récompense attendue, la différence entre l'attente et la réalité réduira les sorties d'actions du premier réseau neuronal, ce qui a conduit à cette indication de récompense surestimée du deuxième réseau.


Comme vous pouvez le voir, dans ce cas, les actions sont optimisées directement par le signal de récompense. C'est l'essence commune de tous les algorithmes sans modèle dans l'apprentissage par renforcement. Ils sont à la pointe de la technologie en ce moment.


Leur avantage est que des actions optimales sont recherchées par descente de gradient, donc, finalement, les plus optimales sont trouvées. Ce qui signifie montrer le meilleur résultat. Un autre avantage est la possibilité d'utiliser de petits réseaux de neurones (et donc plus faciles à apprendre). Si, parmi toute la variété des facteurs environnementaux, certains sont spécifiques pour résoudre le problème, la descente de gradient est tout à fait capable de les identifier. Et utilisez pour résoudre le problème. Ces deux avantages ont assuré le succès des méthodes directes sans modèle.


Mais ils ont aussi des inconvénients. Étant donné que les actions sont enseignées directement par le signal de récompense, de nombreux exemples de formation sont nécessaires. Des dizaines de millions, même pour des cas très simples. Ils travaillent mal sur des tâches avec un grand nombre de degrés de liberté. Si l'algorithme ne parvient pas immédiatement à identifier les facteurs clés dans le paysage de grande dimension, il n'apprendra probablement pas du tout. Les méthodes sans modèle peuvent également exploiter les vulnérabilités du système, en se concentrant sur une action non optimale (si la descente du gradient y converge), en ignorant d'autres facteurs environnementaux. Pour des tâches sans modèle, même légèrement différentes, les méthodes doivent être entièrement réentraînées.


Basé sur un modèle


Les méthodes basées sur un modèle dans l'apprentissage par renforcement sont fondamentalement différentes de l'approche décrite ci-dessus. Dans Model-Based, un réseau de neurones ne prédit que ce qui va se passer ensuite. Ne proposant aucune action. C'est-à-dire qu'il s'agit simplement d'un modèle de réalité (d'où le «modèle» - basé sur le nom). Et pas du tout un système de prise de décision.


Les réseaux de neurones basés sur des modèles sont alimentés par l'état actuel de l'environnement d'état et les actions que nous voulons effectuer. Et le réseau neuronal prédit la façon dont l'état changera à l'avenir après l'application de ces actions. Elle peut également prédire quelle récompense sera le résultat de ces actions. Mais cela n'est pas nécessaire, car la récompense peut généralement être calculée à partir d'un état bien connu. De plus, cet état de sortie peut être réinjecté à l'entrée du réseau neuronal (avec les nouvelles actions proposées), et ainsi prédire de manière récursive les changements dans l'environnement externe de nombreux pas en avant.


Les réseaux de neurones basés sur des modèles sont très faciles à apprendre. Puisqu'ils prédisent simplement comment le monde va changer, sans faire de suggestions quelles actions optimales devraient être pour que la récompense augmente. Par conséquent, le réseau neuronal basé sur un modèle utilise tous les exemples existants pour sa formation, et pas seulement ceux qui entraînent une augmentation ou une diminution des récompenses, comme c'est le cas dans Model-Free. C'est la raison pour laquelle les réseaux de neurones basés sur des modèles ont besoin de beaucoup moins d'exemples de formation.


Le seul inconvénient est que le réseau neuronal basé sur un modèle devrait étudier la dynamique réelle du système et devrait donc avoir une capacité suffisante pour cela. Un réseau neuronal sans modèle peut converger sur des facteurs clés, ignorant le reste, et donc être un petit réseau simple (si la tâche est en principe résolue par moins de ressources).


Un autre grand avantage, en plus de la formation sur un plus petit nombre d'exemples, est qu'en tant que modèle universel du monde, un seul réseau neuronal basé sur un modèle peut être utilisé pour résoudre un certain nombre de problèmes dans ce monde.


Le problème principal de l'approche basée sur un modèle est de savoir quelles actions les actions doivent être appliquées à l'entrée des réseaux de neurones? Après tout, le réseau neuronal lui-même n'offre aucune action optimale.


Le moyen le plus simple consiste à traverser un tel réseau neuronal des dizaines de milliers d'actions aléatoires et à choisir celles pour lesquelles le réseau neuronal prédira la plus grande récompense. Il s'agit d'un apprentissage par renforcement classique basé sur un modèle. Cependant, avec de grandes dimensions et de longues chaînes de temps, le nombre d'actions possibles s'avère trop important pour les trier toutes (ou même deviner au moins un peu optimal).


Pour cette raison, les méthodes basées sur un modèle sont généralement inférieures à celles sans modèle, qui par descente de gradient convergent directement vers les actions les plus optimales.


Une version améliorée applicable aux mouvements en robotique n'est pas d'utiliser des actions aléatoires, mais de conserver le mouvement précédent, ajoutant de l'aléatoire à la distribution normale. Comme les mouvements des robots sont généralement fluides, cela réduit le nombre de bustes. Mais en même temps, un changement important et important peut être manqué.


L'option de développement finale pour cette approche peut être considérée comme l'option CEM, qui n'utilise pas une distribution normale fixe qui introduit le caractère aléatoire dans le chemin actuel des actions, mais sélectionne les paramètres de la distribution aléatoire en utilisant l'entropie croisée. Pour ce faire, une population de calculs d'actions est lancée et les meilleurs d'entre eux sont utilisés pour affiner la diffusion des paramètres dans la prochaine génération. Quelque chose comme un algorithme évolutif.


PDDM


Une si longue introduction était nécessaire pour expliquer ce qui se passe dans le nouvel algorithme d'apprentissage par renforcement proposé basé sur un modèle PDDM. Après avoir lu un article sur le blog Berkeley AI (ou une version étendue ), et même l'article original arxiv.org/abs/1909.11652 , cela n'était peut-être pas évident.


La méthode PDDM répète l'idée de CEM lors du choix des actions aléatoires qui doivent être exécutées via un réseau neuronal basé sur un modèle afin de sélectionner les actions avec la récompense prévisible la plus élevée. Ce n'est qu'au lieu de sélectionner des paramètres de distribution aléatoire, comme cela se fait dans CEM, que PDDM utilise une corrélation temporelle entre les actions et une règle plus souple pour mettre à jour la distribution aléatoire. La formule est donnée dans l'article d'origine. Cela vous permet de vérifier un plus grand nombre d'actions appropriées sur de longues distances, surtout si les mouvements nécessitent une coordination précise. De plus, les auteurs de l'algorithme filtrent les candidats pour les actions, obtenant ainsi une trajectoire plus fluide des mouvements.


En termes simples, les développeurs ont simplement proposé une meilleure formule pour choisir des actions aléatoires à tester dans l'apprentissage par renforcement classique basé sur un modèle.


Mais le résultat était très bon.


En seulement 4 heures d'entraînement sur un vrai robot, un robot à 24 degrés de liberté a appris à tenir deux balles et à les faire tourner dans les paumes sans les faire tomber. Un résultat inaccessible pour toutes les méthodes modernes sans modèle avec un si petit nombre d'exemples.


Fait intéressant, pour la formation, ils ont utilisé un deuxième bras de robot à 7 degrés de liberté, qui a ramassé les balles tombées et les a renvoyées au bras du robot principal:



En conséquence, après 1-2 heures, le roboruk pouvait tenir les balles en toute confiance et les déplacer dans la paume de sa main, et 4 heures étaient suffisantes pour un entraînement complet.



Faites attention aux mouvements de contraction des doigts. Il s'agit d'une caractéristique des approches basées sur un modèle. Les actions envisagées étant choisies au hasard, elles ne coïncident pas toujours avec les optimales. L'algorithme sans modèle pourrait potentiellement converger vers des mouvements fluides vraiment optimaux.


Cependant, l'approche basée sur un modèle permet avec un réseau de neurones formé de modéliser le monde pour résoudre différents problèmes sans recyclage. Il y a plusieurs exemples dans l'article, par exemple, vous pouvez facilement changer le sens de rotation des boules dans la main (dans Model-Free, vous devrez réentraîner le réseau neuronal pour cela). Ou tenez le ballon à un endroit précis dans la paume de votre main, en suivant le point rouge.



Vous pouvez également faire en sorte que Roboruk dessine des trajectoires arbitraires avec un crayon, ce qui est une tâche très difficile pour les méthodes sans modèle.



Bien que l'algorithme proposé ne soit pas une panacée, et ne soit même pas un algorithme d'IA au sens plein du mot (dans PDDM, le réseau neuronal remplace simplement le modèle analytique, et les décisions sont prises par recherche aléatoire avec une règle délicate qui réduit le nombre d'énumération des options), il peut être utile en robotique. Puisqu'il a montré une amélioration notable des résultats et est formé sur un très petit nombre d'exemples.

Source: https://habr.com/ru/post/fr470179/


All Articles