Logo UAB

Aprendizaje Profundo

Código: 44737 Créditos ECTS: 6
2024/2025
Titulación Tipo Curso
4318303 Investigación e Innovación en Ciencia e Ingeniería Basadas en Computadores OT 0

Contacto

Nombre:
Silvana Silva Pereira
Correo electrónico:
silvana.silva@uab.cat

Idiomas de los grupos

Puede consultar esta información al final del documento.


Prerrequisitos

Se recomienda que el alumno tenga conocimientos y capacidades de:

  • Programación en el lenguaje Python
  • Procesamiento de Señal, Imagen y Vídeo
  • Análisis estadístico

Objetivos y contextualización

Esta asignatura tiene como objetivo proporcionar una introducción práctica a los modelos de redes neuronales y al aprendizaje profundo.

Los estudiantes consolidarán y ampliarán sus antecedentes teóricos construyendo sobre temas anteriores sobre aprendizaje automático, complementando conocimientos previos con nuevos conceptos sobre diseño de redes neuronales, marcos de aprendizaje profundo y el proceso de entrenamiento para dichos modelos.

Los estudiantes acabarán la asignatura con un amplio conocimiento de las diferentes arquitecturas de redes neuronales y sus escenarios de uso típicos, y una capacidad demostrada para elegir críticamente la arquitectura adecuada y los mecanismos de entrenamiento para cada tarea.

Finalmente, los estudiantes recibirán capacitación y adquirirán experiencia práctica en el uso de marcos actuales de aprendizaje profundo para resolver tareas específicas.


Resultados de aprendizaje

  1. CA18 (Competencia) Capacidad para diseñar la arquitectura más adecuada de red neuronal para la resolución de un determinado problema.
  2. CA19 (Competencia) Diseñar soluciones computacionales en múltiples dominios relacionados con toma de decisiones basada en la exploración de alternativas, razonamiento incierto y la planificación de tareas.
  3. KA23 (Conocimiento) Describir la estructura de las redes neuronales convolucionales y recurrentes y en qué entornos es más favorable usarlas.
  4. KA24 (Conocimiento) Describir los diferentes modelos de estructuración y representación de datos.
  5. KA25 (Conocimiento) Describir técnicas avanzadas de manejo de redes neuronales como son el refuerzo de aprendizaje, así como poder visualizar de manera adecuada los resultados intermedios del procesado.
  6. SA31 (Habilidad) Resolver problemas relacionados con el análisis de grandes volúmenes de datos a través del diseño de sistemas inteligentes y del empleo de técnicas de aprendizaje computacional.
  7. SA32 (Habilidad) Aplicar sistemas de aprendizaje profundo basados en redes neuronales para poder Resolver problemas concretos.
  8. SA33 (Habilidad) Seleccionar la arquitectura de red neuronal más adecuada según los datos disponibles que permita obtener los resultados esperados.
  9. SA34 (Habilidad) Emplear de manera adecuada sistemas de visualización de redes neuronales para poder evaluar posibles optimizaciones que mejoren el rendimiento del sistema.

Contenido

Introducción a las redes neuronales: Perceptron, función de loss, training, back propagation.

Introducción a las redes neuronales convolucionales (deep learning): arquitecturas de clasificación, arquitecturas de segmentación (Unet), fine tuning.

Validación de modelos: métricas fidedignas, detección de bias en los modelos, problemas desbalanceados, nivel de generalización de los modelos. Explainability: mapas de activación y de atención.

Tratamiento de series temporales: redes recurrentes (LSTMs), transformers (traductores, visual transformers), arquitecturas backbone.

Unsupervised learning, autoencoders y detección de anomalías.

Modelos generativos, adversarial Networks, variational autoencoders.

Metric Learning (triplet loss, Barlow twins), one-shot approaches, Siamese networks. 


Actividades formativas y Metodología

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Explicaciones Teóricas 20 0,8 KA23, KA24, KA25, KA23
Tipo: Supervisadas      
Resolución de Problemas en Grupos 30 1,2 CA18, CA19, SA31, SA32, SA33, SA34, CA18
Tipo: Autónomas      
Trabajo Autónomo 90 3,6 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34, CA18

El curso seguirá una metodología docente de aprendizaje llamada Aprendizaje Basado en Proyectos (ABP). La metodología ABP pretende potenciar y motivar al estudiante en su aprendizaje. Se formarán grupos de entre 5 y 6 estudiantes a los que se les encargará la realización de un conjunto de proyectos (de tamaño medio) a lo largo del semestre. Se hará un seguimiento semanal y tutorización tanto grupal como individual de los estudiantes.

Los proyectos son fijados por el profesorado de forma que cumpla las siguientes condiciones: ser lo más real posible; ser tratable mediante herramientas elementales; no tener asociado un algoritmo de solución standard.

Por otra parte, es esencial entender que no se trata de encontrar un algoritmo que funcione en el 100% de los casos -a menudo no existe tal cosa- sino simplemente de "dar una propuesta de solución razonable".

