Info 2024.2 - UdeA

ESTA ES INFORMACIÓN PARA LAS PERSONAS MATRICULADAS EN EL CURSO REGULAR DE PREGRADO y POSGRADO EN LA FACULTAD DE INGENIERÍA DE LA UNIVERSIDAD DE ANTIOQUIA.

REGISTRO

Para acceder a los laboratorios del curso tienes que registrate en el siguiente formulario

REGISTRO PARA LABORATORIOS


Trabajando con los materiales del curso

01 - Jupyter notebooks y Google colab: video 13mins Explicamos brevemente cómo es el entorno de ejecución de código Python en la nube de Google que vamos a usar durante el curso

02 - Laboratorios y envío de soluciones: video 12mins Describimos cómo es el mecanismo de envío de soluciones y la plataforma de autocorrección de talleres.

Sesiones sincrónicas

Para acceder a las sesiones

https://udea.zoom.us/j/91794653204

Para acceder a las grabaciones

https://ingenia.udea.edu.co/zoom/meeting/91794653204


Calendario y fechas

Fechas límite para entregas

     8/sep: Laboratorios unidad 1 y 2
    15/sep: Laboratorios unidad 3
    29/sep: Proyecto entrega 1
    13/oct: Laboratorios unidad 4
    27/oct: Laboratorios unidad 5
    20/nov: Proyecto informe final

Cualquier solicitud de cambio de fechas habrá de realizarse al menos tres días antes de la fecha sobre la que se solicita el cambio, por medio de un correo a raul.ramos@udea.edu.co consensuado al menos por un 50% de la clase y con copia explícita a los estudiantes que formen parte del consenso.

Las fechas de entrega de los laboratorios son ESTRICTAS. Como estudiantes tienen la posibilidad de solicitar ordenadamente aplazamientos. No se admitirán entregas de laboratorios después de las fechas establecidas o aplazadas según el protocolo anterior.

Fechas oficiales facultad de ingeniería

         12/aug/2024  Inicio de clases
         28/sep/2024  Evaluación al 40% (pregreado)
         30/sep/2024  Evaluación al 50% (posgrado)
         22/nov/2024  Finalización clases (posgrado)
         23/nov/2024  Finalización clases (pregrado)

25/nov - 30/nov/2024  Exámentes finales
          1/dic/2024  Fecha límite cierre de notas
          5/dic/2024  Terminación oficial (posgrado)
         10/dic/2024  Terminación oficial (pregreado)

Evaluaciones

    20%     Laboratorios unidades 1,2,3
    20%     Laboratorios unidad 4
    20%     Laboratorios unidad 5
    40%     Proyecto 

Proyecto

Deberás de realizar un proyecto que aplique las técnicas del módulo 4 o del módulo 5 a un problema que escojas. Por ejemplo:

  • Relacionado con tu trabajo de investigación o interés que tú tengas.

  • Un challenge de www.kaggle.com (aunque ya haya pasado la competición)

  • Sobre algún dataset público

  • etc.

Los proyectos se podrán hacer en grupos de una, dos o tres personas. Todos los miembros de un grupo habrán de realizar las entregas cada uno en un repositorio github propio. Cada estudiante es responsable de su propia entrega. Si un estudiante no realiza su entrega no recibirá calificación, aunque los demás miembros del grupo la tengan.

Cualquier entrega de proyecto fuera de fechas será penalizada con el 50% de la evaluación.

Te recomendamos que:

  • Verifiques que los datos están disponibles antes de escoger tu proyecto.

  • Estimes los requerimientos computacionales para generar los modelos que necesites. Reduce el alcance de tu proyecto si lo necesitas (menos datos, menos clases, etc.).

  • Realices una primera iteración cuanto antes. Es decir, que llegues a tener un primer modelo sencillo produciendo predicciones. Implementa en esta primera iteración estrictamente lo que necesites para tener un modelo. El objetivo es resolver la mayoría de los problemas técnicos que te puedan surgir para ya, después, enfocarte en todo lo que quieras hacer en las siguientes iteraciones (preprocesado de datos, otros modelos, etc.)

Entregas

Deberàs de rellenar un formulario PARA CADA ENTREGA

Para verificar las fechas de entrega se considerará (1) que el formulario se haya rellenado antes de la fecha de entrega; y (2) el último commit antes de cada fecha. Es decir,

  • si cualquier entregable aparece únicamente en commits posteriores a cualquier fecha de entrega no se tendrá en cuenta.

  • si no se rellena el formulario no se considerará la entrega realizada, aunque haya commits dentro de la fecha de entrega.

Entrega 1

Tendrás que entregar un documento (1-3 páginas máximo) con la siguiente estructura

  • Contexto de aplicación.

  • Objetivo de machine learning (queremos predecir X, dada tal información)

  • Dataset: tipo de datos, tamaño (número de datos y tamaño en disco), distribución de las clases

  • Métricas de desempeño (de machine learning y negocio)

  • Referencias y resultados previos

