89
Escuela Politécnica Superior Reinforcement Learning aplicado a videojuegos Grado en Ingeniería Robótica Trabajo Fin de Grado Autor: Tomás Kovac Martínez Tutor/es: Miguel Ángel Cazorla Quevedo Francisco Rafael Gómez Donoso Enero 2022

Reinforcement Learningaplicadoa videojuegos

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reinforcement Learningaplicadoa videojuegos

Escuela

Politécnica

Superior

ReinforcementLearning aplicado avideojuegos

Grado en Ingeniería Robótica

Trabajo Fin de Grado

Autor:Tomás Kovac MartínezTutor/es:Miguel Ángel Cazorla QuevedoFrancisco Rafael Gómez Donoso

Enero 2022

Page 2: Reinforcement Learningaplicadoa videojuegos
Page 3: Reinforcement Learningaplicadoa videojuegos

Reinforcement Learning aplicado avideojuegos

AutorTomás Kovac Martínez

Tutor/esMiguel Ángel Cazorla Quevedo

Ciencia de la computación e Inteligencia ArtificialFrancisco Rafael Gómez Donoso

Ciencia de la computación e Inteligencia Artificial

Grado en Ingeniería Robótica

Escuela

Politécnica

Superior

ALICANTE, Enero 2022

Page 4: Reinforcement Learningaplicadoa videojuegos
Page 5: Reinforcement Learningaplicadoa videojuegos

Preámbulo“Este trabajo nace del amor a la tecnología, a la inteligencia artificial y a lasinnovaciones que surgen cada día.”

Page 6: Reinforcement Learningaplicadoa videojuegos
Page 7: Reinforcement Learningaplicadoa videojuegos

Agradecimientos

Este trabajo no habría sido posible sin el apoyo de mi familia, mis amigos y mi novia.Gracias por estar ahí siempre.

Page 8: Reinforcement Learningaplicadoa videojuegos
Page 9: Reinforcement Learningaplicadoa videojuegos

Para tener éxito, la planificación sola es insuficiente.Uno debe improvisar también.

Isaac Asimov.

ix

Page 10: Reinforcement Learningaplicadoa videojuegos
Page 11: Reinforcement Learningaplicadoa videojuegos

Índice general1 Introducción 1

2 Objetivos 3

3 Estado del arte 53.1 Stockfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 AlphaZero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3 Agent57 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Metodología 94.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.2.1 Anaconda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2.2 Librerías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2.3 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Desarrollo 155.1 Experimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.2 Entornos elegidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.3 Preparación del entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6 Resultados 216.1 Pacman y A2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226.2 Pacman y DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.3 Pacman y PPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.4 Breakout y A2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.5 Breakout y DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.6 Breakout y PPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7 Conclusiones 67

Bibliografía 69

Lista de Acrónimos y Abreviaturas 71

xi

Page 12: Reinforcement Learningaplicadoa videojuegos
Page 13: Reinforcement Learningaplicadoa videojuegos

Índice de figuras

1.1 Alan Turing a los 16 años de edad. . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Imagen de la partida entre Kasparov y DeepBlue. 1997. . . . . . . . . . . . . 2

5.1 Entorno Cart Pole. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155.2 Entorno Car Racing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.3 Videojuego Breakout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.4 Videojuego Ms Pacman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

6.1 Duración media de los episodios de 0 a 100K pasos usando A2C. . . . . . . . 226.2 Recompensa media de los episodios de 0 a 100K pasos usando A2C. . . . . . 226.3 Duración media de los episodios de 100K a 500K pasos usando A2C. . . . . . 236.4 Recompensa media de los episodios de 100K a 500K pasos usando A2C. . . . 236.5 Duración media de los episodios de 500K a 1M pasos usando A2C. . . . . . . 246.6 Recompensa media de los episodios de 500K a 1M pasos usando A2C. . . . . 246.7 Duración media de los episodios de 1M a 5M pasos usando A2C. . . . . . . . 256.8 Recompensa media de los episodios de 1M a 5M pasos usando A2C. . . . . . 256.9 Duración media de los episodios de 5M a 10M pasos usando A2C. . . . . . . . 266.10 Recompensa media de los episodios de 5M a 10M pasos usando A2C. . . . . . 266.11 Duración media de los episodios para el entrenamiento completo usando A2C. 276.12 Recompensa media de los episodios para el entrenamiento completo usando

A2C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276.13 Duración media de los episodios de 0 a 100K pasos usando DQN. . . . . . . . 286.14 Recompensa media de los episodios de 0 a 100K pasos usando DQN. . . . . . 296.15 Duración media de los episodios de 100K a 500K pasos usando DQN. . . . . . 296.16 Recompensa media de los episodios de 100K a 500K pasos usando DQN. . . . 306.17 Duración media de los episodios de 500K a 1M pasos usando DQN. . . . . . . 316.18 Recompensa media de los episodios de 500K a 1M pasos usando DQN. . . . . 316.19 Duración media de los episodios de 1M a 5M pasos usando DQN. . . . . . . . 326.20 Recompensa media de los episodios de 1M a 5M pasos usando DQN. . . . . . 326.21 Duración media de los episodios de 5M a 10M pasos usando DQN. . . . . . . 336.22 Recompensa media de los episodios de 5M a 10M pasos usando DQN. . . . . 336.23 Duración media de los episodios para el entrenamiento completo usando DQN. 346.24 Recompensa media de los episodios para el entrenamiento completo usando

DQN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.25 Duración media de los episodios de 0 a 100K pasos usando PPO. . . . . . . . 366.26 Recompensa media de los episodios de 0 a 100K pasos usando PPO. . . . . . 366.27 Duración media de los episodios de 100K a 500K pasos usando PPO. . . . . . 376.28 Recompensa media de los episodios de 100K a 500K pasos usando PPO. . . . 376.29 Duración media de los episodios de 500K a 1M pasos usando PPO. . . . . . . 38

xiii

Page 14: Reinforcement Learningaplicadoa videojuegos

xiv Índice de figuras

6.30 Recompensa media de los episodios de 500K a 1M pasos usando PPO. . . . . 386.31 Duración media de los episodios de 1M a 5M pasos usando PPO. . . . . . . . 396.32 Recompensa media de los episodios de 1M a 5M pasos usando PPO. . . . . . 406.33 Duración media de los episodios de 5M a 10M pasos usando PPO. . . . . . . 416.34 Recompensa media de los episodios de 5M a 10M pasos usando PPO. . . . . 416.35 Duración media de los episodios para el entrenamiento completo usando PPO. 426.36 Recompensa media de los episodios para el entrenamiento completo usando

PPO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.37 Duración media de los episodios para 100K pasos usando A2C. . . . . . . . . 446.38 Recompensa media de los episodios para 100K pasos usando A2C. . . . . . . 446.39 Duración media de los episodios para 500K pasos usando A2C. . . . . . . . . 456.40 Recompensa media de los episodios para 500K pasos usando A2C. . . . . . . 456.41 Duración media de los episodios para 1M de pasos usando A2C. . . . . . . . . 466.42 Recompensa media de los episodios para 1M de pasos usando A2C. . . . . . . 466.43 Duración media de los episodios para 5M de pasos usando A2C. . . . . . . . . 476.44 Recompensa media de los episodios para 5M de pasos usando A2C. . . . . . . 476.45 Duración media de los episodios para 10M de pasos usando A2C. . . . . . . . 486.46 Recompensa media de los episodios para 10M de pasos usando A2C. . . . . . 486.47 Duración media de los episodios para el entrenamiento completo usando A2C. 496.48 Recompensa media de los episodios para el entrenamiento completo usando

A2C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.49 Duración media de los episodios para 100K pasos usando DQN. . . . . . . . . 516.50 Recompensa media de los episodios para 100K pasos usando DQN. . . . . . . 526.51 Duración media de los episodios para 500K pasos usando DQN. . . . . . . . . 526.52 Recompensa media de los episodios para 500K pasos usando DQN. . . . . . . 536.53 Duración media de los episodios para 1M de pasos usando DQN. . . . . . . . 536.54 Recompensa media de los episodios para 1M de pasos usando DQN. . . . . . 546.55 Duración media de los episodios para 5M de pasos usando DQN. . . . . . . . 546.56 Recompensa media de los episodios para 5M de pasos usando DQN. . . . . . 556.57 Duración media de los episodios para 10M de pasos usando DQN. . . . . . . . 566.58 Recompensa media de los episodios para 10M de pasos usando DQN. . . . . . 566.59 Duración media de los episodios para el entrenamiento completo usando DQN. 576.60 Recompensa media de los episodios para el entrenamiento completo usando

DQN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.61 Duración media de los episodios para 100K pasos usando PPO. . . . . . . . . 586.62 Recompensa media de los episodios para 100K pasos usando PPO. . . . . . . 596.63 Duración media de los episodios para 500K pasos usando PPO. . . . . . . . . 596.64 Recompensa media de los episodios para 500K pasos usando PPO. . . . . . . 606.65 Duración media de los episodios para 1M de pasos usando PPO. . . . . . . . 606.66 Recompensa media de los episodios para 1M de pasos usando PPO. . . . . . 616.67 Duración media de los episodios para 5M de pasos usando PPO. . . . . . . . 616.68 Recompensa media de los episodios para 5M de pasos usando PPO. . . . . . 626.69 Duración media de los episodios para 10M de pasos usando PPO. . . . . . . . 626.70 Recompensa media de los episodios para 10M de pasos usando PPO. . . . . . 636.71 Duración media de los episodios para el entrenamiento completo usando PPO. 64

Page 15: Reinforcement Learningaplicadoa videojuegos

Índice de figuras xv

6.72 Recompensa media de los episodios para el entrenamiento completo usandoPPO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Page 16: Reinforcement Learningaplicadoa videojuegos
Page 17: Reinforcement Learningaplicadoa videojuegos

Índice de cuadros6.1 Resultados obtenidos para la duración media en la fase de evaluación con A2C

en el entorno Pacman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.2 Resultados obtenidos para la recompensa media en la fase de evaluación con

A2C en el entorno Pacman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.3 Resultados obtenidos para la duración media en la fase de evaluación con DQN

en el entorno Pacman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.4 Resultados obtenidos para la recompensa media en la fase de evaluación con

DQN en el entorno Pacman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.5 Resultados obtenidos para la duración media en la fase de evaluación con PPO

en el entorno Pacman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.6 Resultados obtenidos para la recompensa media en la fase de evaluación con

PPO en el entorno Pacman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.7 Comparación de las recompensas obtenidas según el número de episodios en-

trenados con cada algoritmo en el entorno Pacman. . . . . . . . . . . . . . . . 436.8 Resultados obtenidos para la duración media en la fase de evaluación con A2C

en el entorno Breakout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.9 Resultados obtenidos para la recompensa media en la fase de evaluación con

A2C en el entorno Breakout. . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.10 Resultados obtenidos para la duración media en la fase de evaluación con DQN

en el entorno Breakout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.11 Resultados obtenidos para la recompensa media en la fase de evaluación con

DQN en el entorno Breakout. . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.12 Resultados obtenidos para la duración media en la fase de evaluación con PPO

en el entorno Breakout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.13 Resultados obtenidos para la recompensa media en la fase de evaluación con

PPO en el entorno Breakout. . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.14 Comparación de las recompensas obtenidas según el número de episodios en-

trenados con cada algoritmo en el entorno Breakout. . . . . . . . . . . . . . . 65

xvii

Page 18: Reinforcement Learningaplicadoa videojuegos
Page 19: Reinforcement Learningaplicadoa videojuegos

1 Introducción

A día de hoy, la implementación de inteligencias artificiales en multitud de campos dela tecnología está más presente que nunca. Este tipo de técnicas permiten resolver muchosproblemas en diferentes áreas, y su popularización en los últimos años es notoria. Cuandohablamos de inteligencia artificial, nos referimos a redes neuronales, las cuáles pueden serimplementadas de múltiples maneras dependiendo de su arquitectura. También influirá lamanera en la que se entrenen dichas redes neuronales, siendo una de estas técnicas el apren-dizaje por refuerzo.Los orígenes de la inteligencia artificial se remontan a mediados del siglo pasado, cuando

