Apprentissage d’une hiérarchie

Nous avons mis au point un algorithme d’apprentissage par renforcement hiérarchique capable d’apprendre des actions génériques permettant d’effectuer rapidement diverses tâches nécessitant des milliers d’étapes. Appliqué à un ensemble de problèmes de navigation, notre algorithme découvre une série d’actions génériques permettant d’avancer et de progresser dans différentes directions, ce qui permet à l’agent de maîtriser rapidement de nouvelles tâches de navigation.
Les êtres humains résolvent les défis complexes en les décomposant en éléments plus simples. Par exemple, la préparation de pancakes implique en réalité une série d’actions génériques, comme mesurer la farine, battre les œufs, verser l’appareil dans la poêle, allumer le feu, etc. Les êtres humains sont capables d’apprendre de nouvelles tâches rapidement en enchaînant ces composants appris, même si ces tâches impliquent des millions d’actions de base, comme la contraction d’un muscle par exemple.
A contrario, nos méthodes d’apprentissage par renforcement actuelles testent des actions de base par force brute et nécessitent donc un nombre considérable de tentatives pour accomplir une nouvelle tâche. Ces méthodes se montrent hautement inefficaces pour exécuter des tâches qui demandent un grand nombre d’étapes.
Notre solution repose sur le concept d’apprentissage par renforcement hiérarchique, selon lequel les agents se représentent les comportements complexes sous la forme d’une séquence courte d’actions génériques. Nos agents sont ainsi capables d’effectuer des tâches bien plus difficiles. Si la solution nécessite 2 000 actions de base, la politique hiérarchique les transforme en 10 actions génériques. Hors, il est bien plus efficace de tester une séquence de 10 étapes que de 2 000 étapes.

Notre algorithme, meta-learning shared hierarchies (MLSH), apprend une politique hiérarchique dans laquelle une politique principale fait un choix entre une série de politiques secondaires. La politique principale sélectionne une action toutes les N étapes, où N peut par exemple être égal à 200. Une politique secondaire exécutée pendant N étapes forme une unique action générique. Dans le cas de nos tâches de navigation, les politiques secondaires correspondent à une marche ou une progression dans différentes directions.
Dans la plupart des travaux réalisés jusqu’à présent, les politiques hiérarchiques étaient définies manuellement et de manière explicite. Nous avons cherché à découvrir cette structure hiérarchique automatiquement par le biais d’interactions avec l’environnement. Pour exploiter l’idée de l’apprentissage de l’apprentissage, nous définissons une bonne hiérarchie comme une hiérarchie qui génère rapidement une récompense élevée lors de l’entraînement sur des tâches inconnues. L’algorithme MLSH vise donc à apprendre des politiques secondaires qui permettent un apprentissage rapide pour des tâches encore inconnues.
Nous entraînons l’algorithme sur une distribution des tâches. Les politiques secondaires sont partagées entre toutes ces tâches, mais chaque tâche échantillonnée génère l’apprentissage d’une nouvelle politique principale. Cet apprentissage régulier finit automatiquement par arriver à des politiques secondaires adaptées aux politiques principales.
Dans notre environnement AntMaze, un robot Mujoco Ant est placé dans une série de 9 labyrinthes différents et doit atteindre un objectif. Notre algorithme parvient à trouver un ensemble diversifié de politiques secondaires qui peuvent ensemble résoudre le labyrinthe uniquement par le biais d’interactions avec l’environnement. Cet ensemble de politiques secondaires peut ensuite être utilisé pour maîtriser une tâche plus vaste que celles sur lesquelles elles ont été entraînées (voir la vidéo au début de l’article).
Nous avons publié le code(ouverture dans une nouvelle fenêtre) permettant d’entraîner des agents MLSH, ainsi que les environnements MuJoCo que nous avons créés pour évaluer ces algorithmes.


