Conjunto RWRL flexível e fácil de usar para promover aplicações do mundo real de aprendizagem por reforço

Daniel J. Mankowitz, pesquisador do Text / DeepMind, e Gabriel Dulac-Arnold, pesquisador do Google Research

A prática provou que o Aprendizado por Reforço (RL) pode lidar efetivamente com muitos problemas complexos, desde Go, StarCraft e Minecraft até o movimento do robô e design de chips . Nesses casos, pode-se usar um simulador ou implantar o aprendizado por reforço acessando rapidamente um ambiente real de baixo custo. No entanto, a implantação de RL em produtos e sistemas do mundo real ainda enfrenta enormes desafios. Por exemplo, em sistemas de controle físico, como sistemas robóticos e sistemas de direção autônoma, os controladores RL são geralmente treinados para resolver tarefas como agarrar objetos ou dirigir em estradas. Esses controladores são suscetíveis a ruídos do sensor, atrasos do sistema ou desgaste normal, o que reduz a qualidade das entradas do controlador, leva a decisões erradas e causa falhas potenciais catastróficas.

Sistema de controle físico: no Projeto do robô diário do X, o robô está aprendendo a usar RL para agarrar e pegar objetos. Esses tipos de sistemas são afetados pelos desafios do mundo real detalhados aqui

  • Acesse
    https://deepmind.com/research/case-studies/alphago-the-story-so-far

  • StarCraft
    https://deepmind.com/research/publications/AlphaStar-Grandmaster-level-in-StarCraft-II-using-multi-agent-reinforcement-learning

  • Minecraft
    https://arxiv.org/abs/1604.07255

  • Projeto de robô diário 
    https://x.company/projects/everyday-robots/

No  artigo " Desafios da Aprendizagem por Reforço do Mundo Real ", discutimos nove desafios diferentes que dificultam a aplicação dos algoritmos RL atuais em sistemas de aplicação. Acompanhamos este trabalho com base em pesquisa empírica, simulamos esses desafios no algoritmo RL mais avançado (SOTA) e avaliamos vários efeitos. Abrimos o código-fonte desses desafios de simulação no conjunto de tarefas Real-World Reinforcement Learning (RWRL) para atrair a atenção das pessoas para essas questões importantes e acelerar a pesquisa e a solução dessas questões.

  • Desafios da aprendizagem por reforço no mundo real
    https://arxiv.org/abs/1904.12901

  • Aprendizagem por reforço no mundo real
    https://arxiv.org/abs/1904.12901

Kit RWRL

A suíte RWRL é uma série de tarefas de simulação inspiradas em desafios de aprendizagem por reforço aplicado.O objetivo é permitir que pesquisadores e profissionais iterem algoritmos rapidamente sem ter que executar experimentos lentos e caros em sistemas reais. Embora a transição de algoritmos de RL de treinamento simulado para aplicativos do mundo real enfrente outros desafios, o kit visa preencher algumas das lacunas de algoritmo mais básicas. RWRL atualmente oferece suporte a um subconjunto do domínio DeepMind Control Suite, mas o escopo do conjunto continuará a se expandir para oferecer suporte a um conjunto de domínio mais diversificado.

  • DeepMind Control Suite
    https://github.com/deepmind/dm_control

Fácil de usar e flexível

Consideramos dois objetivos principais ao projetar o kit:

  • Facilidade de uso - os usuários só precisam alterar algumas linhas de código para iniciar a execução de experimentos alguns minutos após o download do kit.

  • Flexibilidade - os usuários devem ser capazes de combinar facilmente vários desafios no ambiente.

Exemplo de ação de atraso

Para ilustrar a facilidade de uso do pacote RWRL, imagine que um pesquisador ou profissional deseja implementar o retardo de ação (ou seja, o retardo de tempo para que a ação seja enviada ao ambiente). Para usar o kit RWRL, basta importar o módulo rwrl. Em seguida, use o parâmetro delay_spec para carregar o ambiente (por exemplo, Cartpole). Este parâmetro opcional é especificado como um dicionário, que configura o atraso aplicado à ação, observação ou recompensa e o número de etapas de tempo (por exemplo, 20 etapas de tempo) que o elemento correspondente está atrasado. Depois de carregar o ambiente, o efeito da ação é automaticamente atrasado sem quaisquer outras alterações no experimento. Portanto, é fácil testar o algoritmo RL com atraso de ação em uma série de ambientes diferentes suportados pelo pacote RWRL.

Uma visão geral de alto nível do pacote RWRL. Com algumas linhas de código, você pode adicionar um desafio (como atraso de ação) ao ambiente, executar uma verificação de hiperparâmetro e gerar o gráfico mostrado à direita

Os usuários precisam apenas adicionar parâmetros adicionais à função de carregamento para combinar diferentes desafios ou escolher entre um conjunto de desafios de benchmark predefinidos, todos os parâmetros são especificados na base de código do pacote RWRL de código aberto.

  • Base de código
    https://github.com/google-research/realworldrl_suite

Desafios suportados