el matemático Alan Turing 1.1 comenzó a investigar en el campo. La pregunta que se hizoTuring a sí mismo fue: ”¿pueden las máquinas pensar?”. El enfoque de Turing era demasiadofilosófico, y para poder concretarlo más decidió crear el famoso test de Turing. Dicho testtenía como objetivo determinar si una máquina era capaz de replicar el comportamiento delos humanos. El test consiste en un interrogador humano que hace preguntas, las cuales sonrespondidas por otro humano y por una máquina. Las respuestas se mostraban en texto,para dejar de lado el convertir texto a sonido. Si el interrogador no era capaz de distinguirlas respuestas del humano y las de la máquina, se considera que esa máquina es capaz dereproducir el comportamiento humano. En este caso, no se evalúa que la máquina tengaconocimiento, ya que un humano podría no tenerlo sobre algún tema en concreto. Lo que sevalora es que sus respuestas sean lo suficientemente humanas como para no distinguirse deun humano real.

Figura 1.1: Alan Turing a los 16 años de edad.

1

Page 20: Reinforcement Learningaplicadoa videojuegos

2 Introducción

En los años posteriores, se acuñó el termino inteligencia artificial y se siguió estudiando eltema en profundidad. Pero la realidad es que pasaron muchos años hasta que esta se volvióuna realidad más allá del ámbito académico. En 1997, se produjo un hecho que marcó unantes y un después, ya que la inteligencia artificial DeepBlue consiguió ganar una partida alcampeón del mundo de ajedrez en ese momento, Gari Kasparov 1.2. Un año antes habíandisputado una partida, en la que Kasparov consiguió la victoria, pero aquel año el mundo fueconsciente del poder real que ofrecían las IAs.

Figura 1.2: Imagen de la partida entre Kasparov y DeepBlue. 1997.

A partir de ahí la inteligencia artificial empezó a expandirse y en la década del 2010llegó su gran explosión. Múltiples compañías empezaron a presentar al mundo sus asistentesvirtuales, tales como Siri de Apple, Cortana de Microsoft o Google Now de Google. A medidaque pasaron los años se desarrollaron más aplicaciones en muchos sectores, por ejemplo enautomoción. Varias marcas como Tesla o Audi comenzaron a utilizar IA para desarrollarvehículos con conducción autónoma. A día de hoy, la cantidad de aplicaciones que tiene laIA es abrumadora, estando presente en muchos sectores más allá del automovilístico: salud,turismo, marketing, seguros, bancos, entre muchos otros. El futuro que depara a la IA aúnestá por ver pues es una tecnología que todavía no ha alcanzado su máximo potencial.

Con este trabajo lo que se pretende es analizar las diferentes técnicas que existen pararealizar un agente entrenado mediante aprendizaje por refuerzo. En función del algoritmo quese utilice, la política de decisión y de evaluación obtendremos diferentes resultados. Para ellose utilizarán una serie de entornos controlados y simulados, siendo los principales videojuegosde la consola Atari 2600. De esta manera podremos obtener información sobre que métodoes mejor para cada entorno. Cabe mencionar que existen un gran número de algoritmos paraentrenar modelos mediante aprendizaje por refuerzo, en este proyecto se han seleccionadotres que en principio son los más destacados por diferentes motivos.

Page 21: Reinforcement Learningaplicadoa videojuegos

2 Objetivos

En este proyecto, el objetivo principal es aprender a través de la experiencia en un ámbitotan innovador como es la inteligencia artificial. Para ello, en base a un estudio previo de lastécnicas existentes, y una experimentación se pretenden lograr dos objetivos en concreto:

• Crear una inteligencia artificial que sea capaz de jugar a juegos de la consola Atari 2600.

• Estudiar los diferentes algoritmos y técnicas que existen a día de hoy para entrenar unared neuronal a través de reinforcement learning.

Para lograr estos objetivos, se dispondrá de una serie de juegos de la Atari 2600 en losque el agente necesita un comportamiento inteligente para superarlos. Previamente, se pro-barán otros entornos fuera de los juegos, más simples, con el objetivo de tener un primeracercamiento al reinforcement learning.

• Definir el entorno en el que va a operar nuestro agente

• Definir el comportamiento deseado para dicho entorno

• Seleccionar un algoritmo de aprendizaje

• Entrenar al agente en dicho entorno durante un periodo definido

• Analizar su comportamiento, y si se requiere, volver a entrenar hasta alcanzar el objetivo

• Repetir el proceso seleccionando otro algoritmo, y comparar los resultados obtenidos

Esta serie de objetivos se llevarán a cabo con diferentes entornos. De esta manera podremosobservar cuál tiene mejores resultados, o cuál está más optimizado, en función del tipo deentorno. Los entornos serán desde un entorno básico con pocas entradas, hasta juegos concierta complejidad.

La finalidad del trabajo es comprender el aprendizaje por refuerzo y entender en quésituaciones puede ser realmente útil.

3

Page 22: Reinforcement Learningaplicadoa videojuegos
Page 23: Reinforcement Learningaplicadoa videojuegos

3 Estado del arte

En este capítulo vamos a comentar proyectos ya realizados con un objetivo similar alnuestro. En este caso, proyectos que se centren en entrenar una red neuronal que sea capazde resolver un juego.

3.1 Stockfish

Stockfish Tord Romstad (2021) es un módulo de ajedrez, desarrollado por los autoresTord Romstad, Marco Costalba y Joona Kiiski. La primera versión fue lanzada en 2008,y era un subproyecto derivado de Glaurung, que era otro módulo de ajedrez. Su objetivoprincipal es decidir en todo momento la mejor jugada posible en una partida de ajedrez, yes una herramienta utilizada por gran parte de los ajedrecistas profesionales al analizar suspartidas. Stockfish es un proyecto de código abierto, y a día de hoy se sigue actualizandogracias a su comunidad, ya que los autores originales dejaron el proyecto hace años. Cuandose creó Stockfish en 2008, las redes neuronales no eran tan familiares para la mayoría deprogramadores, por lo que este módulo no utilizaba inteligencia artificial de ningún tipo. Enprimer lugar, el módulo evalúa la posición actual basándose en donde están ubicadas las piezasdel jugador como las del oponente, y en base a esto obtiene una puntuación que determinasi está ganando o perdiendo. Esta evaluación es bastante compleja y tiene en cuenta otrosfactores, cómo por ejemplo tener la pareja de alfiles o una buena estructura de peones. Acontinuación el módulo crea un árbol de decisiones basado en el algoritmo Minimax. En estealgoritmo, se busca la mejor jugada posible de entre todas las opciones, teniendo en cuentaque para todas ellas, el rival siempre elegirá a continuación la que menos nos beneficie. Cadanodo del árbol representa un estado del tablero, y cada rama una acción propia o del rival.

El ajedrez es un juego muy complejo, y con sólo tres movimientos de cada jugador tenemosmás de 190 millones de posibles escenarios en el tablero, lo cual nos da una idea de lo grandeque puede llegar a ser el árbol de decisiones. Para que esta búsqueda sea viable, el algoritmoincluye múltiples métodos para eliminar ramas que no se desean explorar. Uno de ellos es lapoda alfa-beta, para eliminar nodos cuyo resultado directo es poco beneficioso, como perderuna ficha por ejemplo. Además, se crea una tabla de valores almacenando la informaciónde nodos que se suelen ver a menudo, y no tener que volver a explorarlos. Por otro lado laheurística del algoritmo varía en función del momento de la partida: Al principio del juego sevalora mucho el desarrollo de piezas, el enroque o el control del centro del tablero. Al igualse valoran otros movimientos como malos, por ejemplo mover la reina muy temprano en la

5

Page 24: Reinforcement Learningaplicadoa videojuegos

6 Estado del arte

partida.

A día de hoy, Stockfish tiene una versión paralela al módulo tradicional que incluye redesneuronales. En agosto de 2020, la comunidad de Stockfish lanzó un modo llamado NNUE(Efficiently Updateable Neural Network) para el módulo, con la idea de dejar atrás los méto-dos de evaluación de poda del árbol e incorporar inteligencia artificial. Esto también se debea que sus competidores, como AlphaZero, utilizan redes neuronales y han obtenido mejoresresultados en general.

3.2 AlphaZero

AlphaZero Silver y cols. (2017) es un programa informático creado por DeepMind, unaempresa afiliada a Google que se centra en desarrollo de inteligencia artificial. Fue lanzado en2017, como una variante de otro programa de la misma empresa llamado AlphaGo. AlphaGoes una inteligencia artificial que se desarrolló en 2015 con el objetivo de jugar al juego demesa Go. En 2017, lograron vencer al campeón del mundo de Go en ese momento, lo cualmarcó un hito en la programación ya que hasta ese momento Go era un juego que las IAs nohabían logrado masterizar. Esto es porque Go es un juego con muchos estados posibles, másaun que el ajedrez y que requiere mayor razonamiento humano para no caer en trampas quetiende el otro jugador. Una vez lograron esto, el objetivo de DeepMind fue crear una versiónde AlphaGo generalizada para juegos de dos jugadores de turnos alternos, como el ajedrez olas damas por ejemplo.

AlphaZero en principio se podría aplicar a cualquier juego, pero se ha utilizado en ajedrez,Go y shogi.

Esta inteligencia artificial funciona con una red neuronal convolucional. Para entrenar dichared, se utilizó aprendizaje por refuerzo, la misma técnica que aplicaremos en este proyecto. Alprincipio el agente sólo conoce las normas del juego en el que se quiere entrenar; por ejemplo,en ajedrez, qué movimientos están permitidos, que significa la posición de jaque y jaque mate,las mecánicas de comer piezas, etc. Después, la IA empieza a jugar partidas consigo misma,al principio con movimientos aleatorios pues no conoce qué movimiento es mejor en cadasituación. Una vez que la partida termina, la IA analiza los movimientos del ganador, asícomo el estado del tablero en ese momento. De esta forma, comienza a recopilar informaciónsobre cómo jugar para ganar. Para elegir la siguiente jugada, el algoritmo crea un árbol debúsqueda de Monte Carlo similar al que hemos comentado de Stockfish. La diferencia es queen este árbol no se realiza una búsqueda exhaustiva con poda de ramas, sino que el árbolse genera a partir de simulaciones. Partiendo del estado actual, representado por el nodopadre, se realiza una simulación con cada una de las posibles acciones, eligiendo una de ellasal azar. Se continúan eligiendo acciones hasta llegar a un punto en el que el juego termina,y ahí se evalúa si se ha ganado o perdido. Al generar una gran cantidad de simulaciones, elárbol genera unas probabilidades de las posibilidades de éxito de cada acción posible, y asíelige la siguiente acción. La red neuronal ayuda al algoritmo a elegir que acciones son mas

Page 25: Reinforcement Learningaplicadoa videojuegos

3.3. Agent57 7

prometedoras, y por tanto que ramas merece más la pena explorar. Cuando se termina lapartida, la red neuronal se actualiza, volviendo a revisar cada uno de los estados y analizandosi el resultado era el esperado para la acción tomada.

Según DeepMind, tras una sesión de entrenamiento de 4 horas, equivalente a unos 300 milpasos, el agente ya había superado en rendimiento a Stockfish.

3.3 Agent57

Agent57 Badia y cols. (2020) es otro proyecto de la empresa DeepMind. Es un agente in-teligente que es capaz de completar 57 juegos de la consola Atari 2600 y ha sido entrenadomediante deep reinforcement learning. Anteriormente DeepMind ya había trabajado en pro-yectos similares, llamados R2D2 y Never Give Up. Lo especial de este agente es que tiene unrendimiento superior al de los humanos en todos los juegos, mientras que los anteriores eranmuy buenos en algunos, pero no llegaban al nivel humano en otros. Esto era debido a quehay juegos en los que la recompensa no es tan directa, y no es fácil para el agente identificarla reacción directa a su acción. En estos juegos, dónde hay que pensar más allá de lo queviene a continuación, se dice que hace falta un razonamiento más humano.

