Pular para o conteúdo principal
OpenAI
Carregando…

Desenvolvemos um algoritmo hierárquico de aprendizagem por reforço. Ele é capaz de aprender ações de alto nível, úteis para resolver uma série de tarefas, e por isso mesmo permite a resolução rápida de tarefas que exigem milhares de etapas. Esse algoritmo, quando aplicado a um conjunto de problemas de navegação, descobre um conjunto de ações de alto nível para caminhar e rastejar em diferentes direções. Na prática, isso permite que o agente consiga dominar com agilidade as novas tarefas de navegação.

Na hora de resolver um problema complexo, os seres humanos dividem aquele grande bolo de informações em componentes pequenos e gerenciáveis. Assar panquecas, por exemplo, é algo que envolve diversas ações de alto nível: medir a farinha, bater os ovos, transferir a mistura para a frigideira, ligar o fogão e assim por diante. Além disso, os seres humanos são capazes de aprender novas tarefas rapidamente, pois vão sequenciando esses componentes aprendidos mesmo quando a tarefa exige milhões de ações com baixo nível de complexidade.

Por outro lado, os métodos atuais de aprendizagem por reforço operam por meio da busca por força bruta em ações com baixo nível de complexidade, exigindo um número enorme de tentativas para a resolução de uma nova tarefa. Esses métodos acabam sendo muito ineficientes na resolução de tarefas, sobretudo aquelas que exigem um grande número de etapas temporais.

Nossa solução para isso tem como base a ideia da aprendizagem por reforço hierárquico, na qual os agentes representam comportamentos complexos (como, por exemplo, uma sequência curta de ações de alto nível). Isso permite que nossos agentes resolvam tarefas muito mais difíceis. Em uma situação na qual a solução possa exigir 2.000 ações com baixo nível de complexidade, a política hierárquica consegue transformar isso em uma sequência de 10 ações de alto nível. Afinal, é muito mais eficiente buscar na sequência de 10 etapas do que na sequência de 2.000 etapas.

Meta-aprendizagem de hierarquias compartilhadas

Fluxograma das observações submetidas à política e convertidas em ação

Nosso algoritmo, meta-aprendizagem de hierarquias compartilhadas (MLSH), aprende uma política hierárquica em que a política mestre alterna entre um conjunto de sub-políticas. O mestre seleciona uma ação a cada N etapas temporais, onde podemos considerar N=200. Uma sub-política executada para N etapas temporais constitui uma ação de alto nível e, para nossas tarefas de navegação, as sub-políticas correspondem a caminhar ou rastejar em diferentes direções.

Na maioria dos trabalhos anteriores, as políticas hierárquicas eram elaboradas explicitamente de forma manual. Nosso objetivo, no entanto, é descobrir essa estrutura hierárquica automaticamente por meio da interação com o ambiente. Para isso, adotamos uma perspectiva de meta-aprendizagem e definimos uma boa hierarquia, como por exemplo aquela capaz de alcançar rapidamente uma alta recompensa durante o treinamento em tarefas inéditas. O algoritmo MLSH, portanto, visa aprender sub-políticas que permitem o aprendizado rápido em tarefas inéditas.

Realizamos o treinamento em uma distribuição de tarefas, e as sub-políticas eram compartilhadas enquanto uma nova política-mestre era instaurada em cada tarefa amostrada. Ao treinar repetidamente novas políticas principais, esse processo encontra automaticamente sub-políticas que se adaptam à dinâmica de aprendizagem da política principal.

Experimentos

Carregando…

Em nosso ambiente AntMaze, um robô Mujoco Ant é colocado em uma distribuição de 9 labirintos diferentes e precisa navegar da posição inicial até o objetivo. Nosso algoritmo é capaz de encontrar com sucesso um conjunto diversificado de sub-políticas que podem ser sequenciadas em conjunto para resolver as tarefas do labirinto, exclusivamente por meio da interação com o ambiente. Este conjunto de sub-políticas pode então ser usado para dominar uma tarefa maior do que aquelas para as quais foram treinadas (veja o vídeo no início da postagem).

Carregando…

Código

Estamos lançando o código(abre em uma nova janela) para treinar os agentes MLSH, bem como os ambientes MuJoCo que criamos para avaliar esses algoritmos.

Autoria

Kevin Frans, Jonathan Ho, Peter Chen, Pieter Abbeel