As funções fornecidas pelo pacote RWRL podem suportar experimentos relacionados a oito dos nove desafios diferentes. Esses desafios tornam o algoritmo RL atual difícil de aplicar a sistemas de aplicativos: eficiência da amostra; atraso do sistema; estado de alta dimensão e espaço de ação; restrições; Observabilidade, aleatoriedade e não estacionariedade; multi-objetivo; raciocínio em tempo real; e treinamento de registros offline. Como a tarefa de interpretabilidade é abstrata e difícil de definir, o RWRL elimina esse desafio. Os experimentos com suporte não são completamente exaustivos, permitindo que pesquisadores e profissionais analisem as capacidades de seus agentes em várias dimensões de desafio. Exemplos de desafios suportados incluem:

Atrasos do sistema
A maioria dos sistemas reais tem atrasos na percepção, incentivos ou feedback de recompensa, que podem ser configurados e aplicados a qualquer tarefa no pacote RWRL. A figura abaixo mostra o desempenho do agente D4PG quando as ações (esquerda), observações (meio) e recompensas (direita) estão atrasadas.

Nos quatro domínios MuJoCo, aumente o impacto da ação (esquerda), observação (meio) e recompensa (direita) de atraso no agente RL mais avançado (SOTA)

Conforme mostrado na figura, um pesquisador ou médico pode entender rapidamente que tipo de atraso afetará o desempenho de seu agente. Os efeitos desses atrasos também podem ser observados em combinação.

Restrições
Quase todos os sistemas de aplicativos têm alguma forma de restrição incorporada ao objetivo geral, o que não é comum na maioria dos ambientes RL. O pacote RWRL implementa uma série de restrições de dificuldade diferente para cada tarefa para facilitar a pesquisa de RL de restrição. O vídeo a seguir mostra visualmente exemplos de violações de restrições de velocidade angular locais complexas.

Exemplo de violação da restrição do pêndulo invertido. A interface vermelha indica que a velocidade angular local é violada


Usuários não estacionários podem introduzir não estacionariedade perturbando os parâmetros ambientais. Esses distúrbios são contrários aos distúrbios adversários de nível de pixel que se tornaram mais comuns em pesquisas recentes de aprendizado profundo supervisionado. Por exemplo, no domínio do andador humano, o tamanho da cabeça e o atrito com o solo podem ser modificados ao longo do processo de treinamento para simular mudanças nas condições. Uma variedade de agendadores são fornecidos no conjunto RWRL (por favor, consulte nossa base de código para mais detalhes) e uma variedade de perturbações de parâmetro padrão. Esses distúrbios podem ser definidos com precisão para limitar a capacidade de aprendizagem dos algoritmos de aprendizagem mais avançados.

  • Base de código
    https://github.com/google-research/realworldrl_suite/blob/f7143e830a0ef915457cef9de48abae6238c0d2d/realworldrl_suite/environments/realworld_env.py#L25

Perturbação não estacionária. O kit suporta parâmetros ambientais perturbadores em diferentes segmentos, como alteração do tamanho da cabeça (meio) e fricção de contato (direita)

Treinamento de dados de log offline
Na maioria dos sistemas de aplicativos, a execução de experimentos é lenta e cara. Normalmente, você pode usar registros de dados de experimentos anteriores para treinar estratégias. No entanto, devido a dados limitados, baixa variação ou baixa qualidade, muitas vezes é difícil superar os modelos anteriores em produção. Para resolver esse problema, geramos um conjunto de dados offline combinando os desafios do benchmark RWRL e o usamos como parte de um lançamento de dados offline mais amplo. Veja este bloco de notas para mais informações.

  • Lançamento de dados off-line
    https://arxiv.org/abs/2006.13888

  • Notebook
    https://github.com/deepmind/deepmind-research/blob/master/rl_unplugged/rwrl_d4pg.ipynb

Em conclusão

A maioria dos sistemas raramente exibe apenas um único desafio, por isso estamos felizes em ver como os algoritmos podem lidar com ambientes onde existem vários desafios e dificuldade crescente ("fácil", "médio" e "difícil"). Esperamos ansiosamente que a comunidade de pesquisa tente resolver esses desafios. Acreditamos que a solução desses desafios irá promover uma aplicação mais ampla da RL em produtos e sistemas do mundo real.

Embora a série inicial de funções e experimentos do pacote RWRL forneça um ponto de partida para preencher a lacuna entre o status quo do RL e os desafios do sistema de aplicação, ainda há muito trabalho a ser feito. Os experimentos suportados não são exaustivos. Aceitamos novas ideias da comunidade para melhor avaliar as capacidades dos agentes RL. O objetivo principal deste pacote é enfatizar e encorajar a pesquisa em questões centrais que limitam a eficácia dos algoritmos RL em produtos e sistemas de aplicação, e para acelerar a realização de futuras aplicações RL.

obrigado

Obrigado ao nosso principal contribuidor e coautor Nir Levine por sua valiosa ajuda. Gostaríamos também de agradecer aos nossos coautores Jerry Li, Sven Gowal, Todd Hester e Cosmin Paduraru, bem como a Robert Dadashi, a equipe ACME, Dan A. Calian, Juliet Rothenberg e Timothy Mann por suas contribuições.

Mais leituras relacionadas com IA:

Acho que você gosta

Origin blog.csdn.net/jILRvRTrc/article/details/108877840
Recomendado
Clasificación