Ambientes de RL no Amazon SageMaker - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Ambientes de RL no Amazon SageMaker

O RL do Amazon SageMaker usa ambientes para imitar cenários do mundo real. Dado o estado atual do ambiente e uma ação tomada por um ou mais agentes, o simulador processa o impacto da ação e retorna o próximo estado e um prêmio. Simuladores são úteis nos casos em que não é seguro treinar um agente no mundo real (por exemplo, pilotar um drone) ou se o algoritmo de RL demora muito tempo para convergir (por exemplo, em um jogo de xadrez).

O diagrama a seguir mostra um exemplo das interações com um simulador para um jogo de corrida de carros.

O ambiente de simulação consiste em um agente e um simulador. Aqui, uma Rede neural convolucional (CNN) consome imagens do simulador e gera ações para controlar o controlador de jogo. Com várias simulações, esse ambiente gera dados de treinamento no formato state_t, action, state_t+1 e reward_t+1. Definir o prêmio não é um processo comum e afeta a qualidade do modelo de RL. Queremos dar alguns exemplos de funções de prêmio, mas gostaríamos de torná-los configuráveis pelo usuário.

Usar a interface OpenAI Gym para ambientes no RL do SageMaker

Para usar ambientes OpenAI Gym no RL do SageMaker, use os seguintes elementos de API. Para obter mais informações sobre o OpenAI Gym, consulte a Documentação do Gym.

  • env.action_space—Define as ações que o agente pode realizar, especifica se cada ação é contínua ou discreta e especifica o mínimo e o máximo, se a ação for contínua.

  • env.observation_space—Define as observações que o agente recebe do ambiente, bem como o mínimo e o máximo para observações contínuas.

  • env.reset()—Inicializa um episódio de treinamento. A função reset() retorna o estado inicial do ambiente, e o agente usa o estado inicial para realizar sua primeira ação. A ação é então enviada ao step() repetidamente até que o episódio atinja um estado terminal. Quando step() retorna done = True, o episódio termina. O kit de ferramentas de RL reinicializa o ambiente chamando reset().

  • step()—Usa a ação do agente como entrada e produz o próximo estado do ambiente, o prêmio, independentemente de o episódio ter sido encerrado, e um dicionário info para comunicar informações de depuração. É responsabilidade do ambiente validar as entradas.

  • env.render()—Usada para ambientes que possuem visualização. O kit de ferramentas RL chama essa função para capturar visualizações do ambiente após cada chamada para a função step().

Usar ambientes de código aberto

Você pode usar ambientes de código aberto, como o EnergyPlus e o RoboSchool, no RL do SageMaker, criando seu próprio contêiner. Para mais informações sobre o EnergyPlus, consulte https://energyplus.net/. Para mais informações sobre o RoboSchool, consulte https://github.com/openai/roboschool. Os exemplos de HVAC e RoboSchool no repositório de exemplos do SageMaker mostram como criar um contêiner personalizado para usar com o RL do SageMaker:

Usar ambientes comerciais

Você pode usar ambientes comerciais, como o MATLAB e o Simulink, no RL do SageMaker, criando seu próprio contêiner. Você precisa gerenciar suas próprias licenças.