Encabezado Facultad de Ciencias
Presentación

Ciencias de la Computación (plan 2013) 2024-1

Optativas, Redes Neuronales

Grupo 7113, 23 lugares. 12 alumnos.
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

  1. Introducción a las redes
    1. Marco histórico
    2. Inspiración biológica
    3. Nociones de aprendizaje automático
    4. Representación de datos
  2. Perceptrón y neuronas
    1. Definición del perceptrón
    2. Aprendizaje en el perceptrón
    3. Relación del perceptrón con regresión logística y regresión lineal
  3. Redes feedforward y aprendizaje profundo
    1. Limitaciones del Perceptrón: el problema XOR
    2. Capas ocultas
    3. Funciones de activación
    4. Teoremas de aproximador universal
    5. Redes profundas
  4. Aprendizaje en redes profundas
    1. Problema de aprendizaje
    2. Gradiente descendiente
    3. Lotes y mini-lotes
    4. Otros optimizadores (Adagrad, Adam, RMSProp)
    5. Backpropagation
  5. Métodos de regularización
    1. Regularización de Tychonoff
    2. Data Augmentation
    3. Noise robustness
    4. Multi-task learning
    5. Early stopping
    6. Dropout
  6. Redes neuronales recurrentes
    1. Capas recurrentes
    2. Backpropagation Through Time
    3. Bidireccionalidad
    4. LSTM y GRU
  7. Redes neuronales convolucionales
    1. Problema de procesamiento de imágenes
    2. Convolución y validación cruzada
    3. Kernels
    4. Pooling y flattening
    5. Aplicaciones
  8. Redes neuronales atencionales
    1. El problema del procesamiento de texto
    2. Capas de atención
    3. Auto-atención y otros tipos de atención
    4. La arquitectura de Transformadores
    5. Relación con redes convolucionales
  9. Temas avanzados
    1. Redes no supervisadas
    2. Redes generativas
    3. Redes de gráficas

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

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.