Profesor | Víctor Germán Mijangos de la Cruz | lu mi | 17:30 a 19 | P108 |
Ayudante | Tania Michelle Rubí Rojas | ma ju | 19 a 20 | P108 |
Ayud. Lab. | Fernando Nava Mazariegos | lu | 12 a 14 | Laboratorio de Ciencias de la Computación 3 |
Descripción del curso: Este curso es una primera introducción a las redes neuronales. En éste se presentará el concepto general de red neuronal, y de red neuronal profunda. Se entenderá el concepto de neurona, y se revisarán las funciones de activación, relacionándolo con diferentes modelos de aprendizaje. Se profundizará en los métodos de aprendizaje en redes profundas, así como en los principales optimizadores y métodos de regularización. Finalmente se dará un panorama general de las diferentes capas usadas en las redes neuronales (recurrentes., convolucionales, atencionales).
El curso introducirá los fundamentos teóricos de las redes neuronales y sus aplicaciones a diferentes campos, como el procesamiento de imágenes y de lenguaje natural. Asimismo, se buscará desarrollar las habilidades para una implementación adecuada de las redes: la selección de la mejor arquitectura según el problema, los métodos para un mejor aprendizaje según los tipos y la cantidad de datos, la selección de funciones objetivo y de optimizadores, tamaño de lotes, etc.
Requerimientos: Los interesados deberán tener las nociones básicas de álgebra lineal y operaciones con matrices y vectores (de preferencia un conocimiento básico sobre tensores). También se usarán conceptos de cálculo multivariable, por lo que un conocimiento básico es recomendable. Finalmente, se requerirán nociones básicas de estadística y probabilidad. Para el laboratorio, se programará en el lenguaje Python, se recomienda instalar previamente las paqueterías de Pytorch y Tensorflow, también se usará Pytroch-Geometric. La paquetería de Pandas será útil para la visualización de datos tabulares. Un conocimiento previo en temas de aprendizaje automatizado es recomendable (estos temas se tocarán brevemente al inicio del curso).
Evaluación: La evaluación se llevará a cabo con la presentación de 1 examen a la mitad del curso, el desarrollo de un proyecto final, 2 prácticas y 3 tareas. Los procentajes de evaluación se definen a continuación:
Concepto | Porcentaje |
Examen | 25% |
Proyecto | 35% |
Tareas | 20% |
Prácticas | 20% |
Temario
Bibliografía
Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press. https://www.deeplearningbook.org/
Haykin, S. (2009). Neural networks and learning machines. Pearson Education India.
Leijnen, S., & Veen, F. V. (2020). The neural network zoo. Multidisciplinary Digital Publishing Institute Proceedings, 47(1), 9.
Classroom: https://classroom.google.com/c/NTM4NzA4NDM1ODM2?cjc=qon4fvr