Comparación de algoritmos de aprendizaje por refuerzo basados en Q-Learning - Caponera De Cobellis, Romolo Rosario (My University, 2021)
El presente Trabajo de Fin de Grado se centra en el Aprendizaje por Refuerzo, y más concretamente en el algoritmo QLearning[1], comparando tres de sus variantes más populares (Épsilon-greedy [2], SoftMax [3] y Upper Confidence Bound [4]), en el entorno FrozenLake [5] ofertado por el framework OpenAI Gym[6]. La finalidad del proyecto no es únicamente la de mostrar las diferencias, tanto en implementación como en rendimiento, que se puedan evidenciar entre los algoritmos, sino ofrecer una aplicación que permita al usuario final inspeccionar los procesos de entrenamiento y resolución del problema, tomando sus propias mediciones, e incluso experimentar variando los parámetros de los algoritmos, mediante una interfaz intuitiva y visual. Se ha desarrollado un software que pretende suplir estas necesidades, ofreciendo la posibilidad de observar el proceso de entrenamiento de manera visual e intuitiva, y la posibilidad de ver, a través de varios gráficos, métricas sobre el entrenamiento que permitirán discernir la efectividad y calidad del mismo. La implementación del software se ha realizado siguiendo buenas prácticas y patrones de diseño que permiten a cualquier usuario, con los conocimientos técnicos necesarios, añadir sus propias variantes del algoritmo con cierta flexibilidad, y compararlas con las que ya están incluidas en la aplicación. El software se ha implementado en el lenguaje de programación Python [7], utilizando el Entorno de Desarrollo Integrado (IDE de ahora en adelante) Pycharms [8], y las plataformas OpenAI Gym para la obtención del entorno, y PyQt5 [9] para la Interfaz Gráfica de Usuario. Todo el contenido de este proyecto se ha publicado en la plataforma GitHub [10], que permite el acceso y explotación colaborativos al público.
Comparison of Q-Learning-based reinforcement learning algorithms
Keywords: Inteligencia artificial; Aprendizaje automático (Inteligencia artificial); Informática - Trabajos Fin de Grado; Grado en Ingeniería del Software - Trabajos Fin de Grado; QLearning; Reinforcement Learning; Artificial Intelligence; Python