Para entrenar este agente, se aplicaron múltiples técnicas de deep reinforcement learning.En primer lugar, en vez de tener un sólo agente entrenando y aprendiendo del entorno, seañadieron agentes distribuidos. De esta manera, podían haber múltiples agentes en distintosdispositivos, todos ellos entrenando en el mismo entorno pero obteniendo sus resultados.Dichos resultados después, se transfieren a un banco de memoria central. A su vez, hay otroagente que se denomina learner (aprendiz) el cual con dicha información actualizaría los datosde la red neuronal. Con cierta frecuencia también se actualizan las redes neuronales de losagentes que están generando resultados, para que tengan los mismos valores que el aprendiz.Además, el agente posee un módulo para almacenar pasos que ya han sucedido, cómo ellosllaman una memoria a corto plazo. Esto es útil en juegos y entornos dónde la informaciónnecesaria no es sólo la actual. Quizá la parte más interesante de lo que implementa nuevoAgent57 sea el meta-controlador que se encarga de decidir cuándo explorar y cuándo explotar.Explorar es tomar acciones nuevas, de las que no se conoce el resultado a obtener, mientras queexplotar se refiere a tomar únicamente decisiones cuyo resultado es conocido por el agente.Para explorar, hay que tomar decisiones al azar, pero esto puede resultar útil en muchasocasiones. Para ello, Agent57 cuenta con un meta-controlador que gestiona estos valores dealeatoriedad, es decir, decide cuando es mejor explorar y cuando es mejor explotar.

En conclusión, Agent57 es un agente capaz de resolver tanto juegos complejos que requierentener en cuenta acciones que se tomaron hace mucho tiempo así como juegos sencillos en losque la consecuencia de la acción se obtiene en seguida.

Page 26: Reinforcement Learningaplicadoa videojuegos
Page 27: Reinforcement Learningaplicadoa videojuegos

4 Metodología

4.1 Hardware

En este apartado se van a listar las características del hardware utilizado, así como elsistema operativo.

• Ordenador con sistema operativo Windows 10

• Tarjeta gráfica Nvidia RTX 2070

• Procesador Intel i-7 11ª generación

• 16Gb memoria RAM

4.2 Software

Para el software se han utilizado diferentes herramientas, las cuales vamos a listar y co-mentar para qué se utilizan de forma genérica; y así más adelante mencionar como se hanutilizado en este trabajo en concreto.

4.2.1 Anaconda

Anaconda es una distribución libre de Python y R, orientada a la ciencia de datos. Sucometido es facilitar la instalación de librerías mediante su gestor de paquetes conda, y porotro lado facilita el poder tener múltiples entornos con diferentes librerías. De esta manera,podemos tener diferentes entornos con diferentes versiones de Python o R, así como diferentesversiones de las librerías que podamos necesitar. Es uno de los softwares más utilizados a lahora de entrenar modelos de aprendizaje por refuerzo por este motivo.

9

Page 28: Reinforcement Learningaplicadoa videojuegos

10 Metodología

4.2.2 Librerías

• OpenAI Gym

Es una librería creada para entrenar modelos de reinforcement learning Brockman y cols.(2016). Cuenta con una cantidad considerable de entornos predefinidos. Estos entornosya tienen un agente a controlar, una recompensa y un espacio de acciones sobre elque puede actuar nuestro agente. Es una librería muy utilizada, y tiene compatibilidadcon muchas otras librerías que incorporan algoritmos para entrenar modelos de RL, onuevos entornos.

• ALE

Arcade Learning Environment Bellemare y cols. (2013). Es un paquete que incluyeentornos de juegos arcade de la Atari 2600, definidos por completo. Este paquete se co-munica directamente con la librería OpenAI Gym, y permite entrenar agentes en dichosentornos. Su utilidad es que facilita mucho entrenar nuestros modelos de reinforcementlearning, puesto que atribuye directamente las acciones como entradas en los juegos yel espacio de observación como la imagen que se percibe. Es la librería más utilizada ala hora de entrenar agentes que jueguen a juegos de la consola Atari.

• Stable Baselines 3

Es una librería que implementa múltiples algoritmos para entrenar agentes medianteRL Raffin y cols. (2021). Viene de una versión anterior, stable-baselines, que en esenciatenia el mismo objetivo. Esta nueva versión está creada para tener compatibilidad connuevas versiones de las liberías de las que depende. Aparte de implementar múltiplesalgoritmos, tiene más funcionalidades. Por ejemplo, permite vectorizar entornos paraentrenar nuestro agente en varios entornos al mismo tiempo. Esto acelera bastante elproceso de entrenamiento, pero a su vez requiere más recursos de la GPU. También per-mite evaluar nuestro modelo durante los episodios que deseemos, y almacenar datos delentrenamiento para visualizarlos luego en Tensorboard. En la librería vienen integradasalgunas estructuras para la red neuronal, como pueden ser CNN (Red neuronal con-volucional) o MLP (Percepción multicapas), pero también nos permite utilizar nuestraestructura personalizada.

• Tensorboard

Este paquete es una herramienta desarrollada por los creadores de Tensorflow, y se utili-za para visualizar datos relacionados a los entrenamientos de redes neuronales. Disponede múltiples maneras de visualizar los datos, como gráficas, histogramas, imágenes ytexto. Los datos que se representan dependen del modelo que entrenemos y la libreríaque utilicemos, cómo veremos más adelante. Pero referido a entrenamiento por refuer-zo, los datos más relevantes suelen ser la recompensa media por episodio y la duración

Page 29: Reinforcement Learningaplicadoa videojuegos

4.2. Software 11

media de los episodios.

4.2.3 Algoritmos

En esta sección vamos a comentar los diferentes algoritmos que se han utilizado paraentrenar a nuestros agentes.

• Deep Q-Network

El algoritmo DQN fue introducido por primera vez en 2013 Mnih y cols. (2013), desa-rrollado por la empresa DeepMind. Pero su uso se popularizó a partir de 2015, cuandose publicó un paper en Nature Mnih y cols. (2015) detallando más su funcionamiento.

La idea principal del algoritmo DQN es fusionar el algoritmo ya conocido de Q-Learningcon las redes neuronales. Q-Learning funciona creando una tabla con pares estados-acción. A medida que el agente va ejecutando acciones, y recibiendo recompensas, ac-tualiza dicha tabla que en un futuro le ayudará a tomar la mejor decisión posible. Estealgoritmo funciona bien en entornos cuyos estados y acciones están bastante limitados,pero si nos encontramos en un entorno cuyos estados son demasiados, la tabla se volve-ría demasiado grande y sería inviable. Es el caso del ajedrez o los videojuegos, entornoscon un número de estados demasiado alto para computarlos en una tabla.

Como el objetivo de la tabla de Q-Learning es devolver una acción(a) para un determi-nado estado(s), se puede estimar como una función Q(s,a). La idea detras del algoritmoDQN es estimar el valor Q(s,a) a partir de redes neuronales. Para esto, DQN tiene dosredes neuronales con la misma arquitectura. Una es la llamada main neural network(red neuronal principal), la cual está para estimar el valor de Q para el par estado-acciónactual. Por otro lado, está la target neural network (red neuronal objetivo), que estimael valor de Q para el par estado-acción en el siguiente estado. La red neuronal que reali-za el aprendizaje es la red neuronal principal, mientras que la red neuronal objetivo noaprende, pero cada varios miles de pasos copia los valores de la red principal. Esto sehace ya que actualizar la red neuronal objetivo en cada paso puede generar problemasa la hora de entrenar, puesto que es mejor tener una red estable para el objetivo.

Además hay otras técnicas que se utilizan para agilizar el proceso de aprendizaje. Porejemplo, en los entornos basados en ALE, y en general en cualquier entorno de video-juegos se suelen saltar frames. Esto es debido a que la mayoría de juegos se ejecutana 60 frames por segundo, pero en un segundo no es necesario tomar 60 acciones dife-rentes. Por ello lo que se hace es saltar los últimos frames (Suelen ser los últimos 4,pero se puede cambiar al valor que se desee). Estos frames que se saltan, luego se uti-lizan como entrada a la red neuronal cuando se va a calcular la nueva acción a tomar.Computacionalmente agiliza mucho el proceso, pues en vez de calcular 60 acciones porsegundo, pasaríamos a calcular solamente 15, sin perjudicar la percepción del entorno

Page 30: Reinforcement Learningaplicadoa videojuegos

12 Metodología

del agente.

• Advantage Actor Critic

Advantage actor critic Mnih y cols. (2016), abreviado como A2C, es un algoritmo deaprendizaje por refuerzo introducido por primera vez en 2017.

Cuando hablamos de algoritmos aplicados a reinforcement learning, normalmente te-nemos dos tipos: Basados en política y basados en valor. Los basados en valor, nodevuelven que acción debe tomar el agente para un estado dado, sino que devuelvencuál será la recompensa para cada acción posible. Con esta información se pueden to-mar diferentes caminos, por ejemplo elegir el que tenga mayor recompensa. Por otrolado encontramos los algoritmos basados en política, que en este caso no devuelven elvalor para cada acción sino que directamente devuelven la acción a escoger. Por último,existe una tercera variación que son los algoritmos actor-crítico, los cuales no entran enningún grupo de los anteriores pues son una mezcla de ambos.

En los algoritmos actor-crítico tenemos dos redes neuronales trabajando a la vez: elactor y el crítico. La red neuronal actor es la que se encarga en cada momento decalcular la acción a tomar en el siguiente paso, mientras que la red crítico evalúa dichaacción. El actor se basa en política, es decir, solo conoce la acción a tomar. También vamodificando la política con la que toma dicha acción a medida que aprende. Por otrolado, el crítico se basa en valor. De esta manera, evalúa cada acción que se ha tomadopara comprobar si realmente es la que mayor beneficio puede aportar. Por eso se diceque los algoritmos actor-crítico son un híbrido entre ambos modelos. Cabe destacar quegeneralmente en estos algoritmos se utilizan múltiples actores que entrenan en el mismoentorno, y un crítico. De esta manera el proceso de entrenamiento se acelera bastante.Cada cierto intervalo de tiempo, todos los actores actualizan su red neuronal para tenerla misma y mejor en ese momento.

Existen diferentes tipos de algoritmos actor-crítico, siendo dos de los más popularesel Advantage Actor Critic (A2C) y el Asynchronous Advantage Actor Critic (A3C).En el algoritmo A2C tenemos una función de ventaja, que sustituye a la función devalor que hay en otros algoritmos como DQN por ejemplo. Esta función de ventajacalcula la diferencia entre el valor de nuestra acción Q(s,a) y el valor promedio paraese estado V(s). Esto nos indica si la acción escogida es mejor que la media. Por suparte, el algoritmo A3C lo que incorpora es la capacidad de entrenamiento asíncrono.Esto significa que en AC3 podemos tener a varios actores entrenando a la vez, pero notienen por que empezar y terminar los episodios al mismo tiempo. En A2C, por contra,el entrenamiento es síncrono y todos los actores han de empezar a la vez, y hasta queno han terminado el episodio todos no pueden volver a empezar.

• Proximal Policy Optimization

Proximal policy optimization Schulman y cols. (2017), abreviado como PPO, es un

Page 31: Reinforcement Learningaplicadoa videojuegos

4.2. Software 13

algoritmo de entramiento de modelos basados en aprendizaje por refuerzo. Fue mostradoal público por primera vez en julio de 2017, por la empresa que lo creó, OpenAI.Este algoritmo está basado en los algoritmos actor-crítico con algunas diferencias queexplicaremos a continuación. La motivación para utilizar este algoritmo es que da muybuenos resultados y no es muy complejo ajustar sus parámetros.

Este algoritmo forma parte de los algoritmos policy gradient, los cuales tienen una es-tructura similar a los actor-critic. Estos algoritmos tienen como objetivo encontrar lafunción que determine la mejor acción posible directamente, a diferencia de los basadosen valor que lo que hacen es ajustar unos valores que modifican dicha función. Estafunción se conoce como policy o política en español. Para cada algoritmo es diferente,pero por ejemplo en DQN lo que se ajusta no es la política, sino la probabilidad deejecutar cada una de las acciones en cada estado. Esto afecta a la política, ya que en sufunción tiene en cuenta dicha probabilidad, pero muchas veces da mejor resultado mo-dificar la política directamente. Otra ventaja respecto a DQN está al ejecutar accionescontínuas, dónde en principio se obtienen mejores resultados.

Page 32: Reinforcement Learningaplicadoa videojuegos
Page 33: Reinforcement Learningaplicadoa videojuegos

5 Desarrollo

5.1 Experimentación

