El objetivo de este curso es introducir y profundizar en el marco del aprendizaje por refuerzo, donde un agente aprende el comportamiento adecuado para resolver sus objetivos a partir de interacciones directas del agente con el entorno y sin conocimiento previo del mundo.
Específicamente, el curso iniciará introduciendo los conceptos más básicos de aprendizaje por refuerzo hasta alcanzar los algoritmos más modernos que son estado del arte. A continuación el curso profundizará en diferentes técnicas avanzadas que intentan ampliar el marco descrito a (1) un aprendizaje más eficiente a partir de técnicas de exploración y de modelización del entorno, (2) a un aprendizaje continuo del agente a diferentes tareas necesario para una Inteligencia Artificial General y (3) al aprendizaje automático de comportamientos en sistemas multi-agentes sea ya en entornos cooperativos o competitivos.
Al terminar, el estudiante conocerá el estado del arte en el aprendizaje por refuerzo y los dominios donde es adecuado aplicarlo, y habrá implementado diferentes algoritmos en los entornos de programación más actuales en el área.
Profesorado
Responsable
Mario Martín Muñoz (
)
Horas semanales
Teoría
1.8
Problemas
0
Laboratorio
0.9
Aprendizaje dirigido
0.3
Aprendizaje autónomo
5
Competencias
Competencias Técnicas Genéricas
Genéricas
CG3 - Capacidad para la modelización, cálculo, simulación, desarrollo e implantación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Inteligencia Artificial.
CG4 - Capacidad para la dirección general, dirección técnica y dirección de proyectos de investigación, desarrollo e innovación, en empresas y centros tecnológicos, en el ámbito de la Inteligencia Artificial.
Competencias Técnicas de cada especialidad
Académicas
CEA3 - Capacidad de comprender los principios básicos de funcionamiento de las técnicas principales de Aprendizaje Automático, y saber utilizarlas en el entorno de un sistema o servicio inteligente.
CEA9 - Capacidad de comprender las técnicas avanzadas de Sistemas Multiagentes, y saber diseñar, implementar y aplicar estas técnicas en el desarrollo de aplicaciones, servicios o sistemas inteligentes.
CEA11 - Capacidad de comprender las técnicas avanzadas de Inteligencia Computacional, y saber diseñar, implementar y aplicar estas técnicas en el desarrollo de aplicaciones, servicios o sistemas inteligentes.
Profesionales
CEP2 - Capacidad de resolver los problemas de toma de decisiones de las diferentes organizaciones, integrando herramientas inteligentes.
CEP3 - Capacidad de aplicación de las técnicas de Inteligencia Artificial en entornos tecnológicos e industriales para la mejora de la calidad y la productividad.
CEP8 - Capacidad de respetar el entorno ambiental y diseñar y desarrollar sistemas inteligentes sostenibles.
Competencias Transversales
Trabajo en equipo
CT3 - Ser capaz de trabajar como miembro de un equipo interdisciplinar ya sea como un miembro mas, o realizando tareas de direccion con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.
Objetivos
Comprender la necesidad, los fundamentos y las particularidades del aprendizaje conductual y las diferencias que tiene con el aprendizaje automático supervisado y no supervisado.
Competencias relacionadas:
CEA11,
CEA3,
CG3,
CG4,
Conocer qué tipo de problemas se pueden modelizar como un problema de aprendizaje por refuerzo e identificar las técnicas que se pueden aplicar para resolverlas
Competencias relacionadas:
CEA11,
CEA3,
CEP2,
CEP3,
Comprender los algoritmos más importantes y el estado del arte en el área del aprendizaje por refuerzo.
Competencias relacionadas:
CEA11,
CEA3,
CG3,
CG4,
Saber formalizar computacionalmente un problema del mundo real como aprendizaje para reforzamiento y saber implementar en los entornos más actuales los algoritmos de aprendizaje que los resuelve
Competencias relacionadas:
CT3,
CEP2,
CEP3,
CEP8,
CG4,
Conocer y entender las técnicas más avanzadas y recientes en el campo de los sistemas Multi-Agente para aprender a cooperar o competir.
Competencias relacionadas:
CT3,
CEA9,
CEP2,
CEP3,
CEP8,
CG4,
Comprender las dificultades e ineficiencias del enfoque de aprendizaje por refuerzo y proponer las técnicas y enfoques que podrían resolverlas.
Competencias relacionadas:
CEA11,
CEP3,
CEP8,
CG3,
CG4,
Contenidos
Introducción: Aprendizaje del comportamiento en agentes y descripción de los principales elementos en el aprendizaje de refuerzo
Intuición, motivación y definición del marco del aprendizaje pro refuerzo (RL). Elementos clave en RL.
Encontrando políticas óptimas mediante la programación dinámica
Como aprender un comportamiento con conocimiento completo del modelo del mundo: solución algebraica, evaluación iterada de políticas y evaluación iterada de valores.
Introducción a los enfoques sin modelos del mundo.
Algoritmos básicos para el aprendizaje por refuerzo: Monte-Carlo, Q-learning, Sarsa, TD (lambda). La necesidad de exploración. Diferencias entre los métodos On-policy y Off-policy
Aproximación de funciones en el aprendizaje por refuerzo
La necesidad de la aproximación de funciones y métodos incrementales en RL. El enfoque de Gradient Descent. RL con aproximación de función lineal. La tríada mortal para la aproximación de funciones en RL. Métodos por lotes y redes neuronales para la aproximación de funciones.
Aprendizaje por refuerzo profundo (DRL)
Revolución en RL introduciendo Deep Learning. Como tratar la mortal tríada con el algoritmo DQN. Aplicación de DQN el caso de los juegos Atari. Evoluciones del algoritmo DQN: Double DQN, Prioritized Experience Replay, aprendizaje en múltiples pasos y funciones de valor distribuidas. Rainbow: el algoritmo de última generación para un espacio de acción discreto.
Temas avanzados: Aprendizaje por refuerzo basado en modelos (MBRL)
Separar el aprendizaje de la política del aprendizaje de un modelo del mundo tiene algunos beneficios y algunos problemas. Eficiència de l'aprenentatge en EL per al·lucinació i imaginació.
Métodos del gradiente en la política
Qué hacer en espacios de acción continuos. Cómo las políticas probabilísticas permiten aplicar el método de gradiente directamente en la red de políticas. El algoritmo REINFORCE. Los algoritmos Actor-Critic. Algoritmos de última generación en espacios de acción continuos: DDPG, TD3 y SAC.
Temas avanzados: Como tratar el problema del refuerzo esparso
El problema de la recompensa esparsa. Introducción a técnicas avanzadas de exploración: curiosidad y empoderamiento en RL. Introducción al aprendizaje curricular para facilitar el aprendizaje del objetivo. RL jerárquico para aprender tareas complejas. El aprendizaje de las funciones de valor universales y Hindsight Experience Replay (HER).
Temas avanzados: Hacia el aprendizaje continuo la vida en los agentes
¿Es RL un camino para obtener una Inteligencia Artificial General? Aprendizaje multitarea en RL, Transferencia de aprendizaje en RL y Meta-aprendizaje en RL. Enfoques de última generación.
Aprendizaje por refuerzo en el marco de múltiples agentes
Aprendizaje de comportamientos en un entorno donde actúan varios agentes. Aprendizaje de conductas cooperativas, Aprendizaje de conductas competitivas y casos mixtos. Algoritmos de última generación. El caso especial de los juegos: el caso AlfaGo y la extensión a Alfa-Zero.
Actividades
ActividadActo evaluativo
Introducción, motivación y ejemplos de aplicaciones exitosas en RL
Desarrollo del tema correspondiente de la asignatura y ejercicios de laboratorio. Objetivos:12 Contenidos:
Las clases de teoría introducen todos los conocimientos, las técnicas y los conceptos necesarios que se ponen en práctica en las clases de laboratorio. Las clases de teoría serán mayoritariamente del tipo clase magistral, pero algunas de ellas pueden ser del tipo clase expositiva participativa, con participación de los estudiantes en la resolución de problemas o ejercicios.
Las clases de laboratorio tienen como objetivo que los estudiantes trabajen con herramientas de software que permiten aplicar las técnicas presentadas en teoría a problemas reales. Los estudiantes usarán estas herramientas para desarrollar su trabajo práctico de la asignatura, que constará de una parte de trabajo autónomo individual y una parte de trabajo en equipo de 2/3 personas. Una parte del tiempo de las clases de laboratorio se dedicará a la orientación y supervisión por parte del profesor de estos trabajos autónomos y cooperativos.
* Quiz * se refiere a un Quiz con preguntas teóricas y conceptuales sobre la primera parte del curso
* Práctico * se refiere a la implementación de un algoritmo RL en un problema realizado en Python
* Teórico * se refiere a un estudio del estado del arte en un trabajo de tema avanzado a ser elegido por el alumno