Google football environment – instalação e treinamento de agente RL – Parte 1

Vishal Bidawatka em Notável – The Journal Blog Segue em Jul 2 · 4 min ler

Co-Autor: Ujwal Tewari

Quadro do ambiente de futebol do google

A equipe de inteligência do Google lançou um ambiente de futebol de código aberto com o objetivo de reforçar a pesquisa de aprendizado alguns dias atrás. Eles forneceram o código de base (github) e também seu trabalho de pesquisa sobre ele.

Entendendo o meio ambiente

Vamos dividir esse ambiente complexo e entender sua representação de espaço de estado, espaço de ação e outras configurações necessárias para o treinamento bem sucedido de modelo de RL.

Espaço de estado

Este ambiente suporta três tipos de representação de estado.

  1. Pixels: A representação consiste em uma imagem RGB de 1280 × 720 correspondente à tela renderizada. Observe que isso inclui tanto o placar quanto um pequeno mapa (minimapa) na parte central inferior do quadro, a partir do qual a posição de todos os jogadores pode, em princípio, ser inferida.

4 quadros de dimensão 1280 x 720

2. Super Mini Map (SMM): O SMM é basicamente uma pilha de matrizes binárias que definem o mini mapa renderizado no centro-fundo da tela. A representação SMM consiste em quatro matrizes de 96 × 72 que codificam informações sobre a equipe da casa, a equipe visitante, a bola e o jogador ativo, respectivamente. A codificação é binária, representando se há um jogador, bola ou jogador ativo na coordenada correspondente, ou não.

Super Mini Mapa

3. Floats: A representação floats fornece uma codificação mais compacta. Consiste em um vetor de 115 dimensões resumindo muitos aspectos do jogo, como coordenadas de jogadores, posse de bola e direção, jogador ativo ou modo de jogo.

Nota – Somente pixels e representação SMM podem ser empilhados em várias etapas de tempo consecutivas (por exemplo, para determinar a direção da bola).

Espaço de ação

O espaço de ação do gfootball é bastante interessante e bastante co-relacionado com o jogo de futebol real. A ação é dada ao jogador atualmente ativo, ou seja, o jogador com uma barra azul na cabeça. O ambiente suporta 20 ações.

Eles já implementaram bots baseados em regras embutidos para jogadores inativos que seguem ações que correspondem a ações e estratégias de futebol razoáveis, como correr em direção à bola quando não estamos em posse ou seguir em frente junto com nosso jogador ativo.

Cenários

A equipe do Google Brain forneceu cenários diferentes de dificuldade variada. Seu objetivo principal é permitir que os pesquisadores iniciem rapidamente novas ideias de pesquisa e iterem sobre elas. O cenário mais fácil para o agente aprender é o "objetivo vazio", no qual apenas um jogador está em pé na frente do gol sem um goleiro.

Cenário de fechamento de meta vazio

Instalação

Vamos começar a configurar esse ambiente legal em nosso sistema. Estamos usando o sistema com o sistema operacional do Ubuntu 18.04 e python 3.6. A maneira melhor e mais fácil de instalar o mecanismo de jogo e a biblioteca é clonando o repositório git.

Nota – É preferível criar primeiro um ambiente anaconda ou um ambiente virtual python e, em seguida, instalar dependências nesse ambiente.

 - git clone https://github.com/google-research/football.git 
- cd football
- pip3 install .[tf_cpu] --process-dependency-links
Or for gpu version
- pip3 install .[tf_gpu] --process-dependency-links
- This command can run for a couple of minutes, as it compiles the C++ environment in the background.

Após a instalação, você pode testar sua instalação executando este arquivo environment_test.py em nosso repositório GitHub.

 - git clone https://github.com/Ujwal2910/Deep-RL-on-Gfootabll-Google-football-OpenAI-style-environment.git 
- cd Deep-RL-on-Gfootabll-Google-futebol-OpenAI-style-ambiente /
- cd enviornment_render /
- python3 environment_test.py

Ele irá renderizar continuamente os quadros:

Saída da execução do environment_test.py

Se você encontrar um erro de versão numpy, a causa raiz pode ser a versão de numpy sobreposta. Apenas tente desinstalar o numpy e tente executar o script novamente.

Coisas para lembrar

No momento, registramos dois problemas no repositório do Google futebol Github e eles reconheceram isso e deram uma solução temporária até que o consertassem.

  1. Na representação float que é um vetor de 115 dimensões, as 115 dimensões são especificadas apenas para o cenário 11v11; para todas as outras, esse número varia. Então você pode primeiro verificar com state.shape [0] e, em seguida, construir seu modelo de acordo . ( link para o problema )
  2. Atualmente, seu programa altera o diretório de trabalho atual do código em execução, de modo que , salvando os modelos, use caminhos absolutos . ( link para o problema )

A próxima parte irá incluir a implementação de diferentes algoritmos RL em diferentes e você pode seguir referindo-se a este repo-

https://github.com/Ujwal2910/Deep-RL-on-Gfootabll-Google-football-OpenAI-ambiente de estilo

Faça uma estrela e bifurque o repositório e aguarde os próximos resultados de treinamento em diferentes cenários deste ambiente com algoritmos de RL de última geração.

Texto original em inglês.