En primer lugar, voy comentar un par de entornos con los que me familiaricé en primer lugarcon las técnicas de reinforcement learning. Si bien los juegos de Atari son entornos controladosy óptimos para aplicar dichas técnicas, puede ser un poco complicado al principio hacer quefuncionen, ya que requieren usar varias librerías externas. Además, el espacio de observaciónes mucho más grande que los que se mostrarán a continuación, y por tanto requieren muchomás tiempo de entrenamiento. Es por ello que primero decidí utilizar estos entornos.

• Cart Pole

Figura 5.1: Entorno Cart Pole.

Cart Pole 5.1 es el entorno más simple con el que he trabajado para este proyecto.Consiste en una plataforma que puede desplazarse lateralmente, sobre la que reposauna barra unida en uno de sus extremos a la plataforma. En este entorno, el agentees la inteligencia artificial que se encarga de mover a la plataforma. Su espacio deacciones consiste en mover la plataforma hacia la derecha o hacia la izquierda. Suespacio de observación, se compone de cuatro componentes numéricos: La velocidad dela plataforma, la aceleración de la plataforma, el ángulo que tiene la barra y la velocidadangular de la barra. El objetivo del agente es conseguir que la barra se mantenga enequilibrio el mayor tiempo posible. Para ello, por cada paso del episodio que la barra estévertical, el agente recibe una recompensa de 1. Si la barra se inclina más de un ánguloestablecido, en este caso 24º hacia cualquier lado, el episodio se da por terminado. Sise completan 200 pasos, el episodio también termina por tiempo máximo alcanzado.

15

Page 34: Reinforcement Learningaplicadoa videojuegos

16 Desarrollo

Por lo que el objetivo del agente para considerar que es capaz de resolver el problemaes obtener una puntuación de 200 de forma regular. Este entorno no es complejo, peroes muy útil para entender bien los conceptos, y al tener un entorno con un espacio deacciones y observación pequeño, permite obtener buenos resultados sin mucho tiempode entrenamiento.

• Car Racing

Figura 5.2: Entorno Car Racing.

Este entorno 5.2 está creado utilizando el motor de físicas Box2D. Este motor estápensado para crear videojuegos en 2 dimensiones con un motor de físicas sencillo, perotambién se utiliza para crear entornos donde entrenar modelos con reinforcement lear-ning. Dentro de OpenAI Gym, encontramos varios entornos que utilizan dicho motor,y este entorno fue el que más me llamó la atención. Consiste de un coche y un circuitoque se genera aleatoriamente en cada episodio. El objetivo es sencillo: Conseguir que elcoche recorra todo el circuito sin salirse, o saliéndose lo menos posible de la pista. Eneste caso el agente es la inteligencia artificial que controla el coche. Su espacio de ob-servación es una matriz con la información de la imagen que se ve en pantalla, dicho deotra manera, el agente observa una imagen al igual que haría una persona al controlarel vehículo. Su espacio de acción consiste de tres acciones: El giro, que se representacomo un valor numérico entre -1 y 1; el acelerador, cuyo valor va entre 0 y 1; y el freno,cuyo valor también está entre el 0 y el 1.

La recompensa aplicada, es de -0.1 por cada paso que transcurra del episodio sin queeste finalice. Para que termine, hay dos posibilidades, que el coche haya recorrido todoel circuito o que se aleje demasiado del circuito. Para simplificar y saber si el coche harecorrido todo el circuito, lo que hace el entorno es dividir la pista en secciones muypequeñas, en las que si el vehículo pasa por ahí se dan por visitadas. Pero recordemosque cada pista se genera de manera aleatoria, por lo que algunas tendrán más o menossecciones. Para ello, la recompensa se normaliza de manera que no importe la longituddel circuito. Una vez termina el episodio, a la recompensa se le suma una cantidad de1000/N, siendo N cada sección de la pista. Si ha recorrido todo el circuito, entonces larecompensa será de 1000 - 0.1*P; siendo P los pasos que ha durado el episodio. Segúnel creador del entorno, se puede dar por resuelto cuando se obtiene una puntuación

Page 35: Reinforcement Learningaplicadoa videojuegos

5.2. Entornos elegidos 17

superior a 900 de forma constante.

5.2 Entornos elegidos

Bien, ahora sí, pasaré a comentar los juegos finales elegidos en los que se entrenaran agen-tes con diferentes técnicas de reinforcement learning. Estos entornos son notoriamente máscomplejos que los anteriores, y para obtener buenos resultados ha de emplearse mucho tiempoentrenándolos.

• Breakout

Figura 5.3: Videojuego Breakout.

Este entorno consiste en el juego Breakout de la consola Atari 2600 5.3. El juego consisteen una agrupación de bloques en la parte superior de la pantalla, una bola y unaplataforma situada en la parte inferior. La plataforma se puede desplazar libremente aizquierda y derecha, sin salirse de la pantalla. Al comenzar el juego, la bola se desplazahacia abajo en una dirección aleatoria. El objetivo del jugador es que la bola no lleguea tocar la parte inferior de la pantalla, haciendo que rebote en la plataforma que élcontrola. Por otro lado, cada vez que la bola impacte con alguno de los bloques queestán en la parte superior, este se destruirá y otorgará al jugador un número de puntos.Si la bola consigue tocar la parte inferior, el jugador pierde una vida, y si pierde tresvidas el juego se termina. El agente en cuestión, es de nuevo la inteligencia artificialque controla la plataforma.

Page 36: Reinforcement Learningaplicadoa videojuegos

18 Desarrollo

El espacio de observación del agente, consiste en los píxeles de la pantalla, en formatoRGB. Es decir, recibe tres matrices con un valor para cada elemento entre 0 y 255, querepresentan cada uno de los canales de la imagen. Cabe mencionar que hay dos versionesde este entorno, una que utiliza la información de la pantalla como hemos mencionado,y otra que utiliza la información de la memoria RAM. Por otro lado, el espacio deacciones consiste en desplazar la plataforma hacia la izquierda, hacia la derecha, o nomoverla. El episodio se da por terminado cuando el agente pierde el juego. A prioriparece sencillo, pero simplemente probando a jugar uno mismo a este juego, se observaque es muy complicado obtener una puntuación alta, debido a la gran velocidad a laque se desplaza la bola.

Los episodios empiezan con el jugador teniendo cinco vidas, y terminan una vez queeste pierde todas sus vidas. La puntuación se mide en puntos, y equivale a un puntopor cada bloque derribado. Por otro lado, la recompensa es la diferencia de puntos deun estado a otro, por lo que si en un momento dado consigue derribar un bloque, lapuntuación subirá en uno y la recompensa en ese momento será uno.

• Pac-Man

Figura 5.4: Videojuego Ms Pacman.

Al igual que Breakout, este entorno consiste en otro juego de la Atari 2600, en este casoPac-Man 5.4. El juego se compone de Pac-Man, el personaje principal al que nosotroscontrolamos, el escenario y los enemigos. El escenario es un laberinto en dos dimensiones,predefinido, el cual tiene en todo su recorrido una serie de bolas que representan lospuntos. Además hay unas bolas un poco más grandes que nos permiten obtener un

Page 37: Reinforcement Learningaplicadoa videojuegos

5.3. Preparación del entrenamiento 19

modo especial y poder comernos a los enemigos. Los enemigos, por su parte, son cuatrofantasmas que van a ir dando vueltas por el laberinto, intentando encerrarnos, ya quesi nos tocan perdemos una vida y volvemos al punto de inicio. Si perdemos tres vidas,el juego termina y se reinicia todo el escenario. El objetivo del jugador es obtener todaslas bolas pequeñas que representan los puntos, sin perder las tres vidas. Es decir, paraganar hay que recorrer todo el laberinto evitando que los enemigos te alcancen.

El espacio de observación para este entorno, al igual que en Breakout, se compone dela imagen actual del juego. Es decir, nuevamente tres matrices. El espacio de acciónen este caso son las cuatro direcciones en las que el personaje puede moverse: Arriba,abajo, derecha e izquierda. Además, se incluyen cuatro direcciones diagonales, y unatercera acción que equivale a no mandar ningún input al emulador. En total tenemos 9acciones posibles.

El sistema de recompensa funciona de manera muy similar al de Breakout, ya quevolvemos a tener por un lado la puntuación y la recompensa. En este caso, la diferenciacon Breakout es el orden de la puntuación, pues en Pacman los puntos llegan a alcanzarvarios miles y en Breakout apenas unas decenas. En Pacman, se consiguen 10 puntospor cada punto que se coma en el laberinto, y 50 puntos por cada bola grande que da elpoder de comer fantasmas. Además, se consiguen puntos al comer algún fantasma: 200por el primero, 400 por el segundo, 800 por el tercero y 1600 por el cuarto consecutivo.De manera que, completar el primer nivel puede tener un numero variable de puntos,pero con aproximadamente 3000 se puede hacer.

5.3 Preparación del entrenamiento

En esta sección voy a explicar como se ha llevado a cabo la puesta a punto de los entornosy todo lo necesario previo al entrenamiento de cada modelo. Para explicar el proceso, vamosa utilizar el entorno Pacman a modo de muestra.

En primer lugar, lo más importante es definir ciertos aspectos para poder llevar a cabo elentrenamiento por refuerzo. En primer lugar tenemos el entorno, el cual es el conjunto delespacio dónde nuestro agente va a actuar, las acciones que puede tomar y las recompensas queva a recibir. En el juego Pacman, el entorno es todo el juego en si, al igual que en Breakout.

Desglosándolo, tenemos un espacio de observación y un espacio de acciones. El espacio deobservación es aquello que el agente puede ver, en el caso de Pacman la pantalla. Hay otrosentornos dónde el agente no ve la pantalla y observa otros datos como por ejemplo la memoriaRAM de la consola. O también en entornos que no son juegos dónde lo que el agente observason datos numéricos de una situación, como es el caso de Cart Pole. En este espacio lo queel agente observa es la velocidad angular, velocidad lineal e inclinación del péndulo. Al tenermenos datos que observar, esto facilita bastante el entrenamiento. Por otro lado tenemos elespacio de acciones, que son todo el conjunto de acciones que un agente puede tomar de un

Page 38: Reinforcement Learningaplicadoa videojuegos

20 Desarrollo

estado a otro. Estas acciones modifican el entorno en alguna manera. Nuestro trabajo previoes definir correctamente ambos espacios, para que el agente observe y actúe en el entorno dela manera que nos interesa. En el caso de Pacman, las acciones corresponden a moverse apesar de que esas no son todas las acciones originales que un usuario puede tener en el juego.Por ejemplo, existe un botón de pausa en el mando para abandonar la partida, pero no nosinteresa que el agente ejecute esta acción en ningún momento, por lo que descartamos esaentrada al emulador.

Por otro lado tenemos las recompensas, que son la otra parte más importante a definir antesde comenzar el entrenamiento. Estas se encargarán de recompensar al agente cuando realiceacciones que consideremos las correctas. Por ejemplo en el caso de Pacman, las recompensaslas recibe al conseguir puntos en el juego. Los puntos se consiguen completando el laberintoprincipalmente, pero también al comer fantasmas o conseguir objetos especiales que aparecenen el mapa. Pero como la manera segura de conseguir puntos es recorriendo el laberinto, elagente siempre tiende a que esa sea su principal manera de obtener recompensas. Tambiénhay ocasiones en las que podemos aplicar una recompensa negativa si el agente está haciendoalgo que no queremos. Por ejemplo en el entorno Car Racing, si el coche se sale de la carreteraéste recibe una recompensa negativa.

Definir estos parámetros es algo clave en la fase previa al entrenamiento, puesto que todoslos algoritmos necesitan de ellos. Independientemente de cual estemos usando, todos necesitande estos parámetros siempre. En mi caso, al utilizar la librería Arcade Learning Environment,estos parámetros ya venían definidos. De todos modos al ser una librería que utiliza juegosde Atari, muchas cosas no están bien documentadas, y en mi caso tuve una fase previa deentender cuál era el espacio de acción y de observación del agente en los entornos.

Una vez tenemos esto definido, podemos empezar a entrenar nuestro modelo. En mi caso,utilicé la librería Stable Baselines 3, la cual incorpora un buen número de algoritmos paraRL. Aquí fui entrenando el número de pasos que determiné en los tramos, como se explicarámás adelante, y guardando el modelo para cada tramo de entrenamiento y así poder observarla evolución al terminar el entrenamiento. Una vez tenemos el modelo entrenado, nos quedala última fase que consiste en evaluar dichos modelos.

