Aprendizaje Profundo

Usted está aquí

Créditos
4.5
Tipos
Optativa
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
BSC;CS
Esta asignatura pretende familiarizar al alumno con los aspectos prácticos de las técnicas de Deep Learning (DL). En las clases de teoría se refrescarán los conceptos básicos de DL (CNNs, LSTMs, etc.), asumiendo cierto conocimiento previo. También se introducirán las arquitecturas más populares, así como configuraciones de redes que se han demostrado útiles para problemas concretos. En la parte práctica, el alumno deberá realizar experimentos usando librerías de DL, y experimentando con los diversos componentes que se han propuesto en el campo. Las prácticas se realizarán en recursos computacionales del Barcelona Supercomputing Center (BSC), que dispone de tecnología de última generación.

Profesorado

Responsable

  • Dario García Gasulla ( )

Otros

  • Javier Béjar Alonso ( )
  • Marc Casas Guix ( )

Horas semanales

Teoría
1
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.38
Aprendizaje autónomo
6

Competencias

Competencias Técnicas de cada especialidad

Profesionales

  • CEP3 - Capacidad de aplicación de las técnicas de Inteligencia Artificial en entornos tecnológicos e industriales para la mejora de la calidad y la productividad.
  • CEP4 - Capacidad para disenar, redactar y presentar informes sobre proyectos informaticos en el area especifica de Inteligencia Artificial.

Competencias Transversales

Razonamiento

  • CT6 - Capacidad de evaluar y analizar de manera razonada y critica sobre situaciones, proyectos, propuestas, informes y estudios de caracter cientifico-tecnico. Capacidad de argumentar las razones que explican o justifican tales situaciones, propuestas, etc.

Analisis y sintesis

  • CT7 - Capacidad de analisis y resolucion de problemas tecnicos complejos.

Objetivos

  1. Entender las varias técnicas que se pueden integrar en un sistema deep learning, y saber experimentar con ellas de manera coherente en un entorno de producción realista mediante el uso de librerías de terceros.
    Competencias relacionadas: CT7, CEP3,
  2. Ser capaz de entender artículos científicos del área del deep learning, de extraer las conclusiones más relevantes, y de derivar posibles aplicaciones o limitaciones.
    Competencias relacionadas: CT6, CEP4,

Contenidos

  1. Convolutional Neural Networks
    We will review the main aspects of CNNs. How they work, why, and how can they be improved.
  2. Recurrent Neural Networks
    We will review the main aspects of RNNs. How they work, why, and how can they be improved.
  3. Transfer Learning
    We will review several ways in which neural network embeddings can be reused, the pros and cons.
  4. HPC&DL
    We will review basic concepts of High Performance Computing in the context of Deep Learning.
  5. Transformer Networks
    Introduction to Transformer Networks

Actividades

Actividad Acto evaluativo


Experimentación práctica

Experimentación mediante librerias de deep learning, y el reporte de las conclusiones más relevantes.
Objetivos: 1
Semana: 13
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2.6h
Aprendizaje autónomo
15h

Comprensión teórica

Leer un artículo relevante del campo del deep learning, describir y presentar las principales contribuciones, asi como posibles líneas de trabajo futuro o limitaciones del mismo.
Objetivos: 2
Semana: 13
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
9h

Revisión del Multilayer Perceptron y de las Convolutiona Neural Networks



Teoría
3h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Laboratorio en Multilayer Perceptron y Convolutional Neural Networks



Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h

Revisión de las Redes Neuronales Recurrentes



Teoría
3h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Laboratorio en Redes Neuronales Recurrentes



Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h

Revisión de los Neural Embedding Spaces



Teoría
3h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Laboratorio en Neural Embedding Spaces



Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h

Revisión de HPC para Deep Learning



Teoría
3h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h

Laboratorio en HPC para Deep Learning



Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h

Metodología docente

Esta asignatura tiene una componente teórica y una práctica.
La componente teórica consta de clases presenciales donde el profesor repasará conceptos de Deep Learning, presentará aplicaciones, y otras tendencias recientes del campo. Al final de curso, los alumnos deberán leer y analizar artículos de Deep Learning para demostrar los conocimientos aprendidos.
La componente práctica costa de prácticas individuales, donde los alumnos deberán experimentar con las diversas técnicas de Deep Learning. Basándose en experimentos simples, y usando librerías populares de Deep Learning (e.g., Kera, TensorFlow, Theano, Caffe), los alumnos probarán los efectos de las varias técnicas disponibles.

Método de evaluación

Esta asignatura será evaluada teniendo en cuenta la parte teórica (25%) y práctica (75%).
Para la parte teórica, los alumnos deberán leer un artículo de Deep Learning (propuesto o validado por el profesor) y hacer una presentación detallando las principales contribuciones a la clase. También deberán hacer un análisis crítico del artículo, detallando aspectos que se podrían hacer diferente, trabajo futuro que se podría derivar, o limitaciones de la propia metodología.
Para la parte práctica, los alumnos deberán hacer un resumen de los experimentos realizados en las prácticas, detallando los resultados obtenidos en cada experimento, e interpretando estos resultados.

Bibliografía

Básica:

Capacidades previas

Se requieren conceptos básicos de redes neuronales (SGD, back-propagación, loss functions) y de machine learning (clasificación, regresión, metodologías de evaluación).
Los alumnos deberán ser capaces de programar de manera autónoma (Python), de trabajar en un servidor de manera remota mediante terminal (ssh, bash), y de interactuar con librerías de terceros.