Redes Neuronales para Series Temporales

Esta es la segunda parte del curso de Redes Neuronales para las Series Temporales, que es parte del diplomado de Desarrollo de Aplicaciones de Inteligencia Artificial de la PUCP. Son 4 sesiones en las que discutiremos ideas de cómo usar las redes neuronales recurrentes para el procesamiento de series temporales.

Docente: Pablo Fonseca

Sesiones de clase

  • 24/01/2020 7:00 pm - 10:00 pm
  • 25/01/2020 2:00 pm - 05:00 pm (cambio con el curso del Prof. Ivan Sipirán)
  • 31/01/2020 7:00 pm - 10:00 pm
  • 07/02/2020 7:00 pm - 10:00 pm

Contacto

La mejor forma es a través del e-mail pfonseca@pucp.edu.pe

Clase 1 - 24/01 Introducción a las Series Temporales

En esta clase introducimos conceptos de series temporales y algunas ideas de cómo procesarlas. Realizaremos 3 ejercicios prácticos y analizaremos un caso de estudio real.

Material

Notebooks

Clase 2 - 25/01 RNNs (LSTM), Memoria y Gating

En esta clase haremos un repaso de las ideas de redes recurrentes (RNNs) y estudiaremos la arquitectura de la LSTM (long short-term memory) , y con ello, los conceptos de memoria y compuertas (gating)

Material

Notebooks

Material adicional

Clase 3 - 31/01 Mecanismos de atención

En esta clase afianzaremos los conocimientos de RNNs y LSTMs a través de un tutorial (con 2 partes: la primera es una comparación entre RNN y LSTM en una tarea simple, y la segunda la creación de un modelo de lenguaje). Luego procederemos a discutir ideas de los mecanismos de atención (una de las diferencias más resaltantes entre las redes neuronales de los 80's y 90's versus las actuales).

Tutorial (en Google Colab)

  • Comenzaremos con una revisión de PyTorch (usaremos slides pero no estarán disponibles)
  • Tutorial de Redes Neuronales Recurrentes (RNNs): Parte 1 (Solución en clase) y Parte 2 -- este tutorial es parte del material de Mila-IVADO Deep Learning Summer School que se llevó a cabo en Vancouver, Canadá en Diciembre del 2019. Ha sido traducido al español para poder desarrollarlo en clase. Las soluciones no han sido traducidas pero se encuentran aquí.

Diapositivas

Material Adicional

  • Test de atención selectiva (vídeo) -- Nota: aparentemente todo mundo vio al gorila.
  • Buena parte de los slides de "Mecanismos de Atención" están basados o vienen de este excelente video de Carnegie Mellon University, Curso 11-785, Intro to Deep Learning (Fall 2019) - Attention Mechanisms and Memory Networks.
  • Para leer más sobre el sistema 1 vs sistema 2 puede referirse al libro "Thinking Fast and Slow" del psicólogo Daniel Kahneman (Premio Nobel de Economía 2002) también para conocer la opinión del autor sobre la Inteligencia Artificial puede referirse a esta entrevista con Lex Fridman.
  • Yoshua Bengio desarrolla más sobre este concepto es su charla "Posner lecture" en NeurIPS’2019, Vancouver, BC, From System 1 Deep Learning to System 2 Deep Learning, el video de la charla con los slides está disponible aquí.

Challenge en Kaggle

Presentación del challenge

Link en Kaggle: https://www.kaggle.com/t/5a1f0b19f39743009a187622700671fa (conversar con Renato para más detalles)

Clase 4 - 07/02 Modelando Secuencias y Series Temporales

En esta sesión terminaremos de estudiar las ideas que nos permiten realizar el modelado de secuencias usando un casobasado en modelos de lenguajes. Nos enfocaremos especialmente en las formas en que podemos generar nuevas secuencias, y por ende "predecir" un comportamiento plausible.

Usaremos una parte de la clase para discutir las dudas que puedan tener sobre el Challenge en Kaggle.

Diapositivas

Test de Salida

Notebooks

  • Haremos una revisión de la intuición de softmax y veremos cómo podemos muestrear símbolos dentro de un diccionario usando una distribución de probabilidades sobre un conjunto de símbolos. Veremos una forma de agregar cierta aleatoriedad a este proceso.
  • Revisaremos la Parte 2 del tutorial que no conseguimos terminar en la sesión anterior.

Materiales adicionales

Cómo continuar el aprendizaje

  • Deep Learning Summer School 2020 (29-Julio al 06-Agosto) - Este año se llevará a cabo en Mila en Montreal. Límite de postulación 22 de Febrero. https://dlrlsummerschool.ca/
  • The Machine Learning Summer School 2020 (28-Junio al 10-Julio) - Este año se llevará a cabo en el Max Planck Institute for Intelligent Systems de Tübingen. Límite de postulación 11 de Febrero. http://mlss.tuebingen.mpg.de/2020/