Para evaluar, la librería Stable Baselines 3 dispone de una función que nos permite evaluarnuestro modelo durante un número de episodios a elegir. En mi caso, decidí hacerlo durante10 episodios, para cada uno de los modelos que había obtenido. Al terminar esos 10 episodios,se calcula la media de recompensa obtenida en cada uno de ellos y la media de duración deepisodio. Estos datos suelen ser bastante similares a los del entrenamiento, pero lo intere-sante es que al evaluar podemos visualizar el entorno y ver que estrategias está siguiendo elagente. También podemos evaluar los entrenamientos gracias a las gráficas que se generan alrealizarlos, y que podemos ver a través de Tensorflow. Esto nos permite saber si el entrena-miento ha sido bueno, si el agente está estancado y no aprende más, si el entrenamiento estáempeorando los resultados, etc. Y con esto podríamos concluir a grandes rasgos la línea detrabajo para cada uno de los algoritmos y los entornos elegidos.

Page 39: Reinforcement Learningaplicadoa videojuegos

6 Resultados

En este capítulo vamos a analizar los resultados para ambos entornos con cada uno delos algoritmos seleccionados para el entrenamiento. En la librería que hemos elegido paraentrenar nuestros agentes, Stable Baselines 3, la manera de medir cuánto queremos entrenarun modelo es por pasos. Un paso se define como un cambio en el entorno de un estado alsiguiente, en el que al probar un modelo, este elige una acción en cada paso. En este caso,aplicado a los juegos, un paso equivale a un frame. En la Atari 2600, los juegos se ejecutana 60 frames por segundo, por lo que en un solo segundo tendríamos 60 pasos. La realidad esque en un segundo nunca llegan a haber 60 cambios significativos en el entorno, ni nuestroagente necesita tomar 60 acciones diferentes, por lo que esto es muy ineficiente. Lo que sehace es utilizar una técnica llamada stacking. Consiste en almacenar los últimos 4 frames deljuego y agruparlos todos en uno sólo haciendo una media. De esta manera conseguimos quecada paso sea más significativo.

Para entrenar a los agentes, los entrenamientos se han dividido en los siguientes bloques:

• De 0 a 100K pasos.

• De 100K a 500K pasos.

• De 500K a 1M de pasos.

• De 1M a 5M de pasos.

• De 5M a 10M de pasos.

De esta manera obtendremos gráficas para cada sector y observaremos si realmente elagente mejora al entrenarlo durante más pasos, o no es así.

Por otro lado, las gráficas que obtendremos serán la de duración de episodio y la de recom-pensa. Duración de episodio se refiere a la duración media de los episodios que han sucedidoen ese intervalo, puesto que las gráficas se generan en intervalos de 8000 pasos. Es interesan-te conocer este dato pues es un indicador de que el entrenamiento va por buen camino. Laduración del episodio se mide en pasos. Por otro lado tenemos las recompensas medias paradichos episodios. Este dato es quizá el más relevante a la hora de evaluar el entrenamiento.Esta recompensa se mide en puntos, y es bastante diferente en Pacman y en Breakout, comoya hemos comentado en anteriores apartados.

21

Page 40: Reinforcement Learningaplicadoa videojuegos

22 Resultados

6.1 Pacman y A2C

En primer lugar, vamos a comentar los resultados obtenidos utilizando el algoritmo A2Cpara entrenar el agente en el entorno de Pacman. Procederemos a comentar cada tramo, ydespués analizar el entrenamiento completo.

Figura 6.1: Duración media de los episodios de 0 a 100K pasos usando A2C.

Figura 6.2: Recompensa media de los episodios de 0 a 100K pasos usando A2C.

Para el primer tramo, de 0 a 100K pasos 6.1 6.2, los resultados no son especialmentesignificativos pues aun es muy poco entrenamiento. Como podemos ver en la gráfica derecompensas, tiene un despunte al comienzo, pero esto es algo fortuito y aleatorio. Si bien

Page 41: Reinforcement Learningaplicadoa videojuegos

6.1. Pacman y A2C 23

obviamos ese despunte, vemos que el modelo tiene una tendencia a subir ligeramente, y alfinal de este tramo alcanza una recompensa media de 580. Por otro lado observamos que conla duración pasa algo inverso, al principio el agente aguanta más tiempo vivo, pero consiguemenos puntos en general; y en el tramo final los episodios se acortan en favor de obtener máspuntos. Aquí entendemos que el agente ha encontrado una estrategia más agresiva pero quele permite obtener más puntos.

Figura 6.3: Duración media de los episodios de 100K a 500K pasos usando A2C.

Figura 6.4: Recompensa media de los episodios de 100K a 500K pasos usando A2C.

En el segundo tramo 6.3 6.4, entre 100K y 500K pasos observamos como al principio elagente consigue alargar la duración de los episodios, a pesar de que esto le esté dando menospuntos en ese momento. El agente, aún explorando, está considerando estrategias que a lalarga pueden dar mejor resultado. Sobrevivir más tiempo generalmente va a significar máspuntos, por lo que está optando por eso. Como vemos, al pasar los 300K pasos aproximada-mente, las recompensas empiezan a aumentar, y si bien al final del entrenamiento éstas nohan superado con creces a las que habían al principio (620 al final, por 580 al principio), si

Page 42: Reinforcement Learningaplicadoa videojuegos

24 Resultados

observamos una gran mejora en la duración de los episodios. Sin duda esto generará mejoresresultados en el futuro, como veremos a continuación.

Figura 6.5: Duración media de los episodios de 500K a 1M pasos usando A2C.

Figura 6.6: Recompensa media de los episodios de 500K a 1M pasos usando A2C.

En este tramo 6.5 6.6, de 500K a 1M de pasos, se puede observar como la relación entrela recompensa y la duración de los episodios es mas directa. Ambas van creciendo a la vez, adiferencia de anteriores tramos donde en algunos momentos una crecía y la otra disminuía.Aquí, simplemente se observa una gran mejora, pues hemos pasado en 500K pasos de teneruna recompensa de 620 a sobrepasar los 950 puntos. Es la mejora más notable en todo elproceso de entrenamiento hasta ahora, veamos como continúa.

Page 43: Reinforcement Learningaplicadoa videojuegos

6.1. Pacman y A2C 25

Figura 6.7: Duración media de los episodios de 1M a 5M pasos usando A2C.

Figura 6.8: Recompensa media de los episodios de 1M a 5M pasos usando A2C.

En el tramo de 1M a 5M 6.7 6.8, podemos empezar a observar cierta inestabilidad enlos resultados. Si bien es cierto que entre el principio y el final, ha habido una mejora depuntuación (de 950 a 1200), podemos observar muchos picos, y sobretodo un pequeño bajón enel tramo final. Mirando las recompensas podemos observar como, a pesar de la inestabilidad,los resultados hasta pasar el episodio 4M tienen a ir en alza. Incluso llega a haber un picoen 1800, el cual es prácticamente el doble de la puntuación al inicio del tramo. Pero, en el

Page 44: Reinforcement Learningaplicadoa videojuegos

26 Resultados

ultimo millón de pasos de entrenamiento, las recompensas caen drásticamente hasta llegar aun resultado que no es malo, pero no es sorprendente como podría haber sido. Nuevamente lagráfica de duración, va bastante acorde con la de recompensas y no presenta gran diferencia.

Figura 6.9: Duración media de los episodios de 5M a 10M pasos usando A2C.

Figura 6.10: Recompensa media de los episodios de 5M a 10M pasos usando A2C.

Para el último tramo del entrenamiento 6.9 6.10, de 5M a 10M de pasos, tenemos unaanomalía bastante llamativa. En un período que abarca desde el paso 6.4M aproximadamentehasta los 8M de pasos, encontramos una gran llanura en ambas gráficas. Es decir, durante1.6M de pasos, el agente estuvo recibiendo una recompensa mínima histórica de 150 junto conuna duración también muy baja en torno a 700 pasos. Esto puede tener varias explicaciones:Puede que el agente se haya estancado probando una estrategia y no consiga salir de ahí, yaque en este punto el agente tiende a explorar muy poco nuevas opciones. También es posibleque se deba a un fallo de software a la hora de entrenar y algo no se estuviera ejecutandocorrectamente en ese punto. Sea como sea, obviando ese tramo, podemos ver como la tendenciasigue siendo la inestabilidad, como teníamos en el tramo anterior. Si bien aquí, el resultado

Page 45: Reinforcement Learningaplicadoa videojuegos

6.1. Pacman y A2C 27

final es bastante bueno, dejándonos una recompensa media de 1600 aproximadamente.

Figura 6.11: Duración media de los episodios para el entrenamiento completo usando A2C.

Figura 6.12: Recompensa media de los episodios para el entrenamiento completo usando A2C.

En conclusión, y observando las gráficas del entrenamiento completo 6.11 6.12, podemossacar varias conclusiones. El entrenamiento en general, es irregular, pero esto es algo comúnen agentes entrenados con reinforcement learning. En 4.2M de pasos aproximadamente, elagente alcanza su punto máximo de recompensas, y de ahí en adelante no solamente es queestas bajen, sino que el entrenamiento se vuelve especialmente inestable. Por lo que, viendolos resultados, con un entrenamiento más corto en torno a 4M de pasos seguramente hubierasido suficiente. Realmente esto no lo podemos saber, pues quizá con cientos de millones depasos la tendencia sería a seguir mejorando los resultados, y estas variaciones que ahoraparecen grandes al final se verían como un ascenso.

Ahora procederemos a realizar una evaluación para cada uno de los modelos según los pasosentrenados 6.1 6.2. En este caso, se realizarán 10 simulaciones con cada modelo en el entornoy se calculará el resultado medio, en duración y recompensa. De esta manera tendremos otramétrica de los resultados obtenidos.

Page 46: Reinforcement Learningaplicadoa videojuegos

28 Resultados

Número de pasos entrenados 100K 500K 1M 5M 10MDuración 646 890 666 1012 1077

Cuadro 6.1: Resultados obtenidos para la duración media en la fase de evaluación con A2C en elentorno Pacman.

Número de pasos entrenados 100K 500K 1M 5M 10MRecompensa 332 291 226 1429 1762

Cuadro 6.2: Resultados obtenidos para la recompensa media en la fase de evaluación con A2C en elentorno Pacman.

6.2 Pacman y DQN

Ahora pasaré a comentar los resultados obtenidos para el entrenamiento del agente en elentorno de Pacman utilizando el algoritmo DQN. En principio es un algoritmo más antiguopero no significa que vaya a dar peores resultados necesariamente, ahora veremos.

Figura 6.13: Duración media de los episodios de 0 a 100K pasos usando DQN.

Page 47: Reinforcement Learningaplicadoa videojuegos

6.2. Pacman y DQN 29

Figura 6.14: Recompensa media de los episodios de 0 a 100K pasos usando DQN.

Para el primer tramo 6.13 6.14, de 0 a 100K pasos, observamos una progresión bastantelineal. En cuanto a la duración de los episodios, tenemos una gran subida al principio, ydespués un ascenso más lento pero que se mantiene hasta el final del tramo. En cuanto alas recompensas medias, podemos ver como durante la primera mitad se mantienen un pocoestancadas en un valor bastante bajo en torno a 500. Si bien esto cambia drásticamente alfinal donde el agente llega a un valor de recompensa media obtenida de más de 850. Este valorme sorprendió bastante, pues para llegar a esta misma recompensa usando A2C, el agentetuvo que realizar un millón de pasos aproximadamente. Es decir, en 10 veces menos pasoshabía logrado una recompensa similar a A2C. Veamos como progresa el entrenamiento.

Figura 6.15: Duración media de los episodios de 100K a 500K pasos usando DQN.

Page 48: Reinforcement Learningaplicadoa videojuegos

30 Resultados

Figura 6.16: Recompensa media de los episodios de 100K a 500K pasos usando DQN.

