
Aprendizaje Automático Avanzado
Código: 106575Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Inteligencia Artificial / Bachelor in Artificial Intelligence | OP | 3 |
Profesor/a de contacto
- Nombre :
- Andrey Barsky
- Correo electrónico :
- andrey.barsky@uab.cat
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
Se recomienda encarecidamente haber cursado los "Fundamentos de aprendizaje automático" y "Redes Neuronales y Aprendizaje Profundo"
Objetivos
Esta asignatura tiene como objetivo ofrecer una visión general detallada de las técnicas que mejoran y optimizan los modelos de redes neuronales, más allá de la implementación de arquitecturas específicas para cada tarea. Partiendo de los conocimientos adquiridos en asignaturas anteriores, este curso se centra en metaobjetivos que transfieren, extienden o analizan el funcionamiento de los modelos existentes.
Los estudiantes profundizarán en su comprensión de la mecánica del aprendizaje profundo y abordarán diversos desafíos prácticos en el despliegue y escalado de modelos de redes neuronales en entornos reales. Aprenderán a entrenar modelos en entornos con recursos limitados; a analizar su comportamiento para comprender sus casos de fallo; a subvertir modelos como adversarios y a diseñar modelos seguros frente a la subversión.
Al finalizar la asignatura, los estudiantes habrán desarrollado las habilidades y la experiencia necesarias para considerar objetivos secundarios en el desarrollo de modelos profundos y podrán razonar sobre el comportamiento de las redes neuronales a un alto nivel. Además, contarán con experiencia práctica en estas técnicas avanzadas de aprendizaje profundo, lo que les proporcionará los conocimientos necesarios para crear sistemas más adaptables, eficientes y robustos.
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
- CM08 (Diseñar soluciones basadas en aprendizaje automático que contemplen criterios de equidad, seguridad, privacidad y transparencia haciendo un uso sostenible de los recursos de computación) Diseñar soluciones basadas en aprendizaje automático que contemplen criterios de equidad, seguridad, privacidad y transparencia haciendo un uso sostenible de los recursos de computación
- 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
Aprendizaje eficiente y escalable
• Transferencia de aprendizaje y adaptación de dominio
• Aprendizaje de parámetros eficiente y compresión de modelos
• Aprendizaje semisupervisado y auto-supervisado
Paradigmas avanzados de aprendizaje
• Aprendizaje por conjuntos y distilación
• Aprendizaje continuo y en línea
• Aprendizaje multi-tarea y meta-aprendizaje
IA responsable y confiable
• Explicabilidad e interpretabilidad
• Robustez adversarial y seguridad del aprendizaje automático
• Aprendizaje federado y privacidad del aprendizaje automático
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Estudio individual | 20 | 0,8 | CM07, CM08, KM24, SM25, SM26, SM27 |
| Trabajo en proyectos/ejercicios | 42 | 1,68 | CM07, CM08, KM24, SM25, SM26, SM27 |
| Trabajo en proyectos/ejercicios | 35 | 1,4 | CM07, CM08, KM24, SM25, SM26, SM27 |
| Sesiones de laboratorio | 20 | 0,8 | CM07, CM08, SM26, SM27 |
| Clases de teoría | 20 | 0,8 | KM23, KM24, SM25 |
Los módulos anteriores sobre aprendizaje automático y redes neuronales se han centrado principalmente en la teoría del aprendizaje y la optimización práctica para resolver tareas específicas. En este módulo, los estudiantes aprenderán a:
• Resolver tareas utilizando redes neuronales bajo restricciones de diseño estrictas, como datos reducidos, recursos computacionales reducidos o requisitos de tareas complejos.
• Resolver metaobjetivos que transfieren o extienden el funcionamiento normal de los modelos, como analizar su comportamiento para comprender sus procesos de decisión o componer el conocimiento de varios modelos a la vez.
• Aprovechar las vulnerabilidades de los modelos para subvertir su comportamiento y diseñar modelos seguros y robustos contra dichos ataques.
Habrá dos tipos de sesiones:
Clases de teoría: El objetivo de estas sesiones es que el profesor explique los antecedentes teóricos de la asignatura. Para cada uno de los temas estudiados se explica la teoría y formulación matemática, así como las correspondientes soluciones algorítmicas.
Sesiones de laboratorio: Las sesiones de laboratorio tienen como objetivo facilitar la interacción, el trabajo colaborativo y reforzar la comprensión de los temas vistos en las clases de teoría mediante la elaboración de casos prácticos que requieren el diseño de soluciones utilizando los métodos estudiados en las clases de teoría. La resolución de problemas se iniciará en la clase y se complementará con una serie de problemas semanales para trabajar en casa.
Las actividades anteriores se complementarán con un sistema de tutorías y consultas fuera del horario de clases.
Proyecto de la Asignatura: Durante el semestre se realizará un proyecto, donde los alumnos deberán resolver un problema específico de cierta complejidad. Se trabajará en grupos de 2-3 alumnos, donde cada miembro del grupo deberá contribuir por igual a la solución final. Estos grupos de trabajo se mantendrán hasta el final del semestre y deberán autogestionarse en cuanto a distribución de roles, planificación del trabajo, asignación de tareas, gestión de los recursos disponibles, conflictos, etc. Para desarrollar el proyecto, los grupos trabajarán de forma autónoma, mientras que algunas de las sesiones de laboratorio se utilizarán (1) para que el profesor presente la temática de los proyectos y discuta los posibles enfoques, (2) para monitorear el estado del proyecto y (3) para que los equipos presenten sus resultados finales.
Toda la información de la asignatura y los documentos relacionados que necesiten los alumnos estarán disponibles en el campus virtual (cv.uab.cat).
Uso de IA: En esta asignatura, se desaconseja encarecidamente el uso de tecnologías de Inteligencia Artificial (IA) en las sesiones de laboratorio, ya que estas tienen como objetivo desarrollar la comprensión teórica y la fluidez práctica, que solo se adquieren con la práctica.
Se permite el uso de tecnologías de IA en el contexto del proyecto de la asignatura, con fines como la asistencia a la codificación y la corrección de textos, siempre que el resultado final refleje una contribución significativa del estudiante en el análisis y la reflexión personal. El estudiante debe identificar claramente qué partes se han generado con esta tecnología, especificar las herramientas utilizadas e incluir una reflexión crítica sobre cómo estas han influido en el proceso y el resultado final de la actividad. La falta de transparencia en el uso de la IA se considerará una falta de honestidad académica y podrá conllevar una penalización en la calificación de la actividad, o sanciones mayores en casos graves.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Entrega de problemas | 10% | 5 | 0,2 | CM07, CM08, KM24, SM25, SM26, SM27 |
| Pruebas práctiques | 40% | 4 | 0,16 | CM07, CM08, KM23, KM24, SM25, SM26, SM27 |
| Pruebas escritas | 50% | 4 | 0,16 | CM08, KM23, KM24, SM25, SM26 |
Para evaluar el nivel de aprendizaje del alumno, se establece una fórmula que combina la adquisición de conocimientos teóricos y prácticos, y la capacidad de resolución de problemas.
Nota final
La nota final se calcula ponderada de la siguiente forma y según las diferentes actividades que se llevan a cabo:
Nota final = 0.5 * Nota de teoría + 0.1 * Nota de problemas + 0.4 * Nota de Proyecto
Esta fórmula se aplicará siempre que la calificación de la evaluación teórica y práctica sea superior a 5. No hay restricción en la calificación del portafolio de problemas. Si al hacer el cálculo de la fórmula se obtiene> = 5 pero la nota de teoría o la nota de la evaluación práctica no alcanza el mínimo exigido, se otorgará una nota final de 4,5.
Nota de teoría
La nota de teoría tiene como objetivo evaluar las habilidades individuales del alumno en cuanto al contenido teórico de la asignatura, esto se realiza de forma continua durante el curso a través de dos exámenes parciales. La calificación general de teoría es el promedio de las calificaciones de los dos exámenes parciales.
El examen parcial # 1 se realiza a mitad de semestre y sirve para eliminar parte de la materia si se aprueba. El examen parcial # 2 se realiza al final del semestre y sirve para eliminar la parte del temario que viene después del parcial 1 si se aprueba.
Estos exámenes tienen como objetivo evaluar las habilidades de cada alumno de forma individualizada, tanto en la resolución de problemas utilizando las técnicas explicadas en clase, como valorando el nivel de conceptualización que ha hecho el alumno de las técnicas vistas. Para obtener una nota de teoría se requerirá que las calificaciones de ambos exámenes parciales sean superiores a 4. Si al hacer el cálculo de la fórmula se obtiene> = 5 pero las calificaciones de cualquiera de los dos exámenes parciales no alcanzan el mínimo requerido, entonces la nota final de teoría será de 4.5.
Examen de recuperación. En caso de que la nota de teoría no alcanza el nivel adecuado para aprobar, los alumnos pueden realizar un examen de recuperación, destinado a recuperar la parte reprobada (1, 2 o ambas) del proceso de evaluación continua.
Nota de Problemas
El objetivo de los problemas es que el alumno se entrene de forma continuada con los contenidos de la asignatura y se familiarice con la aplicación de los conceptos teóricos. Como prueba de este trabajo se solicita la entrega de un portafolio con las soluciones a los problemas semanales.
Nota de Proyecto
El proyecto de asignatura tiene un peso esencial en la nota global de la asignatura. Desarrollar el proyecto requiere que los estudiantes trabajen de manera colaborativa y diseñen una solución integral al reto definido. Además, los estudiantes deben demostrar sus habilidades de trabajo en equipo y presentar los resultados en clase.
El proyecto se evalúa a través de sus entregables, una presentación oral que los estudiantes realizarán en clase y un proceso de autoevaluación. La participación de los estudiantes en las tres actividades (preparación del entregable, presentación y autoevaluación) es necesaria para obtener la calificación de los proyectos. La calificación se calcula de la siguiente manera:
Nota Proyecto = 0.6 * Nota Entregable + 0.3 * Nota Presentación + 0.1 * Nota Autoevaluación
Si al realizar el cálculo anterior se obtiene >= 5 pero el estudiante no participó en ninguna de las actividades (entregables, presentación, autoevaluación), entonces se otorgará una calificación final de 4.5 al proyecto del curso.
En caso de no alcanzar la nota mínima, el grupo podrá recuperar el proyecto, con una nota máxima restringida a 7/10.
Notas importantes
Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las actividades de evaluación serán suspendidas con cero (0) siempre que un alumno cometa alguna irregularidad académica que pueda alterar dicha evaluación (por ejemplo, plagio, copia, cesión de copia, ...). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si se necesita aprobar alguna de estas actividades de evaluación para aprobar la asignatura, esta asignatura se suspenderá directamente, sin posibilidad de recuperarla en el mismo curso.
En caso de que el alumno no haga ninguna entrega de problemas, no participe en ninguna evaluación práctica y en ningún de los exámenes, la nota correspondiente será \"no evaluable\". En cualquier otro caso, los \"no presentados\" computan como un 0 para el cálculo del promedio ponderado.
Para obtener matrícula de honor, la calificación final debe ser igual o superior a 9 puntos. Debido a que el número de estudiantes con esta distinción no puede exceder el 5% del númerototal de estudiantes inscritos en el curso, se le otorga a quien tenga la calificación final más alta. En caso de empate, se tendrán en cuenta los resultados de los exámenes parciales.
Este módulo no contempla el sistema de evaluación única.
Más detalles sobre el proceso de evaluación se darán en clase durante las primeras semanas del semestre. En caso de discrepancia entre esta guía y la información proporcionada en clase, prevalecerá la información proporcionada en clase.
Bibliografía
Libros:
- Deep Learning, Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press, 1st Ed. 2016
- Deep learning with Python, François Chollet, Manning Publications, 2nd Ed., 2022
- Pattern Recognition and Machine Learning, Christopher Bishop, Springer, 2011
Libros en linea:
- Michael Nielsen’s Neural Networks and Deep Learning
- http://neuralnetworksanddeeplearning.com/
- Zhang, Z.C. Lipton, M. Li, A.J. Smola, “Dive into Deep Learning”, 2021
- https://d2l.ai/
Software
Para las actividades prácticas del curso usaremos Python (NumPy, MatPlotLib) y PyTorch, aprovechando recursos computacionales de Google Colab o Kaggle.
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 | 71 | Inglés | primer cuatrimestre | tarde |
| (PAUL) Prácticas de aula | 711 | Inglés | primer cuatrimestre | tarde |