Logo UAB
2022/2023

Redes Neuronales y Aprendizaje Profundo

Código: 106573 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2504392 Inteligencia Artificial / Artificial Intelligence OB 2 2

Contacto

Nombre:
Dimosthenis Karatzas
Correo electrónico:
dimosthenis.karatzas@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
inglés (eng)
Algún grupo íntegramente en inglés:
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:
No

Prerequisitos

Haber cursado las asignaturas de Fundamentos de Aprendizaje Automático, Fundamentos de Programación, Fundamentos de Matemáticas, Probabilidad y Estadística, e Ingeniería de Datos.

Objetivos y contextualización

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

Los estudiantes consolidarán y ampliarán sus antecedentes teóricos, construyendo sobre asignaturas anteriores sobre aprendizaje automático y complementando el conocimiento previo con nuevos conceptos sobre el diseño de redes neuronales, las herramientas y sistemas de aprendizaje profundo, y las técnicas de aprendizaje para dichos modelos.

Los estudiantes deben terminar esta asignatura, teniendo 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 correcta y los mecanismos de aprendizaje adecuados para cada tarea.

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

Competencias

  • Desarrollar pensamiento crítico para analizar de forma fundamentada y argumentada alternativas y propuestas tanto propias como ajenas.
  • Elaborar estrategias para formular y solucionar diferentes problemas de aprendizaje de manera científica, creativa, crítica y sistemática, conociendo las capacidades y limitaciones de los diferentes métodos y herramientas existentes.
  • Identificar, comprender y aplicar los conceptos y técnicas fundamentales de representación del conocimiento, razonamiento y aprendizaje computacional para la solución de problemas de inteligencia artificial.
  • Identificar, comprender y aplicar los conceptos y técnicas fundamentales de representación del conocimiento, razonamiento y aprendizaje computacional para la solución de problemas de inteligencia artificial. 
  • Introducir cambios en los métodos y los procesos del ámbito de conocimiento para dar respuestas innovadoras a las necesidades y demandas de la sociedad.
  • Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  • Trabajar cooperativamente para la consecución de objetivos comunes, asumiendo la propia responsabilidad y respetando el rol de los diferentes miembros del equipo.

Resultados de aprendizaje

  1. Comprender el algoritmo de descenso de gradiente y sus variantes, y poder aplicarlo para resolver problemas de regresión y clasificación.
  2. Comprender los mecanismos de aprendizaje profundo basado en redes neuronales para poder diseñar y aplicar la arquitectura más adecuada a un problema determinado.
  3. Desarrollar pensamiento crítico para analizar de forma fundamentada y argumentada alternativas y propuestas tanto propias como ajenas.
  4. Entender los conceptos de bias y variance, y poder emplear métodos de preparación de datos y técnicas de regularización para obtener soluciones generalizables a partir de los datos disponibles.
  5. Formular la función de coste más adecuada para un problema concreto según las características de los datos experimentales y requerimientos / restricciones del problema. 
  6. Planificar, ejecutar e interpretar el proceso de entrenamiento de un modelo de red neuronal profunda usando un método de optimización adecuado, empleando las técnicas adecuadas de pre-procesamiento e inicialización de datos, y las técnicas de regularización necesarias.
  7. Ponderar los riesgos y las oportunidades de las propuestas de mejora tanto propias como ajenas.
  8. Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  9. Trabajar cooperativamente para la consecución de objetivos comunes, asumiendo la propia responsabilidad y respetando el rol de los diferentes miembros del equipo.

Contenido

  • Redes neuronales
    • Neuronas McCulloch-Pitts y Perceptron
    • Multi-layer perceptrón
    • Backpropagation
  • Proceso de entrenamiento
    • Inicialización
    • Algoritmos de optimización
    • Técnicas de regularización
    • Tareas y funciones de coste
  • Arquitecturas profundas de redes neuronales
    • Redes convolucionales
    • Redes recurrentes
    • Aprendizaje no supervisado (autoencoders)
    • Aprendizaje de métricas (siamese y triplet networks)
    • Generative Adversarial Networks

Metodología

El diseño de redes neuronales se guía por los tipos de problemas que pretende resolver. A lo largo de esta asignatura será esa tipología de problemas la que proporcionará la motivación de cada apartado y orientará la organización de los contenidos.

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.

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).

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.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases de teoría 24 0,96 2, 1, 4, 5, 6
Sesiones de laboratorio 21 0,84 2, 1, 3, 4, 5, 6, 7, 8, 9
Tipo: Supervisadas      
Trabajo en problemas / proyectos 40 1,6 2, 3, 5, 6, 7, 8, 9
Tutorías 2 0,08 2, 1, 3, 4, 5, 6, 7
Tipo: Autónomas      
Estudio individual 20 0,8 2, 1, 4, 5, 6
Trabajo en problemas / proyectos 30 1,2 2, 3, 5, 6, 7, 8, 9

Evaluación

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 * Evaluación práctica

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. Para obtener una nota de problemas se requiere que el alumno entregue un mínimo del 70% de los problemas. En caso contrario, la calificación de problemas será 0.

Nota de evaluación práctica

Las habilidades prácticas de los estudiantes se evaluarán dos veces durante el semestre. Cada alumno deberá defenderse, bien oralmente o de forma escrita las soluciones que ha aportado como solución a problemas semanales. Esta evaluación será individual y podrá centrarse en un subconjunto de problemas. Eventualmente se puede plantear problemas de mayor calado de forma no dirigida a los que se tendrá que presentar una solución computacional.

La calificación general de la evaluación práctica es el promedio de las dos evaluaciones prácticas.

En caso de no aprobar alguna de las evaluaciones prácticas, el alumno podrá recuperar la parte no aprobada, con una nota máxima restringida a 7/10.

Notas importantes

Sin perjuicio deotras 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úmero total 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.

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.

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Entrega de problemas 10% 5 0,2 3, 7, 8, 9
Pruebas escritas 50% 4 0,16 2, 1, 4, 5, 6
Pruebas practicas 40% 4 0,16 3, 7, 8

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, 1st Ed., 2017
  • Pattern Recognition and Machine Learning, Christopher Bishop, Springer, 2011

Libros online:

Software

Para las actividades prácticas del curso usaremos Python (NumPy, MatPlotLib, SciKit Learn) y PyTorch