Aprendizaje Profundo para Visión Artificial
Diagrama de temas
-
Aprendizaje Profundo para Visión Artificial
¡Bienvenidos al curso 2023!
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 estará dando comienzo el martes 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:
1) La entrega de tres obligatorios con ejercicios de máquina.
2) Tres controles distribuídos a lo largo del curso, para evaluar conocimientos conceptuales vinculados al curso y a los obligatorios.
3) El estudio de un trabajo publicado recientemente y presentación oral de un resumen del mismo.
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 8h15 a 10h15, salón 502 (“salón azul”), 5to piso.
- Los teóricos grabados de la edición 2020 están disponibles aquí: https://www.youtube.com/@DLVISFing
- El contenido puede variar ligeramente. Por este motivo, y porque en clase también haremos discusiones y pasaremos avisos, recomendamos fuertemente asistir a clase.
- Consultas: martes después del teórico, sala Piquinella (IIE).
Créditos
10 créditos.
Fichas
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. Mar, Sep 19 2 Aprendizaje supervisado, regla del k-vecino más cercano.
Publicación Obligatorio 1Jue, Sep 21 3 Perceptrón - SVM. Mar, Sep 26 4 Introducción a las redes neuronales. Jue, Sep 28 5 Algoritmo de backpropagation. Mar, Oct 03 6 Redes de convolución. Jue, Oct 05 7 Capacidad/sobreajuste/ regularización.
Entrega Obligatorio 1 / Publicación Obligatorio 2Mar, Oct 10 8 Evaluación Obligatorio 1
Entrenamiento estocástico, SGD y variantes.Jue, Oct 12 9 Entrenamiento "tips", batchnorm, hiperparámetros, Transfer Learning. Mar, Oct 17 10 Bibliotecas / Hardware. Jue, Oct 19 11 Arquitecturas. Mar, Oct 24 12 Detección de objetos / segmentación. Jue, Oct 26 13 Visualización / Análisis de redes / Deepdream / Ataques adversarios. Mar, Nov 31 14 Redes recurrentes (RNN - LSTM).
Entrega Obligatorio 2 / Publicación Obligatorio 3Mar, Nov 07 15 Evaluación Obligatorio 2
Transformers.Jue, Nov 09 16 Modelos Generativos - Pixel CNN, Pixel RNN, Normalizing Flows, autoencoders. Variational autoencoders - GAN (I). Mar, Nov 14 17 Modelos Generativos - Pixel CNN, Pixel RNN, Normalizing Flows, autoencoders. Variational autoencoders - GAN (II). Jue, Nov 16 18 Generalización / Aprendizaje profundo Bayesiano. Mar, Nov 21 19 Aprendizaje auto-supervisado. Jue, Nov 23 20 Modelos de difusión / Charla invitada (José Lezama). Mar, Nov 28 E Evaluación Obligatorio 3 Jue, Nov 30 E Entrega Obligatorio 3. Sab, Dic 02 P Presentación del Trabajo Final (15 min x estudiante) Mar, Dic 12
-
Avisos y novedades generales
-
Entregables
-
Selección del artículo para la presentación Consulta