Desenvolva e compare algoritmos de aprendizado por reforço usando este kit de ferramentas.

Se você não pode criar um modelo de aprendizado de máquina do zero ou não tem infraestrutura, simplesmente conectar seu aplicativo a um modelo funcional corrige a lacuna.

A inteligência artificial está aqui para todos usarem de uma forma ou de outra. Quanto ao OpenAI Gym, existem muitos campos de treinamento exploráveis ​​para alimentar seus agentes de aprendizado por reforço.

O que é OpenAI Gym, como funciona e o que você pode construir usando-o?

O que é OpenAI Gym?

OpenAI Gym é uma API Pythonic que fornece ambientes de treinamento simulados para agentes de aprendizado por reforço agirem com base em observações ambientais; cada ação vem com uma recompensa positiva ou negativa, que se acumula a cada passo de tempo. Enquanto o agente almeja maximizar as recompensas, ele é penalizado a cada decisão inesperada.

A etapa de tempo é um tick de tempo discreto para o ambiente transitar para outro estado. Ele se soma à medida que as ações do agente alteram o estado do ambiente.

instagram viewer

Como funciona o OpenAI Gym?

Os ambientes do OpenAI Gym são baseados no Markov Decision Process (MDP), um modelo dinâmico de tomada de decisão usado no aprendizado por reforço. Assim, segue-se que as recompensas só vêm quando o ambiente muda de estado. E os eventos no próximo estado dependem apenas do estado atual, pois o MDP não contabiliza eventos passados.

Antes de prosseguir, vamos mergulhar em um exemplo para uma rápida compreensão da aplicação do OpenAI Gym no aprendizado por reforço.

Supondo que você pretenda treinar um carro em um jogo de corrida, você pode criar uma pista de corrida no OpenAI Gym. No aprendizado por reforço, se o veículo virar para a direita em vez de para a esquerda, pode receber uma recompensa negativa de -1. A pista muda a cada passo de tempo e pode ficar mais complicada nos estados subsequentes.

Recompensas ou penalidades negativas não são ruins para um agente no aprendizado por reforço. Em alguns casos, incentiva-o a atingir seu objetivo mais rapidamente. Assim, o carro aprende sobre a pista ao longo do tempo e domina sua navegação usando raias de recompensa.

Por exemplo, iniciamos o FrozenLake-v1 ambiente, onde um agente é penalizado por cair em buracos de gelo, mas recompensado por recuperar uma caixa de presente.

Nossa primeira corrida gerou menos penalidades sem recompensas:

No entanto, uma terceira iteração produziu um ambiente mais complexo. Mas o agente conseguiu algumas recompensas:

O resultado acima não implica que o agente irá melhorar na próxima iteração. Embora possa evitar com sucesso mais buracos na próxima vez, pode não receber nenhuma recompensa. Mas modificar alguns parâmetros pode melhorar sua velocidade de aprendizado.

Os componentes do OpenAI Gym

A OpenAI Gym API gira em torno dos seguintes componentes:

  • O ambientes onde você treina um agente. Você pode iniciar um usando o ginásio.fazer método. O OpenAI Gym também oferece suporte a ambientes multiagentes.
  • O invólucros para modificar um ambiente existente. Embora cada ambiente base seja pré-empacotado por padrão, você pode redimensioná-lo com parâmetros como max_actions, min_actions e max rewards.
  • Um Ação; define o que o agente faz ao observar mudanças em seu ambiente. Cada ação em um ambiente é uma etapa que define a resposta de um agente às observações. A conclusão de uma etapa retorna uma observação, uma recompensa, informações e um valor truncado ou encerrado.
  • O observação; define a experiência de um agente em um ambiente. Uma vez que haja uma observação, segue-se uma ação com suas informações. O parâmetro info é um log de execução útil para depuração. Depois que uma etapa termina, o ambiente é redefinido n vezes, dependendo do número de iterações especificadas.

O que você pode fazer com o OpenAI Gym?

Como o OpenAI Gym permite criar ambientes de aprendizado personalizados, aqui estão algumas maneiras de usá-lo em um cenário da vida real.

1. Simulação de jogo

Você pode aproveitar os ambientes de jogos do OpenAI Gym para recompensar comportamentos desejados, criar recompensas de jogos e aumentar a complexidade por nível de jogo.

2. Reconhecimento de imagem

Onde há uma quantidade limitada de dados, recursos e tempo, o OpenAI Gym pode ser útil para desenvolver um sistema de reconhecimento de imagem. Em um nível mais profundo, você pode dimensioná-lo para criar um sistema de reconhecimento facial, que recompensa um agente por identificar rostos corretamente.

3. Treinamento de robôs

O OpenAI Gym também oferece modelos de ambiente intuitivos para simulações 3D e 2D, onde você pode implementar comportamentos desejados em robôs. Roboescola é um exemplo de software de simulação de robô em escala construído usando o OpenAI Gym.

4. Marketing

Você também pode criar soluções de marketing como servidores de anúncios, bots de negociação de ações, bots de previsão de vendas, sistemas de recomendação de produtos e muito mais usando o OpenAI Gym. Por exemplo, você pode criar um modelo personalizado de Ginásio OpenAI que penalize os anúncios com base na taxa de impressões e cliques.

5. Processamento de linguagem natural

Algumas maneiras de aplicar o OpenAI Gym em processamento de linguagem natural são questões de múltipla escolha envolvendo a conclusão de frases ou construindo um classificador de spam. Por exemplo, você pode treinar um agente para aprender variações de frases para evitar viés ao marcar os participantes.

Como começar a usar o OpenAI Gym

OpenAI Gym suporta Python 3.7 e versões posteriores. Para configurar um ambiente OpenAI Gym, você instalará ginásio, a versão bifurcada do ginásio com suporte contínuo:

pip instalar ginásio

Em seguida, crie um ambiente. Você pode criar um ambiente personalizado, no entanto. Mas comece brincando com um já existente para dominar o conceito OpenAI Gym.

O código abaixo gira o FrozenLake-v1. O env.reset método registra a observação inicial:

importar ginásio como academia
env = academia.make('FrozenLake-v1', render_mode="humano")

observação, info = env.reset()

Alguns ambientes requerem bibliotecas extras para funcionar. Se você precisar instalar outra biblioteca, o Python a recomenda por meio da mensagem de exceção.

Por exemplo, você instalará uma biblioteca adicional (ginásio[texto-brinquedo]) para executar o FrozenLake-v1 ambiente.

Desenvolva o poder do OpenAI Gym

Um dos contratempos para o desenvolvimento de IA e aprendizado de máquina é a escassez de conjuntos de dados de infraestrutura e treinamento. Mas, à medida que você procura integrar modelos de aprendizado de máquina em seus aplicativos ou dispositivos, tudo fica mais fácil agora com modelos de IA prontos circulando pela Internet. Embora algumas dessas ferramentas sejam de baixo custo, outras, incluindo o OpenAI Gym, são gratuitas e de código aberto.