Aprendizaje Profundo para Visión Artificial
Diagrama de temas
-
Aprendizaje Profundo para Visión Artificial
¡Bienvenidos al curso 2024!
Descripción
En los últimos años, el aprendizaje profundo (deep learning) se ha convertido en una herramienta fundamental en el aprendizaje de máquinas para una amplia variedad de dominios y aplicaciones. Uno de sus mayores éxitos ha sido su aplicación a la visión artificial, donde el desempeño en problemas como el reconocimiento de objetos y acciones ha permitido importantes mejoras en la última década.
El aprendizaje profundo es una técnica que emplea redes neuronales para aprender representaciones a partir de una serie de datos observados, que puedan ser de utilidad para resolver problemas de alto nivel como ser predicción, restauración o clasificación de señales. Dichas representaciones se denominan profundas por estar construidas a partir de una jerarquía compuesta de sucesivas capas que representan las observaciones con un nivel creciente de abstracción. El aprendizaje profundo pretende descubrir las propiedades intrínsecas de grandes volúmenes de datos construyendo representaciones distribuidas, tanto en contextos supervisados como no supervisados.
Este curso brinda una introducción al aprendizaje profundo con un enfoque práctico en la visión artificial. El objetivo principal es presentar a los estudiantes los principales aspectos de modelado, algorítmicos y de optimización de forma de que ellos mismos puedan implementar (diseñar, entrenar y validar) sus propios modelos. Se presentarán modelos simples basados en redes convolucionales que permiten explicar matemáticamente algunas de las propiedades claves para su éxito. Todos los conceptos serán ilustrados con aplicaciones específicas en los campos de visión artificial y procesamiento de imágenes.
Comienzo
El curso comienza el jueves 19 de septiembre.Habilitación
El curso está habilitado sólo como curso de posgrado y actualización, no está habilitado para grado (por alternativas ver: [cursos DPS]).
Inscripciones
Las inscripciones están disponibles según la modalidad y sujetas a criterio:
- Criterio (Entrega de documentación en link de la siguiente sección).
- Inscripción Posgrado: pueden inscribirse gratuitamente.
- Inscripción Actualización: en esta modalidad deberán abonar la matrícula o pedir una beca.
Temario
Evaluación
La evaluación consiste en:
- La entrega de tres obligatorios con ejercicios de máquina.
- Tres controles, uno por cada obligatorio, distribuidos a lo largo del curso.
- Importante: cada par obligatorio/control se calificará de forma conjunta, de modo que se evalúen los temas que se abordaron en los bloques de curso correspondientes.
- El estudio de un trabajo publicado recientemente y presentación oral de un resumen del mismo.
Para aprobar la asignatura el estudiante deberá:
- Aprobar los obligatorios con al menos el 70%, en promedio.
- Aprobar los controles escritos múltiple opción con al menos el 60%, en promedio.
- Presentar oralmente el tema estudiado de manera aceptable.
Cumplidas estas condiciones, la nota será calculada como:
0.75 x [(O1 + C1)/2 + (O2 + C2)/2 + (O3 + C3)/2] + 0.25 x T,
donde Oi y Ci son el obligatorio y el control i-ésimos, y T es el trabajo final.
Conocimientos
Exigidos:
- Cálculo diferencial e integral
- Álgebra Lineal
- Probabilidad y estadística
- Programación (conocimientos sólidos en al menos un lenguaje de programación).
Recomendados:
- Familiaridad con conceptos básicos de reconocimiento de patrones, procesamiento de imágenes, optimización
- Programación en lenguaje Python.
Horario de clase
- Teóricos: martes y jueves de 8h a 10h, salón 727 (edificio central, 7o piso).
- Los teóricos grabados de la edición 2020 están disponibles aquí: https://www.youtube.com/@DLVISFing
- El curso es presencial. El contenido se actualiza y varía todos los años. Por este motivo, y porque en clase también haremos discusiones y pasaremos avisos, recomendamos fuertemente asistir a clase.
- Consultas: miércoles de 18:15 a 19:45 (virtual, link de zoom aquí) y jueves a las 10:00 en salón 727.
Créditos
10 créditos.
Docentes
- Pablo Musé (responsable), pmuse@fing.edu.uy
- Lara Raad, lraad@fing.edu.uy
- Diego Silvera Coeff, dsilveracoeff@fing.edu.uy
Materiales
- Notas de Curso - cs231n Stanford
- Python Numpy Tutorial Stanford cs231n.
- NumPy for MATLAB users.
- The Matrix Cookbook
- Notas cálculo vectorial/matricial [pdf]
- Deep Learning, Goodfellow-Bengio-Courville, An MIT Press Book
Calendario (Tentativo)
1 Introducción al aprendizaje profundo, motivación, reseña histórica. Jue, Sep 19 2 Aprendizaje supervisado, regla del k-vecino más cercano.
Publicación Obligatorio 1Mar, Sep 24 3 Perceptrón - SVM. Jue, Sep 26 3' SVM - Regresión Logística. Mar, Oct 01 4 Introducción a las redes neuronales. Jue, Oct 03 5 Algoritmo de backpropagation. Mar, Oct 08 6 Redes de convolución. Jue, Oct 10 7 Capacidad/sobreajuste/ regularización.
Entrega Obligatorio 1 / Publicación Obligatorio 2Mar, Oct 15 8 Evaluación Obligatorio 1
Entrenamiento estocástico, SGD y variantes.Jue, Oct 17 9 Entrenamiento "tips", batchnorm, hiperparámetros, Transfer Learning. Mar, Oct 22 10 Bibliotecas / Hardware. Jue, Oct 24 11 Arquitecturas. Mar, Oct 29 12 Detección de objetos / segmentación. Jue, Oct 31 13 Visualización / Análisis de redes / Deepdream / Ataques adversarios. Mar, Nov 05 14 Redes recurrentes (RNN - LSTM).
Publicación Obligatorio 3Jue, Nov 07 15
Entrega Obligatorio 2Dom, Nov 10 15 Evaluación Obligatorio 2
Transformers.Mar, Nov 12 16 Modelos Generativos - Pixel CNN, Pixel RNN, Normalizing Flows, autoencoders. Variational autoencoders - GAN (I). Jue, Nov 14 17 Modelos Generativos - Pixel CNN, Pixel RNN, Normalizing Flows, autoencoders. Variational autoencoders - GAN (II). Mar, Nov 19 18 Generalización / Aprendizaje profundo Bayesiano. Jue, Nov 21 19 Aprendizaje auto-supervisado. Mar, Nov 26 20 Modelos de difusión / Charla invitada (José Lezama) / Entrega Obligatorio 3. Jue, Nov 28 E Evaluación Obligatorio 3 Mar, Dic 03 P Presentación del Trabajo Final (15 min x estudiante) Jue, Dic 12
-
Enviar retroalimentación
-
Avisos y novedades generales
-
Entregables