Los proyectos se deben desarrollar por cada equipo con la máxima autonomía posible. Cada equipo tendrá asignado un tutor que seguirá la evolución, pero en principio se abstendrá de imponer sus ideas. Por otra parte, el estudiante debe tener claro que no se trata de buscar 'la solución' del problema en otros lugares, sino de hacer una aportación original. Esto no quiere decir que haya que renunciar a la información que pueda existir en la bibliografía o en Internet; pero cuando se haga uso de esta, deberá constar en la memoria y el profesor deberá estar informado.

La realización del proyecto debe terminar en un programa y una memoria final. Además de entregarla en forma escrita, los resultados de esta memoria serán objeto de una exposición oral. Una y otra, memoria escrita y exposición oral, deben ir dirigidas principalmentea la entidad, hipotética, que habría propuesto el problema. Por regla general, los tecnicismos serán relegados a apartados concretos de la memoria escrita.

En las presentaciones orales de los proyectos se espera que asistan toda la clase, y que los estudiantes intervengan mediante preguntas y observaciones.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.


Evaluación

Actividades de evaluación continuada

Título Peso Horas ECTS Resultados de aprendizaje
Nota Co-evaluación Compañeros 10% 1 0,04 CA18, CA19, KA23, KA24, KA25
Nota Coevaluación Clase 10% 1 0,04 SA31, SA32, SA33, SA34
Nota Grupal 50% 6 0,24 CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34
Nota Individual 30% 2 0,08 KA23, KA24, KA25

 

Esta asignatura no contempla el sistema de evaluación única. Dado que la mayor parte del trabajo gira en torno a un conjunto de proyectos que se desarrolla a lo largo de todo el curso, la evaluación tiene un carácter continuado, y su resultado final no es recuperable

Metodología de Evaluación

Se evaluarán las actas que el grupo escribirá después de cada sesión tutorizada, en la que describirán sus discusiones y acuerdos y las encuestas de autoevaluación que cada alumno hará de sus compañeros y de él mismo. Al final de cada proyecto los estudiantes se hará una presentación oral del proyecto y entregarán una memoria del trabajo realizado. Ambos serán evaluados por parte de los profesores de la asignatura sean o no los tutores. Los estudiantes no realizarán ningún examen escrito. 

Para la evaluación se utilizarán los siguientes INSTRUMENTOS y ACTIVIDADES:

  • Una evaluación hecha por los profesores a partir de la presentación de los proyectos realizado por el grupo (calidad del trabajo, presentación, memoria entregada). Nota Grupal (0 a 10) A partir de:

    • PORTAFOLIO DEL ALUMNO: Documento donde se explica el desarrollo del trabajo hecho: planteamiento del proyecto, actas de reuniones, información buscada, explicación de la aplicación implementada con un pequeño manual de usuario y pruebas y tests realizados.

    • PRESENTACIÓN: Presentación oral en 5-7 transparencias sobre el proyecto desarrollado y resultados obtenidos.

    • MEMORIA: informe programa desarrollado y resultados obtenidos.

    • ACTOS Y CONTROLES: Presentación de la documentación entregada.

  • Una evaluación individual a partir de las observaciones hechas por los tutores en las sesiones tutorizadas, donde se tendrá en cuenta la actitud, iniciativa, participación, asistencia y puntualidad del alumno en las sesiones de grupo. Nota Individual (0 a 10).

  • Encuestas de co-evaluación y autoevaluación entre los miembros del grupo al final de cada proyecto. Nota Coevaluación Compañeros (0 a 10).

  • Las presentaciones orales se realizan ante los alumnos y los grupos valorarán el trabajo de sus compañeros a modo de ranking El grupo que quede en 1ª posición recibirá 10 puntos, el 2º 8 puntos y así sucesivamente.  Nota Coevaluación Clase (0 a 10).

Calificaciones

Cada proyecto tendrá una nota que se calculará de la siguiente manera: 

Nota Grupal =  0,25 * Informe intermedio +  0,75 * Informe final 

Informe final = 0,8 * Report + 0,2 * presentación oral

Nota Proyecto = 0,5 * Nota Grupal + 0,3 * Nota Individual + 0,1 * Nota Coevaluación Compañeros + 0,1 * Nota Coevaluación Clase

La nota final saldrá del la media ponderada de losproyectos realizados. La ponderación será la misma paratodos los proyectos  


Bibliografía

Books

Deep Learning, Ian Goodfellow, Yoshua Bengio, and Aaron Courville, MIT Press, 1st Ed. 2016

Pattern Recognition and Machine Learning, Christopher Bishop, Springer, 2011

Neural Networks for Pattern Recognition, Christopher Bishop, Oxford University Press, 1st ed., 1996

Books online:

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/

Links (Tutorials and Talks):

https://towardsdatascience.com

https://www.datacamp.com

 https://medium.com

https://cs.stanford.edu/~sanmi/talks.html

 

 


Software

Python with pytorch, tensorflow, cuda.  En la medida del posible se facilitará el acceso a clústeres de GPUs i CPUs.


Lista de idiomas

Nombre Grupo Idioma Semestre Turno
(PLABm) Prácticas de laboratorio (máster) 1 Inglés segundo cuatrimestre manaña-mixto
(TEm) Teoría (máster) 1 Inglés segundo cuatrimestre manaña-mixto