Para la entrega crea un nuevo repositorio en http://github.com e incluye el informe con el nombre ENTREGA1.PDF.

Entrega 2

Para realizar esta entrega tienes que realizar TRES cosas:

  • Incluye en el repositorio github los notebooks con tu soluciòn, el informe de la primera entrega y el informe final y lo que consideres oportuno.

  • Crea un video de presentación y súbelo a http://youtube.com

  • Incluye en el README.md del repositorio, el enlace al video de youtube.

La entrega ha de constar de los siguientes elementos:

  • Notebooks reproducibles

    • Incluye los notebooks que consideres que implementen tu solución o las iteraciones que hiciste sobre la misma (distintas arquitecturas, etc.)

    • Los notebooks han de ser directamente reproducibles sobre Google Colab. CUALQUIER NOTEBOOK QUE PRODUZCA ERRORES AL EJECUTARSE SERÁ DESCARTADO DE TU ENTREGA

    • Organiza tus notebooks con un prejifo numérico para que estén ordenados, mira el ejemplo de estructura de tu carpeta de entrega más abajo

  • Informe

    • Redacta un informe ejecutivo e inclúyelo en la carpeta compartida en formato PDF. El informe no debería de ser muy largo (p.ej. entre 5 y 10 páginas), y ha de incluir:

      • Descripción de la estructura de los notebooks entregados

      • Descripción de tu solución (arquitectura, preprocesado, etc.)

      • Descripción de las iteraciones que hiciste

      • Descripción de los resultados.

    • El fichero con el informe se ha de llamar INFORME_PROYECTO.PDF.

  • Video (súbelo a youtube)

    • Realiza un video de entre 5 y 10mins donde expliques tu entrega. P.ej.:

      • Describe y muestra brevemente los datos

      • Describe y muestra brevemente tu código

      • Muestra la pantalla con tus notebooks según los ejecutas

      • Muestre algunos de los resultados obtenidos

    • Incluye, en el README.md de tu repositorio un enlace al video en youtube.

  • Datos

    • Incluye en tu informe cómo obtener y hacer disponibles tus datos a los procesos implementados en tus notebooks.

  • Modelos entrenados

    • El proceso de entrenamiento de los modelos ha de ser ejecutable desde los notebooks de tu entrega.

Estructura del repositorio github

Tu repositorio de la entrega final ha tener la siguiente estructura. Los nombres de los notebooks pueden ser distintos, pero HAN DE ESTAR NUMERADOS.

    |
    +-  01 - exploración de datos.ipynb
    +-  02 - preprocesado.ipynb
    +-  03 - arquitectura de linea de base.ipynb
    +-  xx - otros_notebooks
    +-  INFORME_PROYECTO.PDF
    +-  ENTREGA1.PDF

SI NO SIGUES ESTAS REGLAS DE NOMBRADO DE LOS NOTEBOOKS, LOS INFORMES EN PDF, Y LA INCLUSIÓN DEL ENLACE DEL VIDEO EN YOUTUBE, TENDRÁS UNA PENALIZACIÓN DEL 50% EN LA CALIFICACIÓN TOTAL DEL PROYECTO.

Evaluación del proyecto

   10%: Entrega 1 realizada a tiempo
   40%: Claridad
   25%: reproducibilidad
   25%: compleción

Referencias

Guías sobre Deep Learning

  • Aggarwal, Charu C. Neural networks and deep learning. Springer 10 (2018): 978-3.

  • Calin, Ovidiu. Deep Learning Architectures. Springer International Publishing, 2020.

  • Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016). Deep learning (Vol. 1). Cambridge: MIT Press website pdf

Con un foco especial en alguno de los módulos

  • Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735-1780.

  • Vinyals, O., Toshev, A., Bengio, S., & Erhan, D. (2015). Show and tell: A neural image caption generator. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 3156-3164).

  • Venugopalan, S., Rohrbach, M., Donahue, J., Mooney, R., Darrell, T., & Saenko, K. (2015). Sequence to sequence-video to text. In Proceedings of the IEEE international conference on computer vision (pp. 4534-4542).

  • Sutskever, I., Vinyals, O., & Le, Q. V. (2014). Sequence to sequence learning with neural networks. In Advances in neural information processing systems (pp. 3104-3112).

  • Pradeep Pujari, Md. Rezaul Karim, Mohit Sewak (2017) , Practical Convolutional Neural Networks, O’Reilly,

  • Vaswani et al. (2023), Attention is all you need arxiv

  • Karpathy, Alex (2023) Let’s build GPT: from scratch, in code, spelled out. youtube

  • KDNuggets (2023) A Comprehensive List of Resources to Master Large Language Models website

Generales de machine learning

  • Hastie, Tibshirani, Friedman, The Elements of Statistical Learning, Springer-Verlag website pdf

  • Haykin, S. S., Haykin, S. S., Haykin, S. S., & Haykin, S. S. (2009). Neural networks and learning machines (Vol. 3). Upper Saddle River, NJ, USA:: Pearson.

Materiales complementarios