Algoritmo Deep Q-Learning para el aprendizaje por refuerzo de una estrategia de conducción en 2D

View/ Open
Date
2021Author
Advisor
Version
Acceso abierto / Sarbide irekia
Type
Trabajo Fin de Grado/Gradu Amaierako Lana
Impact
|
nodoi-noplumx
|
Abstract
El campo de la inteligencia artificial es relativamente joven y ha tenido un desarrollo
irregular a lo largo de los años con periodos que recuerdan a la comparación de la montaña rusa.
Sin embargo, en la actualidad se está viviendo uno de los momentos de mayor crecimiento. Esta
elevación se produce gracias a diversos factores que se han juntado en el mismo intervalo de
tiempo como puede ser; ...
[++]
El campo de la inteligencia artificial es relativamente joven y ha tenido un desarrollo
irregular a lo largo de los años con periodos que recuerdan a la comparación de la montaña rusa.
Sin embargo, en la actualidad se está viviendo uno de los momentos de mayor crecimiento. Esta
elevación se produce gracias a diversos factores que se han juntado en el mismo intervalo de
tiempo como puede ser; el manejo de grandes masas de datos, la procesamiento gráfico y
tensorial, etc.
El progreso tecnológico está siendo en gran parte potenciado por la inteligencia artificial. Se
puede ver a este campo del conocimiento como una rama del desarrollo tecnológico que se
divide a su vez en más ramas que siguen este proceso de división. Dentro de esta, se encuentra
el aprendizaje automático, que contiene al aprendizaje por refuerzo.
El aprendizaje por refuerzo es un área inspirada en la psicología conductista y es utilizado
para determinar qué acciones debe escoger un agente en un entorno dado con el fin de
maximizar una recompensa acumulada. A través del ensayo y error, este es capaz de aprender
una política ante ese mismo entorno, donde el objetivo es conseguir que esta política sea óptima.
El análisis realizado se enfocado en la aplicación de este tipo de aprendizaje combinado con
redes neuronales profundas a través del algoritmo "Deep Q Learning". Este algoritmo es es una
mejora del original, el algoritmo "Q-learning”. Este, a diferencia de su antecesor, es capaz de
utilizar redes neuronales para calcular las acciones del agente. Un breve resumen del
funcionamiento podría ser el siguiente: el agente va realizando acciones y mediante las
recompensas y estados que se recogen se va alimentado a la red neuronal, que procesa esta
información y devuelve el valor Q de todas las posibles acciones de salida.
En el aspecto relacionado con el desarrollo de las redes neuronales se ha empleado un
paquete de Python diseñado para realizar cálculos numéricos haciendo uso de la programación
de tensores mediante el paquete dePyTorch, el cual permite su ejecución en GPU, lo que acelera
los cálculos.
Finalmente, los resultados de la experimentación realizada han sido evaluados según los
criterios ofrecidos por el distribuidor de entornos utilizado (OpenAI Gym), sacando
conclusiones de este tipo de algoritmo combinado con las herramientas utilizadas. Se han
propuesto varias opciones de líneas futuras relacionadas con el trabajo realizado y se han
comentado los diferentes problemas que han ido surgiendo a lo largo de todo proyecto. [--]
Subject
Aprendizaje por refuerzo,
Deep Q Learning,
Redes Neuronales,
PyTorch,
CarRacing
Degree
Graduado o Graduada en Ingeniería Informática por la Universidad Pública de Navarra /
Informatika Ingeniaritzako Graduatua Nafarroako Unibertsitate Publikoan