Materia optativa: Aprendizaje Automático Profundo
– Introducción a las redes neuronales. Límite de los clasificadores lineales. Definición de redes neuronales artificiales. Aplicaciones, ventajas y desventajas. Redes neuronales para problemas diversos (clasificación, representación, etc).
– Entrenamiento de redes neuronales. Flujo «hacia adelante». Intuición de retropropagación. Funciones de coste y algoritmos de optimización.
– Hiperparámetros. Arquitectura. Funciones de activación. Tasa de aprendizaje. Early stopping. Exploración de valores aleatoria y bayesiana.
– Regularización. Sobreajuste y subajuste. Normas L1 y L2. Dropout. Gaussian noise. Inicialización de parámetros. Batch normalization.
– Introducción a redes avanzadas. Autoencoders. Embeddings. Redes convolucionales. Redes recurrentes. Mecanismos de atención.
– Johanna Frau
– Mauricio Mazuecos
– Goodfellow, Ian, Yoshua Bengio, Aaron Courville, and Yoshua Bengio. Deep learning. Vol. 1. Cambridge: MIT press, 2016.
– Chollet, Francois. Deep learning with python. Manning Publications Co., 2017.
16 horas sincrónicas + 8 horas de apoyo.
Se evaluará mediante la presentación de dos trabajos prácticos donde los alumnos harán uso de la suite Jupyter y la librería Tensorflow, en particular Keras, para la implementación práctica de los contenidos vistos en la materia.
El primer trabajo práctico se centrará en el flujo de entrenamiento de perceptrones multicapa, haciendo énfasis en la familiarización con las nuevas herramientas. El segundo trabajo aplicará redes más complejas, como arquitecturas recurrentes o convolucionales, sobre tareas de clasificación tradicionales.
Se presentarán conjuntos de datos para cada tarea, y adicionalmente se permitirá a los alumnos elegir un problema a trabajar o arquitectura distintos.