Para el siguiente tramo 6.15 6.16, de 100K pasos a 500K pasos, la tendencia sigue siendo lamisma que en el primer tramo. Si bien aquí hay más picos que en el primero, el resultado globales una mejora notoria. En primer lugar, podemos observar como la duración del episodioafecta a la recompensa. Mirando la gráfica de duración media, en torno al valor 140K podemosver como la duración de los episodios tiene un aumento. En ese mismo punto, las recompensasestán mejorando pero no a ese ritmo. Pues bien, a partir de los 170K aproximadamente, seobserva el efecto de tener episodios más largos y el agente logra una subida importante enlas recompensas. Bien es cierto que luego decaen, pero es puntual ya que finalmente tiendesubir bastante. Al final, nos encontramos con que la recompensa media por episodio está encasi 1300 puntos. Al igual que en el anterior tramo, comparándolo con A2C, en dicho métodopara llegar a esta recompensa el agente fue entrenado durante 5M de pasos, es decir, 10 vecesmás que en DQN. Por lo que se empieza a vislumbrar que DQN es capaz de aprender másrápido que A2C, al menos en este entorno.

Page 49: Reinforcement Learningaplicadoa videojuegos

6.2. Pacman y DQN 31

Figura 6.17: Duración media de los episodios de 500K a 1M pasos usando DQN.

Figura 6.18: Recompensa media de los episodios de 500K a 1M pasos usando DQN.

En este tramo 6.17 6.18, tenemos una pequeña diferencia con los anteriores y es la dis-cordancia entre ambas gráficas. Aquí, ya no están evolucionando a la par como hacían enanteriores tramos. Por un lado, la duración media, podemos ver que no varía mucho. Esverdad que la gráfica presenta muchos picos, pero esto es porque los valores del eje de laordenada (la duración de cada episodio) no varían mucho. Se podría decir que para este tra-mo el valor de la duración media de los episodios se ha mantenido bastante estable, sin unagran mejora. Por otro lado, las recompensas si que han mejorado. Es cierto que la mejora noes tan notoria como en anteriores tramos, pero al fin y al cabo es una mejora. Aunque yaempieza a presentar cierta inestabilidad en los resultados, y esto puede ser un indicador deque el entrenamiento no va a dar resultados mucho mejores con más pasos.

Page 50: Reinforcement Learningaplicadoa videojuegos

32 Resultados

Figura 6.19: Duración media de los episodios de 1M a 5M pasos usando DQN.

Figura 6.20: Recompensa media de los episodios de 1M a 5M pasos usando DQN.

Para este tramo 6.19 6.20, de 1M a 5M de pasos, volvemos a encontrar algo similar a lo queteníamos en el tramo previo. Por un lado, la duración media ha crecido muy poco, pasandode 1000 a 1150 pasos por episodio. Pero, en la gráfica de las recompensas si podemos observaruna gran mejora de los resultados. En este punto el agente no está centrado en sobrevivirmás tiempo sino simplemente en lograr puntuaciones más altas, y esto se debe a que estásiguiendo estrategias extra aparte de recorrer todo el laberinto, como por ejemplo comersealgún fantasma para tener más puntuación. Observamos que la puntuación empezó en 1400y termina el tramo de entrenamiento en más de 2000 puntos, lo cual es un máximo hastaahora en todos los algoritmos. A continuación veremos si el último tramo puede mejorar aúnmás esta marca.

Page 51: Reinforcement Learningaplicadoa videojuegos

6.2. Pacman y DQN 33

Figura 6.21: Duración media de los episodios de 5M a 10M pasos usando DQN.

Figura 6.22: Recompensa media de los episodios de 5M a 10M pasos usando DQN.

Para el último tramo 6.21 6.22, podemos observar un pequeño estancamiento en los resulta-dos en ambas gráficas. Si bien observándolas a primera vista parece que los resultados se hanvuelto muy inestables, esto se debe a que los datos del eje Y no están variando apenas paraninguna de las dos. En primer lugar la duración media pasa de valer 1140 a 1220, un cambiomuy pequeño. Por su parte, la recompensa varía aún menos, pese a que venía de un ascensoimparable hasta ahora. Al comenzar el tramo estaba encima de 2000 puntos, y lo termina

Page 52: Reinforcement Learningaplicadoa videojuegos

34 Resultados

con 2120. Si bien es una mejora, no es nada comparada a los anteriores tramos. Podemosdecir que este tramo no ha sido especialmente relevante, y el entrenamiento se podría haberterminado antes obteniendo resultados similares.

Figura 6.23: Duración media de los episodios para el entrenamiento completo usando DQN.

Figura 6.24: Recompensa media de los episodios para el entrenamiento completo usando DQN.

En conclusión y observando la gráfica del entrenamiento completo 6.23 6.2, podemos vercomo está se asemeja bastante a una función logarítmica en cuanto a la forma. Al principio,

Page 53: Reinforcement Learningaplicadoa videojuegos

6.3. Pacman y PPO 35

tenemos un ascenso muy notorio en cuanto a recompensa y duración de episodios, hasta elpaso 1M aproximadamente. A partir de ahí, ambas gráficas se mantienen en ascenso, peroahora de manera más suave. En torno al paso 5M podemos ver como la mejora es apenasnotoria, y podemos concluir como un entrenamiento de 5M de pasos hubiera sido suficientepara este agente con este algoritmo. De todos modos, los resultados obtenidos han sidobastante mejores que en el primer algoritmo, A2C, en el que la recompensa media al finaldel entrenamiento fue de 1600 puntos. Aquí se han alcanzado más de 2000 lo cual deja alalgoritmo DQN en mejor posición. Nos queda por ver los resultados del último, PPO, quecomentaremos a continuación.

Ahora procederemos a evaluar los resultados de la misma manera que con el algoritmoanterior, realizando 10 simulaciones con cada modelo entrenado y comparando los resultados6.3 6.4.

Número de pasos entrenados 100K 500K 1M 5M 10MDuración 763 928 1004 1226 1221

Cuadro 6.3: Resultados obtenidos para la duración media en la fase de evaluación con DQN en elentorno Pacman.

Número de pasos entrenados 100K 500K 1M 5M 10MRecompensa 646 1029 1203 2359 2467

Cuadro 6.4: Resultados obtenidos para la recompensa media en la fase de evaluación con DQN enel entorno Pacman.

6.3 Pacman y PPO

Por último vamos a analizar los resultados obtenidos en el entorno Pacman con el últimoalgoritmo escogido: PPO. Este algoritmo se caracteriza por ser el que en teoría es más versátily da mejores resultados en todo tipo de entornos, así como por su facilidad a la hora de escogerparámetros para realizar el entrenamiento. En mi caso, los parámetros han sido los propuestospor la librería Stable Baselines 3, pues al tener que analizar diferentes algoritmos y entornos,hubiera llevado demasiado tiempo probar además diferentes parámetros para cada uno deellos. Hay que tener en cuenta que el tiempo aproximado para entrenar cada agente con cadauno de los diferentes métodos es de unas 15 horas. Dicho esto, pasemos a ver los resultados.

Page 54: Reinforcement Learningaplicadoa videojuegos

36 Resultados

Figura 6.25: Duración media de los episodios de 0 a 100K pasos usando PPO.

Figura 6.26: Recompensa media de los episodios de 0 a 100K pasos usando PPO.

Para el primer tramo del entrenamiento 6.25 6.26, hasta los 100K pasos, podemos observarun comportamiento bastante similar al obtenido con los algoritmos previos. En este caso, unprogreso no muy acentuado pero constante. La gráfica de duración muestra un crecimientoleve, desde 740 hasta 800. La gráfica de las recompensas es muy similar, situándose en unarecompensa media al final del tramo de 640. Este valor está a medias entre los 580 de A2Cy los 850 que se obtuvieron con DQN.

Page 55: Reinforcement Learningaplicadoa videojuegos

6.3. Pacman y PPO 37

Figura 6.27: Duración media de los episodios de 100K a 500K pasos usando PPO.

Figura 6.28: Recompensa media de los episodios de 100K a 500K pasos usando PPO.

En este tramo 6.27 6.28 podemos observar como se mantiene la misma línea ascendente encuanto a resultados del primer tramo. En primer lugar, la gráfica de duración tiene un ascensobastante bueno, sin prácticamente ningún bajón. Esto es un buen indicador, y observandola gráfica de recompensas vemos que está a la par. Esta tiene un ascenso muy notorio alprincipio y un ligero valle en torno al final del tramo. Lo importante es que al terminar eltramo la recompensa media se sitúa en 1500. Este resultado es prometedor, recordemos queA2C llegó a 1600 de recompensa tras 10M de pasos. Aquí, en 20 veces menos pasos casi seha logrado el mismo resultado. Ahora hay que comprobar si puede alcanzar los resultados deDQN, y de ser así en cuantos pasos.

Page 56: Reinforcement Learningaplicadoa videojuegos

38 Resultados

Figura 6.29: Duración media de los episodios de 500K a 1M pasos usando PPO.

Figura 6.30: Recompensa media de los episodios de 500K a 1M pasos usando PPO.

Para el siguiente tramo 6.29 6.30, de 500K hasta 1M de pasos, el resultado es muy diferenteal de los dos primeros tramos. En este caso, observamos en ambas gráficas una tendencia abajar con mucha inestabilidad. Es decir, todo lo bueno de las primeros tramos aquí ya noestá. La gráfica de duración y la de recompensas en este caso son muy similares. El problemaes que no mejoran prácticamente sus resultados, ya que si nos fijamos en los valores de ambasgráficas apenas varían a lo largo de todo el tramo. Es decir, en este tramo el agente noestá mejorando sus resultados, pero además está mostrando mucha inestabilidad. Esto puedevolverse peor todavía, como veremos a continuación.

Page 57: Reinforcement Learningaplicadoa videojuegos

6.3. Pacman y PPO 39

Figura 6.31: Duración media de los episodios de 1M a 5M pasos usando PPO.

Page 58: Reinforcement Learningaplicadoa videojuegos

40 Resultados

Figura 6.32: Recompensa media de los episodios de 1M a 5M pasos usando PPO.

En este tramo 6.31 6.32 se mantiene lo que hemos visto en el tramo anterior. Muchainestabilidad en ambas gráficas, y un resultado muy malo al final del tramo. En ambasgráficas se sigue una línea similar, así que las comentaré en conjunto. En primer lugar, vemoscómo los primeros 500K pasos no muestran ninguna mejora. El agente obtiene más o menosuna recompensa igual siempre, en torno a 1650. Llegado el paso 1.5M, los resultados decaendrásticamente, obteniendo una recompensa de 1200. A partir de ahí el agente no es capaz demejorar y se mantiene con un resultado malo hasta el final donde vuelve a pegar otro bajónmuy importante. Aquí se sitúa en 700 de recompensa media, lo cual es muy malo.

Page 59: Reinforcement Learningaplicadoa videojuegos

6.3. Pacman y PPO 41

Figura 6.33: Duración media de los episodios de 5M a 10M pasos usando PPO.

Figura 6.34: Recompensa media de los episodios de 5M a 10M pasos usando PPO.

Para el tramo final 6.33 6.34 se confirma lo visto en el tramo previo. Mucha inestabilidady un agente que cada vez obtiene resultados iguales o peores. En un primer lugar, el agentellega a obtener una recompensa de 1400 poco antes de los 6M de pasos y parece que puedevolver a obtener buenos resultados. Pero poco después vemos que vuelve la inestabilidad enlos resultados, y este no es capaz de obtener un resultado aceptable. No hay mucho más quecomentar en este tramo, la puntuación al final del entrenamiento es de 850 aproximadamente.

Page 60: Reinforcement Learningaplicadoa videojuegos

42 Resultados

Figura 6.35: Duración media de los episodios para el entrenamiento completo usando PPO.

Figura 6.36: Recompensa media de los episodios para el entrenamiento completo usando PPO.

En conclusión y observando la gráfica del entrenamiento completo 6.35 6.36, hemos vistocomo al principio del entrenamiento, PPO ha dado unos resultados bastante buenos y prome-tedores, pero no ha logrado estabilizar dichos resultados. Este fallo, es posiblemente debido alos parámetros intrínsecos del algoritmo. Al final, el modelo entrenado durante 1M de pasosva a dar mejores resultados que el de 10M.

Por último queda realizar la fase de evaluación 6.5 6.6, con las 10 simulaciones para elmodelo entrenado en cada tramo y así ver la evolución en el entrenamiento.

Page 61: Reinforcement Learningaplicadoa videojuegos

6.4. Breakout y A2C 43

