Descrição
PlaNet é um algoritmo de aprendizado por reforço puramente baseado em modelo, projetado para resolver tarefas de controle diretamente a partir de entradas de pixels. Ele alcança isso aprendendo uma sequência compacta de estados ocultos que modelam a dinâmica do mundo. Para o planejamento, o PlaNet primeiro codifica o histórico de imagens anteriores no estado atual. A partir deste estado, ele prevê eficientemente recompensas futuras para várias sequências de ações em seu espaço latente aprendido.
O algoritmo opera executando a primeira ação da sequência mais promissora identificada através do planejamento. Após observar a próxima imagem, ele replaneja. Este processo iterativo permite que o PlaNet tome decisões com base em um modelo preditivo do ambiente, em vez de depender apenas de tentativa e erro. Uma vantagem chave do PlaNet é sua eficiência, exigindo substancialmente menos interação com o ambiente em comparação com muitos métodos de aprendizado por reforço model-free, ao mesmo tempo em que alcança desempenho competitivo.
Este projeto oferece a implementação open-source do agente PlaNet, permitindo que pesquisadores e desenvolvedores utilizem e construam sobre suas capacidades. A implementação inclui componentes para aprender modelos de transição latente, redes encoder e decoder, e scripts para treinar agentes em várias tarefas. Instruções são fornecidas para treinar um agente, incluindo a instalação de dependências e argumentos de linha de comando para seleção de tarefas e configuração de parâmetros.
O repositório PlaNet foi arquivado e está em modo somente leitura a partir de 28 de maio de 2024. No entanto, o código permanece disponível para inspeção e uso. Modificações no código podem ser feitas explorando diretórios como `scripts/configs.py` para ajustes de parâmetros, `scripts/tasks.py` para modificações de ambiente, e `models` e `networks` para alterar modelos de transição latente e arquiteturas de redes neurais, respectivamente. Dicas para desenvolvimento incluem o uso de uma configuração de depuração para iteração mais rápida e a exploração de diferentes estratégias de isolamento de ambiente.
O projeto foi testado sob Ubuntu 18 e requer versões específicas de pacotes, incluindo `tensorflow-gpu==1.13.1`, `tensorflow_probability==0.6.0`, `dm_control`, `gym`, `scikit-image`, `scipy`, `ruamel.yaml` e `matplotlib`. É importante notar que este não é um produto oficial do Google. O site do projeto e um PDF do artigo associado fornecem mais detalhes sobre o método e suas aplicações.
Destaques de PlaNet
Aprendizado por reforço baseado em modelo
Planejamento a partir de pixels
Dinâmica latente aprendida
Previsão eficiente de recompensas futuras
Comparação com métodos model-free
Redução da interação com o ambiente
Implementação open-source
Modelos de transição latente
Redes encoder e decoder
Treinamento de agente de aprendizado por reforço
Tarefas de controle a partir de imagens
Primeiros passos com PlaNet
Acessar modelo: Clone o repositório GitHub.
Configurar ambiente: Instale as dependências Python, incluindo TensorFlow e dm_control.
Integrar via API: Execute scripts de treinamento com parâmetros e diretórios de log especificados.
Otimizar: Modifique arquivos de configuração para tarefas, parâmetros e arquiteturas de rede.
Casos de uso de PlaNet
- Controle de robótica
- Navegação autônoma
- Jogos
- Ambientes simulados
- Aprendizado por reforço visual








