Aviso importante
La guía docente es provisional.
La versión en PDF de la guía docente puede tardar unos días en estar disponible en el DDD.

Aprendizaje Profundo
Código: 44737Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Research and Innovation in Computer Based Science and Engineering | OP | 1 |
Profesor/a de 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
Esta es una asignatura de aprendizaje basado en proyectos (ABP). Desde las primeras semanas, los estudiantes trabajan en equipo en proyectos de aprendizaje profundo de complejidad media. Estos proyectos presuponen que los estudiantes ya saben entrenar, validar y evaluar modelos de aprendizaje automático por su cuenta. La asignatura no enseña aprendizaje automático ni programación desde cero; parte de esa base.
Por este motivo, los siguientes puntos son obligatorios:
- Aprendizaje automático (machine learning). Los estudiantes deben haber cursado una asignatura de aprendizaje automático, o tener experiencia práctica equivalente. Esto incluye aprendizaje supervisado y no supervisado, particiones de entrenamiento / validación / test, validación cruzada, sobreajuste y regularización, trabajo con conjuntos de datos desequilibrados, y métricas de evaluación estándar (exactitud, precisión, exhaustividad, F1, ROC y AUC).
- Aprendizaje profundo básico / redes neuronales. Los estudiantes deben tener al menos un conocimiento previo básico de redes neuronales: qué es una neurona y una función de activación, cómo se entrena una red mediante descenso de gradiente y retropropagación, y una noción básica de las redes convolucionales. La asignatura amplía estos conceptos; no empieza desde cero.
- Programación en Python. Programación sólida en Python, incluyendo el entorno científico (NumPy). Se recomienda especialmente tener experiencia previa con al menos un entorno de aprendizaje profundo (PyTorch o TensorFlow).
- Fundamentos matemáticos. Dominio práctico del álgebra lineal (vectores, matrices), el cálculo (derivadas, gradientes) y la probabilidad y la estadística.
Recomendado (útil, pero no estrictamente obligatorio):
- Procesamiento de señal, imagen y vídeo.
- Experiencia en la validación estadística de resultados.
Objetivos
Esta asignatura desarrolla el diseño y el entrenamiento de modelos de redes neuronales a través del trabajo aplicado basado en proyectos. Presupone la base de aprendizaje automático y de redes neuronales básicas indicada en los Prerrequisitos, y la amplía hacia el diseño, el entrenamiento y la evaluación crítica de modelos de aprendizaje profundo en problemas realistas.
A partir de la teoría adquirida en asignaturas previas de aprendizaje automático, los estudiantes aprenden los conceptos específicos del diseño de redes neuronales, los entornos actuales de aprendizaje profundo y el proceso de entrenamiento de estos modelos, y los aplican desde las primeras semanas a proyectos concretos.
Al finalizar la asignatura, el estudiante habrá adquirido:
- Un conocimiento sólido de las principales arquitecturas de redes neuronales y de sus escenarios de uso más habituales.
- La capacidad de seleccionar críticamente la arquitectura y el mecanismo de entrenamiento más adecuados para cada tarea específica.
- Experiencia práctica en el uso de bibliotecas y entornos de aprendizaje profundo para implementar soluciones a problemas reales, incluyendo la preparación de datos, el entrenamiento, la validación y la comunicación honesta de los resultados.
Resultados de aprendizaje
- CA18 (Capacidad para diseñar la arquitectura más adecuada de red neuronal para la resolución de un determinado problema.) Capacidad para diseñar la arquitectura más adecuada de red neuronal para la resolución de un determinado problema.
- CA19 (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.) 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.
- KA23 (Describir la estructura de las redes neuronales convolucionales y recurrentes y en qué entornos es más favorable usarlas.) Describir la estructura de las redes neuronales convolucionales y recurrentes y en qué entornos es más favorable usarlas.
- KA24 (Describir los diferentes modelos de estructuración y representación de datos.) Describir los diferentes modelos de estructuración y representación de datos.
- KA25 (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.) 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.
- SA31 (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.) 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.
- SA32 (Aplicar sistemas de aprendizaje profundo basados en redes neuronales para poder Resolver problemas concretos.) Aplicar sistemas de aprendizaje profundo basados en redes neuronales para poder Resolver problemas concretos.
- SA33 (Seleccionar la arquitectura de red neuronal más adecuada según los datos disponibles que permita obtener los resultados esperados.) Seleccionar la arquitectura de red neuronal más adecuada según los datos disponibles que permita obtener los resultados esperados.
- SA34 (Emplear de manera adecuada sistemas de visualización de redes neuronales para poder evaluar posibles optimizaciones que mejoren el rendimiento del sistema.) Emplear de manera adecuada sistemas de visualización de redes neuronales para poder evaluar posibles optimizaciones que mejoren el rendimiento del sistema.
Contenidos
Los contenidos siguientes se desarrollan a través de los proyectos:
- Redes neuronales. Perceptrón, funciones de pérdida, entrenamiento y retropropagación del gradiente.
- Redes neuronales convolucionales. Arquitecturas para clasificación y segmentación (por ejemplo, U-Net), y técnicas de ajuste fino (fine-tuning) y transferencia de aprendizaje.
- Validación y robustez de los modelos. Métricas fiables, detección de sesgo en los modelos, manejo de conjuntos de datos desequilibrados y análisis del nivel de generalización de los modelos.
- Explicabilidad de los modelos. Visualización de mapas de activación y de atención para interpretar el comportamiento del modelo.
- Procesamiento de secuencias y series temporales. Redes neuronales recurrentes (LSTM), transformers aplicados al lenguaje (por ejemplo, traductores) y a la visión (por ejemplo, Vision Transformers), y arquitecturas de base (backbone).
- Aprendizaje no supervisado. Autoencoders, detección de anomalías y reducción de dimensionalidad.
- Modelos generativos. Redes generativas adversarias (GAN), autoencoders variacionales (VAE) y otros enfoques para la generación de datos.
- Aprendizaje métrico (metric learning). Triplet loss, Barlow twins, enfoques one-shot y redes siamesas.
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Trabajo Autónomo | 90 | 3,6 | |
| Explicaciones Teóricas | 20 | 0,8 | |
| Resolución de Problemas en Grupos | 30 | 1,2 |
La asignatura se basa en la metodología de Aprendizaje Basado en Proyectos (ABP), orientada a potenciar la motivación y la autonomía del estudiante. El aprendizaje se produce principalmente a través del trabajo guiado en proyectos y de la tutorización regular, complementado con sesiones dirigidas que repasan y consolidan conceptos clave. Estas sesiones revisan y amplían la base presupuesta; dado que los proyectos empiezan pronto y exigen trabajo autónomo, los conocimientos previos indicados en los Prerrequisitos son esenciales.
Al inicio del semestre se forman equipos de 4 o 5 estudiantes para desarrollar un conjunto de proyectos de complejidad media distribuidos a lo largo de la asignatura, con un seguimiento semanal que combina sesiones de tutoría grupal e individual.
Los proyectos propuestos por el profesorado cumplen los siguientes requisitos:
- Se inspiran en situaciones realistas o aplicaciones prácticas.
- Se pueden resolver con herramientas y conocimientos accesibles a los estudiantes que cumplen los prerrequisitos.
- No tienen una solución estándar conocida, para fomentar la creatividad y el análisis crítico.
El objetivo no es encontrar una solución óptima universal, sino proponer una razonable y bien justificada. Como en la práctica profesional real, a menudo no hay una única solución correcta.
Cada equipo desarrolla sus proyectos con la máxima autonomía posible. El tutor asignado tiene un papel de apoyo y supervisión, evitando dirigir o imponer soluciones. Las contribuciones deben ser originales. Se permite, e incluso es aconsejable, consultar fuentes bibliográficas o recursos en línea, siempre que se citen las fuentes y se explique su uso en el informe y al profesorado.
La entrega final del proyecto consta de dos partes:
- Un informe escrito que describe la propuesta, el proceso seguido, las decisiones tomadas y los resultados obtenidos.
- Una presentación oral, dirigida principalmente a una entidad hipotética que habría encargado el proyecto. Los detalles técnicos deben reservarse para los anexos o secciones específicas del informe.
La presentación oral es obligatoria para todo el equipo, y se espera la participación activa del resto de la clase mediante preguntas y comentarios.
Esta asignatura permite el uso de tecnologías de Inteligencia Artificial (IA) como parte integral del desarrollo de los proyectos. Los estudiantes deben identificar claramente las partes generadas con IA, especificar las herramientas utilizadas e incluir una reflexión crítica sobre cómo estas tecnologías han influido en el proceso y el resultado final. La falta de transparencia en el uso de estas tecnologías se considera una falta de honestidad académica.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Calificación de los proyectos | 70% | 7 | 0,28 | CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34 |
| Evaluación entre iguales | 10% | 1 | 0,04 | CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34 |
| Calificación individual | 20% | 2 | 0,08 | CA18, CA19, KA23, KA24, KA25, SA31, SA32, SA33, SA34 |
Esta asignatura no incluye el sistema de evaluación única. Dado que el trabajo gira en torno a un conjunto de proyectos desarrollados a lo largo del semestre, la evaluación es continua y el resultado final no es recuperable. La evaluación es continua y se basa en los dos proyectos desarrollados durante el curso, junto con una evaluación entre iguales de la colaboración y un componente individual.
Calificación final = 0.7 x Calificación de los proyectos + 0.1 x Evaluación entre iguales + 0.2 x Calificación individual
1. Calificación de los proyectos (0 a 10). Los dos proyectos tienen el mismo peso:
Calificación de los proyectos = 0.5 x Proyecto 1 + 0.5 x Proyecto 2.
Cada proyecto es calificado por el profesorado a partir de sus entregas, y combina una entrega intermedia y una final:
Proyecto = 0.25 x Informe intermedio (v1) + 0.75 x Informe final (v2), donde Informe final (v2) = 0.8 x Informe escrito + 0.2 x Presentación oral.
- Informe intermedio (v1): primera versión del informe, que muestra el enfoque, las decisiones iniciales y el progreso.
- Informe final (v2): documento escrito que describe el trabajo desarrollado y los resultados obtenidos.
- Presentación oral: presentación del proyecto y de los resultados obtenidos, dirigida a una entidad hipotética que habría encargado el proyecto.
2. Evaluación entre iguales (0 a 10). Al final de cada proyecto, cada miembro del equipo completa una breve encuesta valorando cómo han colaborado y contribuido sus compañeros al trabajo. Este componente premia el trabajo en equipo efectivo y la responsabilidad compartida dentro del grupo.
3. Calificación individual (0 a 10). Refleja la contribución propia de cada estudiante, a partir de la observación del tutor durante las sesiones tutorizadas (actitud, iniciativa, participación, asistencia y puntualidad) y de la documentación individual de las contribuciones del estudiante al proyecto.
Desarrollada completamente, la calificación final es:
Calificación final = 0.7 x [ 0.5 x (0.25 x IR1 + 0.75 x (0.8 x R1 + 0.2 x O1))
+ 0.5 x (0.25 x IR2 + 0.75 x (0.8 x R2 + 0.2 x O2)) ]
+ 0.1 x Evaluación entre iguales
+ 0.2 x Calificación individual,
donde IR = Informe intermedio, R = Informe escrito y O = Presentación oral, para los Proyectos 1 y 2.
4. No evaluable. De acuerdo con el punto 9 del artículo 266 de la Normativa Académica de la UAB, si el estudiante no aporta suficiente evidencia de aprendizaje a lo largo del curso, la asignatura se calificará como no evaluable. Esto se aplica cuando el estudiante no ha participado suficientemente en las actividades de evaluación continua, por ejemplo:
- No haber entregado ningún proyecto, o haberlo hecho de manera claramente insuficiente.
- No haber asistido a las sesiones tutorizadas ni haber participado en las actividades de seguimiento.
- No haber aportado suficiente evidencia para la calificación individual.
Este criterio se aplica de manera objetiva y es revisable según el procedimiento establecido por la titulación.
Bibliografía
Libros
- Bishop, C. M. y Bishop, H. Deep Learning: Foundations and Concepts. Springer, 2024. En línea y gratuito: https://www.bishopbook.com/ (Biblioteca UAB: en línea)
- Prince, S. J. D. Understanding Deep Learning. MIT Press, 2023. En línea y gratuito: https://udlbook.github.io/udlbook/ (Biblioteca UAB: en papel)
- Deep Learning. Ian Goodfellow, Yoshua Bengio y Aaron Courville. MIT Press, 1a ed., 2016. (Biblioteca UAB: en papel y en línea)
- Géron, A. Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow. O'Reilly, 3a ed., 2022. (Biblioteca UAB: en línea)
- Pattern Recognition and Machine Learning. Christopher Bishop. Springer, 2006. (Biblioteca UAB: en papel)
- Neural Networks for Pattern Recognition. Christopher Bishop. Clarendon Press, 1995. (Biblioteca UAB: en papel)
Libros en línea
- Zhang, A., Lipton, Z. C., Li, M. y Smola, A. J. Dive into Deep Learning. Cambridge University Press, 2023. https://d2l.ai/ (Biblioteca UAB: en línea)
- Michael Nielsen. Neural Networks and Deep Learning. http://neuralnetworksanddeeplearning.com/ (Biblioteca UAB: en línea)
Artículos clave. Artículos fundamentales con los que los estudiantes trabajan directamente en los proyectos:
- Ronneberger, O. et al. U-Net: Convolutional Networks for Biomedical Image Segmentation. MICCAI, 2015.
- He, K. et al. Deep Residual Learning for Image Recognition (ResNet). CVPR, 2016.
- Vaswani, A. et al. Attention Is All You Need. NeurIPS, 2017.
- Dosovitskiy, A. et al. An Image Is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT). ICLR, 2021.
- Goodfellow, I. et al. Generative Adversarial Networks. NeurIPS, 2014.
- Kingma, D. P. y Welling, M. Auto-Encoding Variational Bayes (VAE). ICLR, 2014.
- Zbontar, J. et al. Barlow Twins: Self-Supervised Learning via Redundancy Reduction. ICML, 2021.
Repaso de prerrequisitos. Los estudiantes que necesiten revisar la base de aprendizaje automático y de redes neuronales presupuesta antes de empezar el curso pueden usar los primeros capítulos de Bishop (Pattern Recognition and Machine Learning), el libro de Géron y los capítulos introductorios de "Dive into Deep Learning" y del libro de Nielsen.
Enlaces (tutoriales y charlas)
Software
La asignatura utiliza Python junto con PyTorch, TensorFlow y CUDA. Se facilita, siempre que es posible, el acceso a clústeres de GPU y CPU para dar soporte a las necesidades de cálculo. Se espera que los estudiantes se desenvuelvan con comodidad en este entorno desde el inicio del curso.
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 |
|---|---|---|---|---|
| (TEm) Teoría (máster) | 1 | Inglés | segundo cuatrimestre | tarde |
| (PLABm) Prácticas de laboratorio (máster) | 1 | Inglés | segundo cuatrimestre | tarde |