Path: blob/master/site/es-419/lite/examples/reinforcement_learning/overview.md
25118 views
Aprendizaje por refuerzo
Juegue a un juego de mesa contra un agente entrenado mediante aprendizaje por refuerzo e implementado con TensorFlow Lite.
Empecemos
Si es nuevo en TensorFlow Lite y trabaja con Android, le recomendamos que explore las siguientes aplicaciones de ejemplo que pueden ayudarle a empezar.
Si utiliza una plataforma distinta de Android o ya está familiarizado con las APIs de TensorFlow Lite, puede descargar nuestro modelo entrenado.
Cómo funciona
El modelo está construido para que un agente juegue a un pequeño juego de mesa llamado 'Plane Strike'. Para ver una introducción rápida a este juego y sus reglas, consulte este archivo LEEME.
Subyacente a la interfaz de usuario de la app, hemos construido un agente que juega contra el jugador humano. El agente es un MLP de 3 capas que toma el estado del tablero como entrada y emite la puntuación prevista para cada una de las 64 casillas posibles del tablero. El modelo se entrena usando gradiente de política (REINFORCE) y puede encontrar el código de entrenamiento aquí. Tras el entrenamiento del agente, convertimos el modelo en TFLite y lo implementamos en la app de Android.
Durante el juego real en la app de Android, cuando es el turno de actuar del agente, éste observa el estado del tablero del jugador humano (el tablero de la parte inferior), que contiene información sobre los impactos anteriores exitosos y fallidos (aciertos y errores), y usa el modelo entrenado para predecir dónde atacar a continuación, de modo que pueda terminar la partida antes que el jugador humano.
Puntos de referencia del rendimiento
Los números de referencia del rendimiento se generan con la herramienta descrita aquí.
Nombre del modelo | Tamaño del modelo | Dispositivo | CPU |
---|---|---|---|
Gradiente de política | 84 Kb | Pixel 3 (Android 10) | 0.01 ms* |
Pixel 4 (Android 10) | 0.01 ms* |
1 hilo usado
Entradas
El modelo acepta un Tensor 3-D float32
de (1, 8, 8) como estado del tablero.
Salidas
El modelo devuelve un Tensor 2-D float32
de forma (1, 64) como las puntuaciones previstas para cada una de las 64 posiciones de golpe posibles.
Entrene su propio modelo
Podría entrenar su propio modelo para un tablero más grande/pequeño cambiando el parámetro BOARD_SIZE
en el código de entrenamiento.