
Aprendizaje por Refuerzo
Código: 108271Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Inteligencia Artificial / Bachelor in Artificial Intelligence | OB | 3 |
Profesor/a de contacto
- Nombre :
- Jordi Casas Roma
- Correo electrónico :
- jordi.casas.roma@uab.cat
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
Se espera que los estudiantes hayan superado satisfactoriamente las asignaturas "Fundamentos del Aprendizaje Automático" y "Redes Neuronales y Aprendizaje Profundo", ya que proporcionan los conocimientos básicos necesarios para cursar esta asignatura.
Objetivos
El objetivo de esta asignatura es proporcionar una formación completa en las metodologías, técnicas y algoritmos fundamentales del aprendizaje por refuerzo.
A lo largo del curso, los estudiantes estudiarán, implementarán y aplicarán una amplia variedad de métodos de aprendizaje por refuerzo, abarcando tanto los enfoques clásicos como los más modernos. De este modo, adquirirán una sólida comprensión de los conceptos teóricos que los sustentan, al tiempo que desarrollarán experiencia práctica mediante su implementación.
Los estudiantes implementarán los principales algoritmos desde cero para profundizar en su comprensión, explorarán y utilizarán bibliotecas de aprendizaje por refuerzo de última generación y aplicarán estas técnicas para resolver problemas reales de toma de decisiones y aprendizaje secuencial.
Resultados de aprendizaje
- CM07 (Integrar soluciones basadas en aprendizaje automático en el diseño, implementación y despliegue de aplicaciones de inteligencia artificial) Integrar soluciones basadas en aprendizaje automático en el diseño, implementación y despliegue de aplicaciones de inteligencia artificial
- KM23 (Explicar los principios y la formulación matemática sobre los que se fundamentan los algoritmos de aprendizaje automático) Explicar los principios y la formulación matemática sobre los que se fundamentan los algoritmos de aprendizaje automático
- KM24 (Identificar las ventajas e inconvenientes de diferentes algoritmos y paradigmas de aprendizaje en su aplicación a problemas de aprendizaje) Identificar las ventajas e inconvenientes de diferentes algoritmos y paradigmas de aprendizaje en su aplicación a problemas de aprendizaje
- SM25 (Analizar de forma crítica y razonada los resultados de aplicación de un modelo de aprendizaje automático en función de los requerimientos del problema) Analizar de forma crítica y razonada los resultados de aplicación de un modelo de aprendizaje automático en función de los requerimientos del problema
- SM26 (Seleccionar los paradigmas, algoritmos y arquitecturas adecuados para un problema de aprendizaje, en función del dominio y tipo de problema, de los datos disponibles y de cualquier otra restricción o requerimiento) Seleccionar los paradigmas, algoritmos y arquitecturas adecuados para un problema de aprendizaje, en función del dominio y tipo de problema, de los datos disponibles y de cualquier otra restricción o requerimiento
- SM27 (Utilizar de forma eficiente y óptima los recursos de computación necesarios para el entrenamiento y validación de modelos de aprendizaje) Utilizar de forma eficiente y óptima los recursos de computación necesarios para el entrenamiento y validación de modelos de aprendizaje
Contenidos
1. Introducción y Gymnasium
- Introducción al aprendizaje por refuerzo.
- Biblioteca Gymnasium.
2. Soluciones tabulares
- Proceso de decisión de Markov.
- Programación dinámica.
- Métodos de Monte Carlo.
- Aprendizaje por diferencia temporal (TD Learning).
3. Soluciones aproximadas
- Deep Q-Networks (DQN).
- Gradientes de política (Policy Gradients).
- Métodos Actor-Critic.
4. Aprendizaje por refuerzo multiagente
- Modelos de juego.
- Conceptos de solución.
- Aprendizaje por refuerzo multiagente en juegos.
5. Problemas del mundo real
- Diseño e implementación de entornos.
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Proyecto | 50 | 2 | CM07, KM24, SM25, SM26, SM27 |
| Actividades prácticas evaluables | 42 | 1,68 | CM07, SM26, SM27 |
| Ejercicios prácticos no evaluables | 21 | 0,84 | CM07, SM26, SM27 |
| Teoría | 21 | 0,84 | KM23, KM24, SM25 |
La asignatura consta de cuatro tipos principales de actividades de aprendizaje:
- Sesiones de teoría
- Prácticas evaluables
- Pruebas de teoría
- Proyecto
Sesiones de teoría
Estas sesiones introducen los fundamentos teóricos del aprendizaje por refuerzo. Para cada tema se presentan y analizan los principales conceptos, las formulaciones matemáticas y los algoritmos correspondientes. Con el fin de reforzar los contenidos, durante las clases podrán proponerse ejercicios prácticos no evaluables. Asimismo, estas sesiones incluirán la resolución guiada de problemas y ejercicios de programación utilizando Python.
Prácticas evaluables
A lo largo del semestre, los estudiantes realizarán varias prácticas individuales destinadas a evaluar su comprensión de los contenidos de la asignatura. Estas actividades consistirán en la implementación y aplicación de algoritmos de aprendizaje por refuerzo para resolver distintos problemas.
Pruebas de teoría
Durante el semestre, los estudiantes realizarán varias pruebas individuales a través de Moodle con el objetivo de evaluar su comprensión de los conceptos teóricos tratados en las sesiones de teoría.
Proyecto
Durante el semestre, los estudiantes desarrollarán un proyecto en grupo centrado en la resolución de un problema de aprendizaje por refuerzo de complejidad moderada. Los proyectos se realizarán en equipos de dos o tres estudiantes.
Cada equipo permanecerá inalterado durante todo el proyecto y será responsable de la autogestión de todos los aspectos del trabajo, incluyendo el reparto de tareas, la planificación, la gestión de recursos y la resolución de posibles conflictos. Se espera que los equipos trabajen de forma autónoma aplicando los conceptos y las técnicas aprendidos a lo largo del curso.
Las actividades anteriores se complementarán con tutorías y sesiones de consulta, donde los estudiantes podrán plantear dudas y recibir orientación fuera del horario habitual de clase.
Todo el material docente, los avisos, los enunciados de las actividades y el resto de la documentación relevante de la asignatura estarán disponibles en el Campus Virtual (cv.uab.cat).
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Test de teoria | 10% | 2 | 0,08 | KM23, KM24 |
| Actividades prácticas | 20% | 4 | 0,16 | CM07, SM25, SM26, SM27 |
| Exámenes individuales | 40% | 4 | 0,16 | KM23, KM24 |
| Proyecto | 30% | 6 | 0,24 | CM07, KM24, SM25, SM26, SM27 |
El sistema de evaluación está diseñado para valorar tanto la comprensión de los fundamentos teóricos del aprendizaje por refuerzo como la capacidad de los estudiantes para aplicar dichos conocimientos a problemas prácticos.
Calificación final
La calificación final se calcula mediante la siguiente fórmula:
Calificación final = (0,40 × Exámenes de teoría) + (0,10 × Pruebas de teoría) + (0,20 × Prácticas) + (0,30 × Proyecto)
Esta fórmula solo se aplica si se cumplen simultáneamente las dos condiciones siguientes:
- Exámenes de teoría ≥ 5,0
- Proyecto ≥ 5,0
Si la media ponderada es igual o superior a 5,0, pero no se alcanza la calificación mínima requerida en los Exámenes de teoría o en el Proyecto, la calificación final de la asignatura será de 4,5 (Suspenso).
1. Exámenes de teoría (40%)
Los exámenes de teoría evalúan la comprensión individual de los conceptos teóricos tratados durante el curso. La evaluación se realiza mediante dos pruebas escritas:
Exámenes de teoría = (0,50 × Examen 1) + (0,50 × Examen 2)
- Examen 1 (parcial): abarca la primera parte de la asignatura y se realiza aproximadamente a mitad del semestre.
- Examen 2 (final): abarca el resto de los contenidos de la asignatura y se realiza al final del semestre.
Para superar este apartado es necesario obtener una calificación mínima de 5,0 tanto en el Examen 1 como en el Examen 2.
Los estudiantes que no cumplan este requisito podrán presentarse a una prueba de recuperación, que evaluará únicamente la parte o las partes no superadas (Examen 1, Examen 2 o ambos).
2. Pruebas de teoría (10%)
Las pruebas de teoría son evaluaciones individuales realizadas a través de Moodle a lo largo del semestre. Su objetivo es reforzar y evaluar la comprensión de los conceptos teóricos presentados en clase.
La calificación de las Pruebas de teoría corresponde a la media aritmética de todas las pruebas realizadas durante el curso.
3. Prácticas (20%)
Las prácticas evalúan la capacidad de los estudiantes para implementar y aplicar las técnicas de aprendizaje por refuerzo estudiadas durante el curso.
A lo largo del semestre, los estudiantes realizarán varias prácticas individuales de programación.
La calificación de las Prácticas corresponde a la media aritmética de todas las prácticas realizadas.
4. Proyecto (30%)
El proyecto tiene como objetivo evaluar la capacidad de los estudiantes para integrar los conocimientos adquiridos durante el curso en la resolución de un problema de aprendizaje por refuerzo de complejidad moderada.
Los proyectos se desarrollarán en equipos de dos o tres estudiantes y se evaluarán mediante:
- una memoria o entrega escrita del proyecto;
- una presentación oral.
La calificación del Proyecto se calcula de la siguiente manera:
Proyecto = (0,70 × Entrega) + (0,30 × Presentación oral)
La participación activa tanto en la entrega escrita como en la presentación oral es obligatoria. Si un estudiante no participa en alguna de estas actividades obligatorias, la calificación máxima del proyecto será de 4,5, independientemente de la media ponderada obtenida.
El proyecto no es recuperable. Los estudiantes que no entreguen el proyecto o cuya calificación final del proyecto sea inferior a 5,0 no podrán superar la asignatura.
Bibliografía
- Reinforcement Learning: An Introduction (Second edition). R. S. Sutton, A. G. Barto, MIT Press, Cambridge, MA, 2018.
- Deep Reinforcement Learning Hands-On (Third edition). M. Lapan, Packt Publishing, 2024
Software
Las actividades prácticas de esta asignatura se desarrollarán utilizando Python y su ecosistema de bibliotecas para la computación científica y el aprendizaje automático. Los estudiantes trabajarán con bibliotecas ampliamente utilizadas, como NumPy, Matplotlib, pandas y scikit-learn, así como con entornos de aprendizaje profundo como PyTorch y TensorFlow. Los ejercicios y proyectos de aprendizaje por refuerzo se implementarán utilizando el framework Gymnasium y la biblioteca Stable-Baselines3.
Grupos e idiomas de la asignatura
La información proporcionada es provisional hasta el 30 de noviembre. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura
| Tipo de docencia | Grupo | Idioma | Semestre | Turno |
|---|---|---|---|---|
| (TE) Teoría | 1 | Inglés | segundo cuatrimestre | tarde |
| (PAUL) Prácticas de aula | 1 | Inglés | segundo cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 1 | Inglés | segundo cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 2 | Inglés | primer cuatrimestre | tarde |