Diagrama semanal

  • General

    Taller de Aprendizaje Automático

    ¡Bienvenidos al curso!

    Descripción

    Esta unidad curricular está diseñada como un segundo curso en aprendizaje automático, en el que se busca brindar herramientas conceptuales y metodológicas para desarrollar proyectos de aprendizaje automático. A lo largo del curso, los estudiantes abordarán problemas concretos, que deberán resolver de punta a punta, usando técnicas de aprendizaje automático. De este modo, pondrán en práctica los conocimientos adquiridos sobre datos reales y problemas relevantes, e incorporarán habilidades importantes para el desarrollo de su actividad profesional. Además de aplicar varias de las técnicas tradicionales de aprendizaje automático, la mayoría de las cuales se asumen conocidas por el estudiante, se estudiarán técnicas más recientes, en particular técnicas de aprendizaje profundo. 

    Metodología

    El curso está organizado en dos clases semanales de dos horas. La mayor parte de las clases serán prácticas, en modalidad de taller. Los estudiantes abordarán problemas específicos utilizando la metodología y las técnicas estudiadas, usando paquetes de software específicos (como Scikit-learn y TensorFlow). También existirán clases teóricas donde se discutirán aspectos conceptuales y metodológicos, así como algunas técnicas de aprendizaje automático.

    Evaluación

    El proceso de evaluación incluye la realización individual de 4 entregas de ejercicios y de dos proyectos grupales. Ver descripción detallada aquí.

    Créditos

    8 créditos

    Temario y cronograma

    Ver programa (en proceso de aprobación).

    Horarios
    Miércoles y Viernes de 10.00 a 12.00 a.m.

    Fecha de inicio: miércoles 3/03/2020

    Las clases en 2021 se dictarán por zoom

    ID de reunión: 831 8187 3013
    Código de acceso: 921216

    Horario de consulta: lunes 17 hrs

    ID de reunión: 839 0910 7678

    Código de acceso: 609866#92a

    Docentes

    Guillermo Carbajal, Gastón García, Pablo Musé, Javier Preciozzi, Martín Rocamora 

    Recursos

    • El curso está basado en el libro: Hands-on Machine Learning with Scikit-learn, Keras & TensorFlow (2da edición) de Aurélien Géron. 
    • Hay una propuesta de ejercicios para cada una de las clases de taller que estará disponible en la forma de un Notebook de Jupyter.
    • El libro tiene una serie de Notebook de Jupyter disponibles en github, algunos de los cuales vamos a usar en clase.



  • 1 de marzo - 7 de marzo

    Clases:

    • Clase 1: Teórico - Introducción y conceptos fundamentales
      • Contenidos: Introducción al curso. Componentes del problema de aprendizaje. Tipos de aprendizaje. Repaso de conceptos fundamentales: generalización, sobreajuste, compromiso sesgo-varianza, regularización, validación, selección de modelos.
      • Capítulos del libro: 1
    • Clase 2: Teórico - Proyecto de aprendizaje automático
      • Contenidos: Definición del problema, requerimientos de la solución, medidas de desempeño. Manejo, visualización y preparación de datos. Transformación y selección de características. Entrenamiento y selección de modelos. Ajuste fino y evaluación. Despliegue y monitoreo.
      • Capítulos del libro: 2
  • 8 de marzo - 14 de marzo

    Clases:

    • Clase 3: Taller - Presentación Proyecto 1
      • ContenidosSe presenta el primer proyecto del curso. Se implementan las primeras etapas, con énfasis en la creación de un pipeline de pre-procesado de datos en scikit-learn.
      • Capítulos del libro: 2
    • Clase 4: Teórico - Clasificación con modelos clásicos
      • ContenidosClasificación con regresión logística y SVM. Descenso por gradiente. Regularización. Clasificación multiclase. Softmax. Medidas de desempeño: matriz de confusión, precision-recall, curva ROC. Análisis de error.
      • Capítulos del libro: 3 y 4


  • 15 de marzo - 21 de marzo

    Clases:

    • Clase 5: Taller - Clasificación con modelos clásicos
      • ContenidosSe consideran diferentes técnicas de pre-procesado de datos y se eligen las más relevantes mediante la selección de hiperparámetros de un pipeline. Se utilizan diferentes métricas para evaluar el desempeño de un clasificador lineal.
      • Capítulos del libro: 3, 4 y 5
    • Clase 6: Teórico - Ensambles de clasificadores
      • Contenidos: Métodos de combinación de clasificadores. Voting y bagging. Árboles de decisión y Random forests. Boosting y stacking.
      • Capítulos del libro: 6 y 7
  • 22 de marzo - 28 de marzo

    Clases:

    • Clase 7: Taller - Clasificación con ensambles de clasificadores
      • ContenidosSe aplican varios métodos de combinación de clasificadores, como Random forests, AdaBoost y gradient boosting.
      • Capítulos del libro: 6 y 7
    • Clase 8: Teórico - Aprendizaje no supervisado
      • Contenidos: Reducción de dimensionalidad. Proyección y aprendizaje de variedades. Agrupamiento para pre-procesado de datos y para aprendizaje semi-supervisado. Estimación de densidades para detección de datos anómalos.
      • Capítulos del libro: 8 y 9
  • 29 de marzo - 4 de abril

    Semana de turismo

    • 5 de abril - 11 de abril

      Clases:

      • Clase 9: Taller - Ingeniería de características y limpieza de datos
        • ContenidosSe aplican métodos de reducción de dimensionalidad y de agrupamiento como pre-procesado de los datos y se evalúa su impacto en el problema. Se aplican técnicas de detección de datos anómalos.
        • Capítulos del libro: 8 y 9
      • Clase 10: Taller - Implementación de redes neuronales
        • Contenidos: Introducción al ambiente de trabajo Keras y TensorFlow 2. Implementación de redes multicapa. API secuencial, funcional y dinámica. Selección de hiperparámetros.
        • Capítulos del libro: 10
    • 12 de abril - 18 de abril

      Clases:

      • Clase 11: Teórico -Implementación de redes neuronales
        • Contenidos:  Ajuste fino de hiperparámetros: número de capas ocultas, número de neuronas, tasa de aprendizaje, tamaño del lote, función de activación, optimizador, etc.
        • Capítulos del libro: 10
      • Clase 12: Taller - Clasificación con perceptrón mutlicapa
        • Contenidos: Se aplican métodos para seleccionar los hiperparámetros en redes multicapa poco profundas.
        • Capítulos del libro: 10
    • 19 de abril - 25 de abril

      Clases:

      • Clase 13: Teórico - Entrenando redes profundas
        • ContenidosDesvanecimiento y explosión de gradiente. Inicialización, función de activación, normalización por lote, redes pre-entrenadas, optimizadores rápidos. Regularización y droput.
        • Capítulos del libro: 11
      • Clase 14: Taller - Proyecto 1
        • ContenidosSe trabaja en el proyecto de aprendizaje automático, el reporte final y la presentación.
    • 26 de abril - 2 de mayo

      Clases:

      • Clase 15: Teórico - Entrenando redes profundas
        • ContenidosDesvanecimiento y explosión de gradiente. Inicialización, función de activación, normalización por lote, redes pre-entrenadas, optimizadores rápidos. Regularización y droput.
        • Capítulos del libro: 11
      • Clase 16: Taller - Proyecto 1
        • ContenidosSe trabaja en el proyecto de aprendizaje automático, el reporte final y la presentación.
    • 3 de mayo - 9 de mayo

      Semana de parciales:

      Se trabaja en el proyecto de aprendizaje automático, el reporte final y la presentación.

      • Semana actual

        10 de mayo - 16 de mayo

        Semana de defensas:

        Defensa del proyecto 1.

      • 17 de mayo - 23 de mayo

        Clases:

        • Clase 17: Taller - Proyecto 2
          • ContenidosPresentación del segundo proyecto del curso. Modelos y algoritmos de entrenamiento personalizados. Se trabaja en familiarizarse con el ambiente de trabajo y la ingesta y pre-procesado de grandes cantidades de datos.
          • Capítulos del libro: 12 y 13
        • Clase 18: Teórico - Redes neuronales de convolución
          • ContenidosCapas de convolución, filtros, pooling. Arquitecturas. Aumentado de datos. Aplicaciones en visión por computadora.
          • Capítulos del libro: 14
        • 24 de mayo - 30 de mayo

          Clases:

          • Clase 19: Taller - Redes neuronales de convolución
            • Contenidos: Implementación y entrenamiento de redes profundas. Se deben resolver los problemas que aparecen en el entrenamiento y personalizar algunos componentes.
            • Capítulos del libro: 11 y 14
          • Clase 20: Teórico - Redes neuronales de convolución
            • ContenidosAprendizaje por transferencia. Detección de objetos y segmentación en imágenes. Interpretabilidad, visualización.
            • Capítulos del libro: 14
          • 31 de mayo - 6 de junio

            Clases:

            • Clase 21: Taller - Redes neuronales de convolución
              • Contenidos: Se aplican redes neuronales de convolución a un problema de visión por computadora.
              • Capítulos del libro: 11 y 14
            • Clase 22: Teórico - Redes neuronales recurrentes
              • Contenidos: Procesamiento de series temporales usando RNN y CNN. Propagación hacia atrás a través del tiempo. Normalización y dropout recurrente. Secuencias largas con LSTM y GRU. CNN 1-D para secuencias.
              • Capítulos del libro: 15
            • 7 de junio - 13 de junio

              Clases:

              • Clase 23: Taller - Redes neuronales recurrentes
                • Contenidos: Se aplican redes neuronales recurrentes al procesamiento de series temporales.
                • Capítulos del libro: 15
              • Clase 24: Teórico - Redes neuronales recurrentes
                • ContenidosProcesamiento de lenguaje natural usando RNN y mecanismo de atención. Arquitectura encoder-decoder. Mecanismo de atención. Arquitectura Transformer.
                • Capítulos del libro: 16
              • 14 de junio - 20 de junio

                Clases:

                • Clase 25: Taller - Redes neuronales recurrentes
                  • Contenidos: Se aplican redes neuronales recurrentes al procesamiento de lenguaje natural.
                  • Capítulos del libro: 16
                • Clase 26: Teórico - Aprendizaje de representaciones y generativo
                  • ContenidosAutoencoders para aprendizaje de representaciones. Autoencoders como modelos generativos. Redes generativas antagónicas (GANs). Aplicaciones.
                  • Capítulos del libro: 17
                • 21 de junio - 27 de junio

                  Clases:

                  • Clase 27: Taller - Aprendizaje de representaciones y generativo
                    • Contenidos: Se trabaja con un problema y datos apropiados para aplicar Autoencoders y GANs.
                    • Capítulos del libro: 17
                  • Clase 28: Taller - Proyecto 2
                    • ContenidosSe trabaja en el proyecto de aprendizaje automático, el reporte final y la presentación.
                  • 28 de junio - 4 de julio

                    Clases:

                    • Clase 29:
                      Teórico - Despliegue de aplicaciones
                      • ContenidosEntrenamiento a gran escala y despliegue de aplicaciones. Infraestructura de servidor de modelos. Alternativas en la nube, en móviles y en el navegador.
                      • Capítulos del libro: 19
                    • Clase 30: Taller - Proyecto 2
                      • ContenidosSe trabaja en el proyecto de aprendizaje automático, el reporte final y la presentación.
                    • 5 de julio - 11 de julio

                      Semana de defensas:

                      Defensa del proyecto 2.