Número de pasos entrenados 100K 500K 1M 5M 10MDuración 664 1230 1105 905 890

Cuadro 6.5: Resultados obtenidos para la duración media en la fase de evaluación con PPO en elentorno Pacman.

Número de pasos entrenados 100K 500K 1M 5M 10MRecompensa 231 2001 1657 767 897

Cuadro 6.6: Resultados obtenidos para la recompensa media en la fase de evaluación con PPO enel entorno Pacman.

100K 500K 1M 5M 10MA2C 580 620 975 1200 1600DQN 860 1280 1450 2050 2120PPO 640 1500 1540 700 875

Cuadro 6.7: Comparación de las recompensas obtenidas según el número de episodios entrenadoscon cada algoritmo en el entorno Pacman.

Como podemos observar en la tabla comparativa de los resultados 6.7, el algoritmo quemejor resultado ha dado en este entorno ha sido DQN. Por otro lado, A2C ha dado unosresultados buenos, aunque su mejora en el entrenamiento es más lenta. Por último PPO hasufrido inestabilidad en el entrenamiento y los resultados finales son peores que en los demásalgoritmos.

6.4 Breakout y A2C

Ahora pasaremos a comentar los resultados obtenidos para el entorno Breakout y el al-goritmo A2C. En el entorno anterior, este algoritmo dio buenos resultados pero no fueronlos mejores, comprobemos que sucede en este. De igual manera, procederé a comentar losresultados de los entrenamientos en los diferentes tramos.

Page 62: Reinforcement Learningaplicadoa videojuegos

44 Resultados

Figura 6.37: Duración media de los episodios para 100K pasos usando A2C.

Figura 6.38: Recompensa media de los episodios para 100K pasos usando A2C.

En el primer tramo 6.37 6.38, hasta llegar a 100K pasos, podemos observar cómo lasgráficas de duración y recompensa van muy a la par. En este entorno es diferente que en elanterior, pues por la propia naturaleza del juego la mayoría de veces sobrevivir más tiemposignifica obtener más puntos. En Pacman, era posible ”esconderse” y aguantar sin morir perono obtener puntos a cambio; aquí para evitar morir a la vez se consiguen puntos rompiendobloques. Cómo observamos en ambas gráficas, en los primeros 40K pasos no se produjerongrandes mejoras en los resultados, pero a partir de ahí hubo una gran subida, y finalmenteotro pequeño valle. La recompensa final para este tramo es de 5.5 puntos.

Page 63: Reinforcement Learningaplicadoa videojuegos

6.4. Breakout y A2C 45

Figura 6.39: Duración media de los episodios para 500K pasos usando A2C.

Figura 6.40: Recompensa media de los episodios para 500K pasos usando A2C.

En el siguiente tramo 6.39 6.40, de 100K a 500K pasos, observamos cómo las gráficas yano son tan lineales como antes. Es decir, presentan algunos picos y zonas donde hay bajonesen el resultado como en el tramo de 200 a 250K. Pero en general observando toda la gráficapodemos concluir que los resultados son bastante buenos y el agente sigue aprendiendo mucho.La mejora en la recompensa va desde 5.5 al principio hasta 11 puntos al final del tramo. Sehan doblado las recompensas, comprobemos si el agente es capaz de seguir aprendiendo aeste ritmo.

Page 64: Reinforcement Learningaplicadoa videojuegos

46 Resultados

Figura 6.41: Duración media de los episodios para 1M de pasos usando A2C.

Figura 6.42: Recompensa media de los episodios para 1M de pasos usando A2C.

Para este tramo 6.41 6.42, que llega hasta el millón de pasos entrenados, podemos verque la tónica general es de mejora. Podemos identificar dos grandes subidas en la gráfica derecompensas: la primera en torno a 550K pasos y la segunda alrededor de 850K pasos. En losdemás tramos, las recompensas suben y bajan con ciertos picos, pero en general se mantienenestables en los valores alcanzados. Por otro lado vemos que la gráfica de duración ya nosigue tanto a la de recompensas. En 550K pasos, encontramos dos subidas en la duración delos episodios, pero esto sólo se refleja una vez en las recompensas. Y después en el tramofinal desde 900K hasta el final, la duración se mantiene bastante estable, mientras que lasrecompensas varían un poco más. Finalmente la recompensa alcanza el valor de 14 puntos.

Page 65: Reinforcement Learningaplicadoa videojuegos

6.4. Breakout y A2C 47

Figura 6.43: Duración media de los episodios para 5M de pasos usando A2C.

Figura 6.44: Recompensa media de los episodios para 5M de pasos usando A2C.

Para el tramo de 1M a 5M 6.43 6.44, observamos que ambas gráficas siguen la mismaforma que en tramos anteriores. Si bien ahora no tenemos unas mejoras tan grandes en lasrecompensas, sino que estas son mejoras más progresivas. Esto es normal pues a medidaque avanza en los episodios el agente, el juego es más difícil y está ante situaciones que noconoce, por lo que el entrenamiento es más lento. Además podemos ver un gran bajón en losresultados pasados los 4M, esto fue un momento puntual dónde el agente no obtuvo buenasrecompensas. Al final, se alcanza una recompensa bastante buena de 22.

Page 66: Reinforcement Learningaplicadoa videojuegos

48 Resultados

Figura 6.45: Duración media de los episodios para 10M de pasos usando A2C.

Figura 6.46: Recompensa media de los episodios para 10M de pasos usando A2C.

Page 67: Reinforcement Learningaplicadoa videojuegos

6.4. Breakout y A2C 49

En este último tramo 6.45 6.46 vemos que los resultados no son tan buenos como antes. Porun lado, la mejora entre el principio y el final en cuanto a recompensa no es apenas notoria.Pasamos de 22 a 22.5 puntos. Además, tenemos hasta tres puntos en los que las recompensasdecaen notoriamente, al pasar 5M y al pasar 7M de pasos. Pero principalmente es que elagente no mejora, se mantiene en torno al resultado del principio, con subidas y bajadas,pero observamos que el agente ya no es capaz de mejorar más. Por lo tanto podemos concluirque este tramo no ha sido especialmente útil en el entrenamiento.

Figura 6.47: Duración media de los episodios para el entrenamiento completo usando A2C.

Page 68: Reinforcement Learningaplicadoa videojuegos

50 Resultados

Figura 6.48: Recompensa media de los episodios para el entrenamiento completo usando A2C.

En conclusión y observando la gráfica al completo 6.47 6.48, podemos concluir que elentrenamiento con 10M de pasos no era totalmente necesario para este algoritmo. Con 5Mlos resultados son prácticamente los mismos que con 10M, por lo que el entrenamiento podríahaber concluido ahí. Por otro lado es destacable lo rápido que el agente aprendió al principio,hasta llegar a 5M, mejorando drásticamente sus resultados. En general el entrenamiento hasido bueno y los resultados son incluso mejor que los esperados. Continuemos con los demásalgoritmos.

Ahora procedemos a realizar la fase de evaluación durante 10 episodios, y calculamos lamedia de duración y recompensa obtenida para este entorno y este algoritmo 6.8 6.9.

Número de pasos entrenados 100K 500K 1M 5M 10MDuración 468 492 707 1124 1001

Cuadro 6.8: Resultados obtenidos para la duración media en la fase de evaluación con A2C en elentorno Breakout.

Número de pasos entrenados 100K 500K 1M 5M 10MRecompensa 5.5 6.6 11.9 24.3 20.7

Cuadro 6.9: Resultados obtenidos para la recompensa media en la fase de evaluación con A2C en elentorno Breakout.

Page 69: Reinforcement Learningaplicadoa videojuegos

6.5. Breakout y DQN 51

6.5 Breakout y DQN

En esta sección vamos a comentar los resultados obtenidos para el algoritmo DQN en elentorno Breakout. Este fue el algoritmo que mejores resultados dio para el entorno Pacman,veremos que resultados da en este entorno.

Figura 6.49: Duración media de los episodios para 100K pasos usando DQN.

Page 70: Reinforcement Learningaplicadoa videojuegos

52 Resultados

Figura 6.50: Recompensa media de los episodios para 100K pasos usando DQN.

Para el primer tramo 6.49 6.50, los resultados no son especialmente buenos. Al igual queen algoritmo previo, observamos que las gráficas vuelven a ir otra vez a la par debido ala naturaleza del juego. Las recompensas obtenidas parten de un valor aproximado de 2,pero lejos de mejorar el agente empieza a obtener resultados muy irregulares. Incluso al finaldel tramo su resultado es peor que al principio; es decir, haciéndolo al azar obtuvo mejoresresultados. No es muy prometedor pero hay que observar como continúa el entrenamiento.

Figura 6.51: Duración media de los episodios para 500K pasos usando DQN.

Page 71: Reinforcement Learningaplicadoa videojuegos

6.5. Breakout y DQN 53

Figura 6.52: Recompensa media de los episodios para 500K pasos usando DQN.

En este segundo tramo 6.51 6.52 si que observamos una clara mejora. Ambas gráficas sonprácticamente una recta ascendente, con algún tramo más plano pero prácticamente ningúnbajón de rendimiento. Esto nos aclara que lo sucedido en el primer tramo era debido a queeran muy pocos pasos y el agente todavía tenía que aprender mucho. Se llega a alcanzar unarecompensa de 9.5 que es un valor bastante decente, y sobretodo una gran mejora respecto alo que había al comienzo del tramo.

Figura 6.53: Duración media de los episodios para 1M de pasos usando DQN.

Page 72: Reinforcement Learningaplicadoa videojuegos

54 Resultados

Figura 6.54: Recompensa media de los episodios para 1M de pasos usando DQN.

En este tramo 6.53 6.54 tenemos unos resultados no tan buenos. Si bien en el tramo anteriorteníamos una clara mejora, aquí hay mucha inestabilidad en las recompensas. El agente estáconstantemente mejorando y empeorando sus resultados, por lo que no termina de avanzar.Aún así, no son unos resultados malos necesariamente, pero es un indicador de que quizá elagente está llegando al límite de lo que puede aprender. Al final del tramo, la recompensaque obtuvo el agente fue de 9.8, por lo que apenas mejoró el resultado obtenido al principiodel tramo.

Figura 6.55: Duración media de los episodios para 5M de pasos usando DQN.

Page 73: Reinforcement Learningaplicadoa videojuegos

6.5. Breakout y DQN 55

Figura 6.56: Recompensa media de los episodios para 5M de pasos usando DQN.

En este tramo 6.55 6.56, de 1M a 5M de pasos, se nos aclara que lo sucedido en el tramoanterior se debía al poco número de pasos. Es decir, sucedía lo mismo que con el primer tramode 0 a 100K pasos, al tener pocos pasos de entrenamiento parece que el agente no mejoranada. Pero teniendo una muestra más grande como en este caso, observamos que el agente simejora, pero a un ritmo más lento de lo que se puede observar en esa gráfica. En este caso,el agente sigue mejorando, y ahora si que bastante sus resultados. El progreso, aún así tienebastantes picos de mejoras y empeoramientos, pero en líneas generales los resultados son másque buenos. Al final del tramo, el agente se sitúa en una recompensa de 15.5 aproximadamente,que es un resultado bastante bueno.

Page 74: Reinforcement Learningaplicadoa videojuegos

56 Resultados

Figura 6.57: Duración media de los episodios para 10M de pasos usando DQN.

Figura 6.58: Recompensa media de los episodios para 10M de pasos usando DQN.

Para el último tramo 6.57 6.58, viendo los previos, lo normal es esperar una mejora bastantemoderada de los resultados. Si vemos la parte final del tramo anterior, de 1M a 5M, lasrecompensas se estabilizan bastante y apenas mejora los resultados. En este caso, el agente

Page 75: Reinforcement Learningaplicadoa videojuegos

6.5. Breakout y DQN 57

aprende pero a un ritmo bastante lento. Tenemos una mejora, pasando de los 15.5 puntosiniciales a los 17.5 al final del tramo, pero no es una mejora muy grande. Además tenemosvarios bajones muy grandes en el rendimiento, al pasar los 5M de pasos y al pasar los 6M.Por otro lado hay varios picos muy positivos en cuánto a las recompensas, sobre 8.5M y 9.5Mde pasos, pero rápidamente el agente vuelve a su valor medio de recompensas. En conclusión,este tramo ha mejorado el comportamiento del agente, pero no en exceso.

