Entorno de desarrollo basado en técnicas de aprendizaje profundo por refuerzo.
Abstract
Diseño e implementación de una plataforma de desarrollo basada en técnicas de Aprendizaje por Refuerzo que permite al usuario final plantear diferentes escenarios o problemas con diferentes entornos de aprendizaje y diferentes técnicas para aprender a vencer los mismos. Para el desarrollo del trabajo se ha empleado Python v3.6 como principal lenguaje de programación, haciendo uso de los recursos disponibles sobre aprendizaje por refuerzo.
La plataforma diseñada integra distintas implementaciones de los algoritmos Q-Learning y Deep Q-Learning para el estudio de entornos y problemas de las librerías OpenAI Gym y OpenAI Gym Retro de Python.
Los entornos de desarrollo más sencillos se han analizado con Q-Learning Simple o “Naive Q-Learning”. Para la implementación de los algoritmos basados en Deep Q-Learning, utilizados para el entrenamiento de los juegos Atari-2600 de OpenAI Retro, se ha diseñado una red neuronal haciendo uso de la librería TensorFlow.
Como objetivos principales a la hora de desarrollar el proyecto, se ha buscado diseñar una interfaz intuitiva, fácil de ejecutar e instalar; proporcionar la disponibilidad de múltiples entornos, de carácter variado y la posibilidad de ejecución de experimentos, con información detallada en tiempo real.
Así mismo, la plataforma final permite al usuario seleccionar el entorno, o juego en el que entrenar a un agente, editar los parámetros e hiperparámetros del entrenamiento a la vez que recibir información útil en tiempo real sobre el proceso de entrenamiento. Design and implementation of a development platform based on Reinforcement Learning techniques that allows the end user to approach different scenarios or problems with different learning environments and different techniques to learn how to beat them. For the development of the work, Python v3.6 has been used as the main programming language, making use of the resources available on learning by reinforcement.
The designed platform integrates different implementations of the Q-Learning and Deep Q-Learning algorithms for the study of environments and problems found in Python's OpenAI Gym and OpenAI Gym Retro libraries. The simplest development environments have been analyzed with "Naive Q-Learning". For the implementation of the algorithms based on Deep Q-Learning, used for the training of OpenAI Retro Atari-2600 games, a neural network has been designed using TensorFlow.
The main objectives when developing the project were to design an intuitive interface, easy to execute and install; to provide the availability of multiple environments, of varied character; and the possibility of execution of experiments, with detailed information in real time.
The final platform allows the user to select the environment, or game in which to train an agent, and edit the training parameters and hyperparameters while receiving useful information in real time about the training process.
Trabajo Fin de Grado
Entorno de desarrollo basado en técnicas de aprendizaje profundo por refuerzo.Titulación / Programa
Grado en Ingeniería en Tecnologías de TelecomunicaciónMaterias/ categorías / ODS
ITL (KT0)Palabras Clave
Python, Inteligencia Artificial, Aprendizaje por Refuerzo, OpenAI Gym, Q-Learning, Deep Q-Learning, TensorFlow, Red NeuronalPython, Artificial Intelligence, Reinforcement Learning, OpenAI Gym, Q- Learning, Deep Q-Learning, TensorFlow, Neural Network