Diagrama semanal

  • General

    Aprendizaje Profundo para Visión Artificial

    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.


    Temario (tentativo)

    1. Introducción al aprendizaje profundo, motivación, reseña histórica. 
    2. Aprendizaje supervisado. Métodos lineales de clasificación, regla del k-vecino más cercano. 
    3. Representaciones de alto nivel, características en imágenes. 
    4. Formulación del aprendizaje como un problema de optimización. Algoritmo de "backpropagation". 
    5. Redes neuronales totalmente conectadas y su entrenamiento. 
    6. Redes neuronales de convolución, arquitectura, capas, operadores, y su entrenamiento. 
    7. Análisis de redes neuronales, visualización de representaciones. Propiedades: invarianza, covarianza, redundancia e invertibilidad. 
    8. Redes neuronales recurrentes (RNN), redes de corta-larga memoria (LSTM). Entrenamiento y ejemplos. 
    9. Redes adversas generativas (GAN). Entrenamiento y ejemplos. 
    10. Aprendizaje profundo en la práctica (bibliotecas). 
    11. Aplicaciones (clasificación y subtitulado de imágenes, predicción de video, superresolución, eliminación de ruido y borrosidad).


    Forma de evaluación:

    La evaluación consiste en la entrega de una serie de ejercicios obligatorios en máquina, la entrega de respuestas a preguntas teóricas y la realización de un mini-proyecto final con defensa oral. El mini-proyecto final consistirá en el estudio de un trabajo publicado recientemente o bien en evaluar y profundizar en alguna de las técnica discutidas durante el curso.


    Conocimientos previos:

    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.


    Información general del curso 2017

    Horarios y salón de clase

    • Lunes  y Miércoles de 8:35 hs a 10:00 hs, (lugar a definir)
    • Inicio: Lunes 5 de Setiembre
    • Fin:  Miércoles 29 de Noviembre