Aprendizaje Reforzado y Deep Learning en videojuegos clásicos: todo lo que hemos aprendido en un añoEnrique Blanco 23 agosto, 2018 Hace aproximadamente un año en este blog se comenzó una serie de artículos en la que se exploraba cómo conseguir que una Inteligencia Artificial aprendiera a desenvolverse con juegos sencillos haciendo uso de algoritmos de Aprendizaje Reforzado. En este post ofrecemos una recopilación de todos los artículos y recursos mostrados sobre Aprendizaje Reforzado y Deep Learning durante los últimos meses. Comenzamos con algoritmos sencillos en entornos muy básicos con pocas variables para posteriormente migrar a juegos más complicados que requerían de arquitecturas profundas para poder entrenar a la IA de manera eficiente y adecuada. Nos encontramos con un campo muy atractivo en el que se exploraba un campo del Machine Learning no tan popular como el Aprendizaje Reforzado, más allá de los típicos algoritmos de aprendizaje supervisado y no supervisado a los que estamos acostumbrados, pues además necesitaba de la aplicación de modelos de redes neuronales profundas dirigidas a la identificación de píxeles en la pantalla. De esta manera se aunaban en un mismo ejercicio algoritmos de Machine Learning, Deep Learning y técnicas de visión artificial apoyándonos en un lenguaje de programación sencillo como Python y en librerías como Universe y OpenAI Gym. A continuación, se resumen las tres series de artículos que se han ido completando en torno a esta temática. 1ª serie «Cómo entrenar a tu IA jugando a videojuegos» En este conjunto de posts se facilita una introducción a las librerías de OpenAI Gym y Universe, a las características de los entornos de juegos clásicos soportados por estas librerías y algunos algoritmos sencillos que permitían hacer aprender a una Inteligencia Artificial desenvolverse en este tipo de entornos. En el primer artículo Cómo entrenar a tu Inteligencia Artificial jugando a videojuegos. Parte 1, preparando la «rejilla de juegos», se ofrecen las instrucciones a seguir para la correcta instalación de todo el entorno que nos permita desplegar todos los entornos de juego y comenzar a investigar con el aprendizaje reforzado. Figura 2: Funcionamiento básico OpenAI En el segundo artículo Cómo entrenar a tu Inteligencia Artificial jugando a videojuegos. Parte 2, observando el entorno introdujimos algunos conceptos básicos asociados tanto a los entornos como al Aprendizaje Reforzado e hicimos nuestro primer intento de entrenar a una IA a ganar a Cartpole con unas pocas líneas de código en Python. En Cómo entrenar a tu Inteligencia Artificial jugando a videojuegos. Parte 3, resolviendo CartPole con Random Search, el tercer post de esta serie, explorábamos nuevos algoritmos de Aprendizaje Reforzado para Cartpole, y se allanaba el camino para introducir el Q-Learning al que, como vimos en los siguientes dos artículos Cómo entrenar a tu Inteligencia Artificial jugando a videojuegos. Parte 4. Aprende Q-Learning con el juego «Taxi», parte 1 de 2 y Cómo entrenar a tu Inteligencia Artificial jugando videojuegos, Parte 5. Aprende Q-Learning con el juego «Taxi», parte 2 de 2, era necesario recurrir en el caso de que tanto el número de acciones como la complejidad del juego aumentase. 2ª serie «Deep Learning vs Atari: entrena tu IA para dominar videojuegos clásicos» Tras la serie «Cómo entrenar a tu AI jugando a videojuegos» y con la intención de mostrar todo lo presentado de una maner más cercana, hicimos el primer capítulo de un webinar de una serie de dos episodios, el cual podéis consultar en el siguiente enlace. En esta segunda serie decidimos migrar a entornos más difíciles en los que intentar enseñar a una IA a desenvolverse con soltura como Breakout y Space Invaders. Todos recordamos estos míticos juegos que, a pesar de su simplicidad, presentan el grado de complejidad suficiente para tener que mezclar algoritmos de Aprendizaje Reforzado y Redes Neuronales Profundas (Deep Q-Learning) Figura 3: diagrama del proceso de aprendizaje de un agente durante el entrenamiento Podéis encontrar todos los detalles asociados al pre-procesado de las imágenes de los juegos, entrenamiento, elección de arquitectura profunda, resultados y lecciones aprendidas en los siguientes artículos: Deep Learning vs Atari: entrena tu IA para dominar videojuegos clásicos (Parte I)Deep Learning vs Atari: entrena tu IA para dominar videojuegos clásicos (Parte II)Deep Learning vs Atari: entrena tu IA para dominar videojuegos clásicos (Parte III) Además, en el siguiente link se facilita el segundo episodio del webinar donde se presenta y resume todo el trabajo realizado con OpenAI Gym en estos dos entornos más complejos. 3ª serie: «Deep Learning con Python: introducción a Tensorflow» Como habéis podido comprobar, para poder seguir todos los posts anteriores es necesario un nivel básico de Python, en especial cuando toca definir las arquitecturas del modelo que queramos entrenar. Os recomendamos encarecidamente leer la serie de artículos «Python para todos»: Introducción: Machine Learning con Python para todos los públicos.Python para todos (1): Instalación del entorno Anaconda.Python para todos (2): ¿Qué son los Jupyter Notebook?. Creamos nuestro primer notebook y practicamos algunos comandos fáciles.Python para todos (3): ¿Qué son las librerías?. Preparamos el entorno.Python para todos (4): Empezamos el experimento propiamente. Carga de datos, análisis exploratorio (dimensiones del dataset, estadísticas, visualización etc)Python para todos (5) Final: Creación de los modelos y estimación de su precisión donde podréis refrescar o aprender los conceptos y las técnicas necesarias para abordar un proyecto de Machine Learning con Python. Dado que en el caso que nos ocupa necesitamos manejar recursos de Deep Learning, decidimos hacer uso de la librería TensorFlow, que se encuentra entre las más extendidas dentro de esta disciplina, soportada Python y C++, además de Java y Go entre otros. Además permite distribuir los cálculos en CPU, GPU de forma simultánea. Figura 4: logo de TensorFlow. Fuente. En esta serie de artículos abordamos desde los fundamentos más básicos para familiarizarnos con el uso de la librería, hasta ejemplos de regresión y clasificación de datasets conocidos. También se incluye un ejemplo de clasificación con Keras, una API de alto nivel para Deep Learning haciendo uso de su back-end en TensorFlow. Los tres artículos que sirven como tutorial introductorio los tenéis disponibles a continuación: Deep Learning con Python: Introducción a TensorFlow (Parte I)Deep Learning con Python: Introducción a TensorFlow (Parte II)Deep Learning con Python: Introducción a TensorFlow (Parte III) Esperamos que, tanto si todavía disfrutáis de unos merecidos días de vacaciones como si ya os habéis incorporado a la rutina laboral, disfrutéis de este recopilatorio sobre Aprendizaje Reforzado y Deep Learning. Por nuestra parte, continuaremos “jugando” con las librerías y entornos presentados en estas series en busca de nuevas aplicaciones. Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. ¿Qué son las estrategias de «Dynamic Pricing»?Resumen de verano de LUCA Data Speaks: Del 14 al 24 de Agosto
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Nacho Palou Cursos gratuitos online para aprender IoT (Internet de las Cosas) en 2023 Internet de las Cosas (IoT) es una de las tecnologías digitales de nueva generación con un impacto significativo en múltiples sectores, desde la industria a la agricultura, pasando por...
Fran Ramírez Mujeres que cambiaron las Matemáticas Por Fran Ramírez y Fran Fenoll Aprovechando que en marzo también se celebra el día Internacional de las Matemáticas, hemos querido rendir con esta recopilación un pequeño homenaje a mujeres que...
Nacho Palou #MujeresHacker de Telefónica Tech: Jess Woods, experta en Cloud Con motivo del Día de la Mujer, iniciamos una serie de entrevistas protagonizadas por #MujeresHacker de Telefónica Tech. Mujeres que, con su trabajo y esfuerzo, nos convierten en una...
Sergio Piorno Güemes Un nuevo paradigma financiero: la tokenización de activos En los últimos años se ha acelerado la digitalización del ecosistema financiero gracias a la adopción generalizada de internet y su consecuente desarrollo. Esto, junto con el auge de los dispositivos móviles,...
Nacho Palou MWC: Todas las innovaciones y el conocimiento experto que hemos compartido Después de cuatro intensos días, Mobile Word Congress (MWC) 2023 se despide hoy hasta el año que viene. Desde el pasado lunes, los asistentes han tenido ocasión de ver...
Es una pena que el enlace del primer artículo sobre tensorflow conduzca a la tercera entrega. Agradezco reparen ese fallo para poder leer el artículo Responder