O Dia da Comunidade de ML é dia 9 de novembro! Junte-nos para atualização de TensorFlow, JAX, e mais Saiba mais

Aprendizagem por Reforço

Jogue um jogo de tabuleiro contra um agente, que é treinado por reforço de aprendizagem e implantado com TensorFlow Lite.

iniciar

Se você é novo no TensorFlow Lite e está trabalhando com o Android, recomendamos explorar o aplicativo de exemplo a seguir que pode ajudá-lo a começar.

Exemplo de Android

Se você estiver usando uma plataforma diferente do Android, ou você já está familiarizado com as APIs TensorFlow Lite , você pode baixar o nosso modelo treinado.

Baixar modelo

Como funciona

O modelo é construído para um agente de jogo jogar um pequeno jogo de tabuleiro chamado 'Plane Strike'. Para uma rápida introdução deste jogo e suas regras, consulte este README .

Por baixo da IU do aplicativo, construímos um agente que joga contra o jogador humano. O agente é um MLP de 3 camadas que assume o estado da placa como entrada e produz a pontuação prevista para cada uma das 64 células possíveis da placa. O modelo é treinado usando gradiente de política (REFORÇAR) e você pode encontrar o código de treinamento aqui . Depois de treinar o agente, convertemos o modelo em TFLite e o implantamos no aplicativo Android.

Durante o jogo real no aplicativo Android, quando é a vez do agente agir, o agente olha para o estado do tabuleiro do jogador humano (o tabuleiro na parte inferior), que contém informações sobre golpes anteriores com e sem sucesso (acertos e erros) e usa o modelo treinado para prever onde atacar em seguida, para que possa terminar o jogo antes do jogador humano.

Benchmarks de desempenho

Números de benchmark de desempenho são gerados com a ferramenta descrita aqui .

Nome do Modelo Tamanho do modelo Dispositivo CPU
Gradiente de Política 84 Kb Pixel 3 (Android 10) 0,01ms *
Pixel 4 (Android 10) 0,01ms *

* 1 tópicos usados.

Entradas

O modelo aceita um 3-D float32 Tensor de (1, 8, 8) como o estado placa.

Saídas

O modelo retorna um 2-D float32 Tensor de forma (1,64) como os valores previstos para cada uma das 64 posições de ataque possíveis.

Treine seu próprio modelo

Você pode treinar o seu próprio modelo para um quadro de maior / menor pela mudança do BOARD_SIZE parâmetro no código de formação .