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
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:
CEA3,
CEA11,
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:
CEA3,
CEA11,
CEP2,
CEP3,
Comprender los algoritmos más importantes y el estado del arte en el área del aprendizaje por refuerzo.
Competencias relacionadas:
CEA3,
CEA11,
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:
CG4,
CEP2,
CEP3,
CEP8,
CT3,
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:
CEA9,
CG4,
CEP2,
CEP3,
CEP8,
CT3,
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,
CG3,
CG4,
CEP3,
CEP8,
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