Figura 6.59: Duración media de los episodios para el entrenamiento completo usando DQN.

Figura 6.60: Recompensa media de los episodios para el entrenamiento completo usando DQN.

En conclusión para este método, podemos decir que la gráfica completa 6.59 6.60 es bastantesimilar a la obtenida con el algoritmo A2C. Una gran mejora al principio, hasta llegar a los5M, y de ahí en adelante una zona valle en la que el agente apenas mejora sus resultados.Además, comparando con A2C los resultados no han sido tan buenos, pues la recompensamáxima aquí ha sido sobre 17.5, por unos 22.5 puntos de A2C. Por lo que el entrenamientoha sido bueno, pero no ha llegado al nivel que si ha tenido A2C. Falta por ver los resultadosdel último algoritmo, PPO.

Page 76: Reinforcement Learningaplicadoa videojuegos

58 Resultados

Ahora realizamos la fase de evaluación, nuevamente durante 10 episodios para cada uno delos modelos obtenidos en cada tramo 6.10 6.11.

Número de pasos entrenados 100K 500K 1M 5M 10MDuración 243 685 728 912 981

Cuadro 6.10: Resultados obtenidos para la duración media en la fase de evaluación con DQN en elentorno Breakout.

Número de pasos entrenados 100K 500K 1M 5M 10MRecompensa 1 10.1 11.6 18.8 19.7

Cuadro 6.11: Resultados obtenidos para la recompensa media en la fase de evaluación con DQN enel entorno Breakout.

6.6 Breakout y PPO

Para este último algoritmo, después de los resultados obtenidos en el entorno Pacman, misexpectativas no estaban muy altas en cuánto a los resultados. Pero hay que comprobarlos yanalizar que tal ha ido el entrenamiento.

Figura 6.61: Duración media de los episodios para 100K pasos usando PPO.

Page 77: Reinforcement Learningaplicadoa videojuegos

6.6. Breakout y PPO 59

Figura 6.62: Recompensa media de los episodios para 100K pasos usando PPO.

Para el primer tramo 6.61 6.62, hasta llegar a 100K pasos, los resultados han sido sorpren-dentemente buenos Observamos una mejora muy clara con cada paso que entrena el agente.Es posiblemente la mejor gráfica en cuanto a resultados que se ha obtenido en todo el pro-yecto. La recompensa llegó a un valor de 7.5 al final del tramo, superando a A2C y DQNen este punto. Hay que comprobar si el agente seguirá mejorando o surgirá algún problemacomo ya sucedió en Pacman.

Figura 6.63: Duración media de los episodios para 500K pasos usando PPO.

Page 78: Reinforcement Learningaplicadoa videojuegos

60 Resultados

Figura 6.64: Recompensa media de los episodios para 500K pasos usando PPO.

Para el segundo tramo 6.63 6.64, los resultados siguen siendo muy buenos, pero ya notanto como en el primero. En este caso, tenemos una mejora clara, pero la gráfica ya no esúnicamente ascendente y podemos encontrar algunos bajones en el rendimiento. Por ejemploal pasar los 350K pasos. Pero en general, la mejora es evidente pasando de 7.5 a 9.5 puntos. Sibien no es una mejora muy grande, y esto puede ser indicador de que el agente está empezandoa tener problemas para seguir mejorando, a pesar de estar en una etapa bastante prematuradel entrenamiento.

Figura 6.65: Duración media de los episodios para 1M de pasos usando PPO.

Page 79: Reinforcement Learningaplicadoa videojuegos

6.6. Breakout y PPO 61

Figura 6.66: Recompensa media de los episodios para 1M de pasos usando PPO.

En este tramo 6.65 6.66, de 500K a 1M de pasos, volvemos a tener los problemas que yasucedieron en el entorno Pacman. En primer lugar, el agente no ha sido capaz de mejorar susresultados, pues al final del tramo obtuvo la misma recompensa que al principio. Pero no soloeso, podemos observar como la gráfica ha sido en gran parte empeorando las recompensas.De cara al sector final, de 900K a 1M, el agente ha mejorado un poco para volver a situarsedonde estaba. Pero durante gran parte del entrenamiento los resultados han sido peores queal principio. De todos modos hay que comprobar como continua el entrenamiento.

Figura 6.67: Duración media de los episodios para 5M de pasos usando PPO.

Page 80: Reinforcement Learningaplicadoa videojuegos

62 Resultados

Figura 6.68: Recompensa media de los episodios para 5M de pasos usando PPO.

En el siguiente tramo 6.67 6.68, que llega hasta los 5M de pasos, los resultados han mejo-rado. La gráfica para este tramo es bastante mejor que la que había en el tramo previo. Apesar de eso, las mejoras que se han obtenido no son gran cosa en comparación a los otrosalgoritmos, que en este punto habían logrado resultados bastante mejores. Además, podemosobservar cómo en líneas generales el agente ha ido mejorando sus resultados hasta llegar a4M aproximadamente. Y después, de 4 a 5M de pasos, ha empeorado bastante estos resulta-dos. Es decir, hay una inestabilidad bastante grande en el entrenamiento otra vez, como yasucedía en Pacman.

Figura 6.69: Duración media de los episodios para 10M de pasos usando PPO.

Page 81: Reinforcement Learningaplicadoa videojuegos

6.6. Breakout y PPO 63

Figura 6.70: Recompensa media de los episodios para 10M de pasos usando PPO.

Para el último tramo 6.69 6.70 las expectativas no son especialmente buenas, teniendo encuenta el final del tramo anterior y los resultados previos de PPO. Si observamos las gráficaspara este tramo, podemos ver una gran inestabilidad en los resultados. En general, el agenteestá constantemente mejorando y empeorando después sus resultados, por lo que se encuentraun poco estancado en la recompensa que tenía al principio. Aún así, el agente mejora algo yse sitúa en 12 puntos de media al final del tramo. Pero podemos decir que para este tramo elagente no ha logrado aprender todo lo que se esperaba.

Page 82: Reinforcement Learningaplicadoa videojuegos

64 Resultados

Figura 6.71: Duración media de los episodios para el entrenamiento completo usando PPO.

Figura 6.72: Recompensa media de los episodios para el entrenamiento completo usando PPO.

Por lo tanto, viendo la gráfica completa 6.71 6.72 podemos concluir que el entrenamien-to usando PPO ha sido peor que el ofrecido por A2C y DQN. Los resultados son bastanteinferiores, y el entrenamiento es claramente más inestable. A pesar de eso ha dado mejorrendimiento que cuando se utilizó PPO en Pacman, pero siguen sin ser unos resultados acep-tables. Nuevamente, es posible que haya que ajustar más los parámetros, pero personalmente

Page 83: Reinforcement Learningaplicadoa videojuegos

6.6. Breakout y PPO 65

diría que PPO funciona mejor en entornos más complejos que estos dos juegos y de ahí sumal resultado. Por otro lado DQN y A2C son mejores para entornos sencillos y ha quedadodemostrado, cómo se puede ver en la tabla comparativa de los tres algoritmos 6.14.

Por último falta realizar la evaluación de cada modelo obtenido durante 10 episodios ycomprobar que los resultados son acordes con los obtenidos en los entrenamientos 6.12 6.13.

Número de pasos entrenados 100K 500K 1M 5M 10MDuración 610 763 612 776 633

Cuadro 6.12: Resultados obtenidos para la duración media en la fase de evaluación con PPO en elentorno Breakout.

Número de pasos entrenados 100K 500K 1M 5M 10MRecompensa 8.6 12.6 8.3 12.5 8.9

Cuadro 6.13: Resultados obtenidos para la recompensa media en la fase de evaluación con PPO enel entorno Breakout.

100K 500K 1M 5M 10MA2C 5.5 11 14 22 22.5DQN 1 9.5 9.8 15.5 17.5PPO 7.5 9.6 9.8 11 12

Cuadro 6.14: Comparación de las recompensas obtenidas según el número de episodios entrenadoscon cada algoritmo en el entorno Breakout.

Los resultados obtenidos en ambos entornos se han grabado y se pueden visualizar en estevídeo o haciendo click en el siguiente enlace: https://www.youtube.com/watch?v=TFjVe2--yJA

Page 84: Reinforcement Learningaplicadoa videojuegos
Page 85: Reinforcement Learningaplicadoa videojuegos

7 Conclusiones

En conclusión, podemos decir que las técnicas de entrenamiento por refuerzo son muypotentes y dan unos resultados muy buenos. También es verdad que dependen mucho de eltiempo que se invierta en el entrenamiento, y de la potencia del ordenador en el que se realice.Puesto que con un ordenador más potente, podríamos entrenar a nuestro agente en más decuatro entornos a la vez y avanzaría más rápido todavía en sus resultados.

Sin duda es increíble la cantidad de algoritmos que existen para entrenar un modelo porrefuerzo, y es seguro que seguirán apareciendo más en los próximos años. Además, es muyinteresante ver las estrategias que realiza el agente a medida que aprende, pues esto nos puededar un enfoque diferente a la hora de solucionar un problema.

Realizar este trabajo ha sido una gran manera de aprender, y siento que realmente nosoy capaz de plasmar todo lo que he hecho en estos meses para llegar a esto. Para llegara los modelos que he entrenado y tener los entornos funcionando, hubo una fase previa deinvestigación y prueba de diferentes librerías y repositorios en los que se aplicaban estastécnicas. La cantidad de información en internet es a veces abrumadora, pero pienso que unode los logros de este trabajo es encontrar información de calidad y haber podido usar lasmejores herramientas posibles para llevar a cabo una idea. Sin duda he aprendido mucho, dereinforcement learning y de cómo realizar un buen trabajo siguiendo unas pautas y un flujode trabajo adecuado.

67

Page 86: Reinforcement Learningaplicadoa videojuegos
Page 87: Reinforcement Learningaplicadoa videojuegos

Bibliografía

Badia, A. P., Piot, B., Kapturowski, S., Sprechmann, P., Vitvitskyi, A., Guo, Z. D., y Blun-dell, C. (2020). Agent57: Outperforming the atari human benchmark. En Internationalconference on machine learning (pp. 507–517).

Bellemare, M. G., Naddaf, Y., Veness, J., y Bowling, M. (2013, jun). The arcade learningenvironment: An evaluation platform for general agents. Journal of Artificial IntelligenceResearch, 47 , 253–279.

Brockman, G., Cheung, V., Pettersson, L., Schneider, J., Schulman, J., Tang, J., y Zaremba,W. (2016). Openai gym.

Mnih, V., Badia, A. P., Mirza, M., Graves, A., Lillicrap, T., Harley, T., … Kavukcuoglu,K. (2016). Asynchronous methods for deep reinforcement learning. En Internationalconference on machine learning (pp. 1928–1937).

Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., y Riedmiller,M. (2013). Playing atari with deep reinforcement learning. arXiv preprint arXiv:1312.5602.

Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., … others(2015). Human-level control through deep reinforcement learning. nature, 518(7540), 529–533.

Raffin, A., Hill, A., Gleave, A., Kanervisto, A., Ernestus, M., y Dormann, N. (2021). Stable-baselines3: Reliable reinforcement learning implementations. Journal of Machine LearningResearch, 22(268), 1-8. Descargado de http://jmlr.org/papers/v22/20-1364.html

Schulman, J., Wolski, F., Dhariwal, P., Radford, A., y Klimov, O. (2017). Proximal policyoptimization algorithms. arXiv preprint arXiv:1707.06347 .

Silver, D., Hubert, T., Schrittwieser, J., Antonoglou, I., Lai, M., Guez, A., … others (2017).Mastering chess and shogi by self-play with a general reinforcement learning algorithm.arXiv preprint arXiv:1712.01815.

Tord Romstad, J. K., Marco Costalba. (2021). Stockfish. https://github.com/official-stockfish/Stockfish. ([Online; accessed 7-Enero-2021])

69

Page 88: Reinforcement Learningaplicadoa videojuegos
Page 89: Reinforcement Learningaplicadoa videojuegos

Lista de Acrónimos y Abreviaturas

A2C Advantage Actor Critic.ALE Arcade Learning Environment.DQN Deep Q Networks.IA Inteligencia Artificial.PPO Proximal Policy Optimization.RL Reinforcement Learning.TFG Trabajo Final de Grado.

71