Resumen
El aprendizaje por refuerzo profundo es una de las técnicas más usadas para resolver problemas basándose en la experiencia del agente, en las que se hace uso de redes de neuronas. Los últimos algoritmos desarrollados tienen una complejidad matemática y de programación elevada, lo cual induce a un aprendizaje más lento. En el presente trabajo, se realiza una revisión de los principios teóricos del aprendizaje por refuerzo hasta derivar su uso hasta llegar a implementaciones que incluyen redes de neuronas. Además, se ha realizado una revisión de las estrategias actuales de programación de algoritmos de aprendizaje por refuerzo profundo, haciendo hincapié en el algoritmo PPO (Proximal Policy Optimization), dado que es uno de los algoritmos más usados actualmente. Se incluye el diseño y programación de los algoritmos siguiendo diferentes estrategias que se evalúan después de forma comparativa. La evaluación tiene en cuenta tanto el rendimiento como la claridad en la forma de programación para facilitar su comprensión por parte de desarrolladores informáticos. Adicionalmente, se realiza una experimentación para observar el comportamiento del algoritmo PPO y poder determinar cuáles son los hiperparámetros más adecuados en los problemas analizados. En los resultados se comprueba que la programación propuesta tiene un rendimiento comparable a librerías de referencia en varios problemas, mientras que en los más complejos se observa que el rendimiento decae ligeramente, aunque de forma aceptable con respecto al enfoque planteado en el presente trabajo.---ABSTRACT---Deep reinforcement learning is one of most used techniques to solve problems based on the experience gathered by an agent, which makes use of artificial neural networks. Latest developed algorithms have a high complex mathematics and programming background, which induces a slower training time. In the present work, a deep revision of the basic theoretical concepts of reinforcement learning is made up to lead to implementations that include neural nets. Furthermore, a deep review of the current programming strategies about deep reinforcement learning is made, emphasizing in the PPO algorithm (Proximal Policy Optimization), due to being one of most used algorithms nowadays. The design and programming of algorithms following different strategies is included, which are evaluated compared with each other. The evaluation considers both performance and readability so as to facilitate understanding by computer scientists. Moreover, an experimentation to observe the behaviour of the PPO algorithm is carried out in order to determine which are the most adequate hyperparameters for the analysed problems. In the results it is verified that the proposed programming has a similar performance as reference libraries in some problems, while in the most complex ones it is observed that the performance slightly decays, although in an acceptable manner with respect to the stated approach in the present work.