Deep Learning Fundamentals

Fernanda Mora

Applied to Electric Energy

Consumption Forecasting

in Mexico

December, 2016

Contenido

 

  • Objetivo

  • Motivación

  • Desarrollo

  • Resultados

  • Conclusiones

Objetivo

 

2 grandes objetivos

  1. Dar un recorrido general por Deep Learning

  2. Aplicar Deep Learning a un problema relevante en México

Motivación

 

Deep Learning es atractivo

 

Imagen tomada de Bengio et al., 2016

¿Qué es esto?

Imagen tomada de Bengio et al., 2016

¿Cómo sabría una computadora que es una persona?

Output (object identity)

3rd layer (object parts)

2nd layer

(corners and contours)

1st layer (edges)

Input layer (pixels)

 

  • Modelos con múltiples capas o etapas de procesamiento no lineal  de información.

  • Métodos para el aprendizaje supervisado y/o no supervisado para la representación de atributos usando capas sucesivas y más abstractas.

¿Qué es Deep Learning?

Muy usado por empresas innovadoras

Facebook: reconocimiento de personas

Skype: traductor

Google: Google Now

La energía eléctrica en México es relevante

 

  1. Pieza clave para la motorización del país

  2. Fuente de energía renovable y limpia

  3. No puede almacenarse a gran escala

  4. Lo que se produce y no se consume, se pierde. Si no se produce suficiente, hay escasez

  5. Privatización de la energía

Energía eléctrica en México

Producción y consumo de energía eléctrica en México 2006-2015

Pérdida de 6,357,854 MW

4.4% de lo previsto

294,345 hogares mexicanos por un año

$5,041,778,222 pesos

Fuente: Comisión Federal de Electricidad. Costos y consumos promedio para Noviembre 2016

Desarrollo

 

Recorrido por Deep Learning

 

 

"Conjunto de algoritmos que intentan modelar abstracciones de alto nivel usando arquitecturas de múltiples transformaciones no lineales"

 

 

¿Qué es Deep Learning?

 

  1.   Aumento drástico en las capacidades de procesamiento de los microchips (i.e., general-purpose graphical processing units/GPGPUs)

  2.   Aumento significativo del volumen de datos

  3.  Avances en aprendizaje máquina

¿Por qué se volvió tan popular?

Deep Learning como subárea de inteligencia artifical

Deep Learning aprende en varios niveles

 Aprendizaje

¿Qué no es profundo?

  • Modelos lineales

  • Redes neuronales con una capa oculta

  • Máquinas de Soporte Vectorial

  •  

 

Muchas arquitecturas de Deep Learning

Perceptrón multicapa

Redes de creencia profunda

Redes convolucionales profundas

Máquinas de Boltzmann profundas

Redes neuronales recurrentes

...

Aplicación

 

Red neuronal recurrente

Red neuronal recurrente

 

Definición.- Una red neuronal recurrente es una red neuronal que simula un sistema dinámico discreto de la siguiente manera:   

 

 

Y la función de pérdida asociada:

 

Pascanou et al., 2013

Red neuronal recurrente es superficial

Pascanou et al., 2013

Red neuronal recurrente profunda

1

2

3

4

Pascanou et al., 2013

Gradiente que explota y decae

Tomada de "On the difficulty of training Recurrent Neural Networks". Pascanu, et al., 2013

No modela dependencias temporales grandes

Tomada de "Supervised Sequence Labelling with Recurrent Neural Networks". Graves, 2012

Tomada de "Supervised Sequence Labelling with Recurrent Neural Networks". Graves, 2012

Propuesta: Long short term memory network (Hochreiter y Schmidhuber, 1997)

Bloques de memoria

Tomada de "Supervised Sequence Labelling with Recurrent Neural Networks". Graves, 2012

Las puertas permiten conservar la información del gradiente

LSTM completa

Tomada de "Supervised Sequence Labelling with Recurrent Neural Networks". Graves, 2012

Propuesta: Deep LSTM

Dropout(p)

Retraso(m)

Stateful

# Bloques

Tamaño del batch

# Épocas

Función de activación

Número de capas

Keras

Tuning:

Software:

Modelos tradicionales

  • Regresión lineal:

  • Red neuronal superficial: perceptrón de una sola capa
y_t = \alpha_1 y_{t-1} + \alpha_2 y_{t-2} + ...+ \alpha_m y_{t-m}
yt=α1yt1+α2yt2+...+αmytmy_t = \alpha_1 y_{t-1} + \alpha_2 y_{t-2} + ...+ \alpha_m y_{t-m}

  Resultados

 

Serie no estacionaria

Serie no estacionaria y escalada

Resultados modelos tradicionales

Regresión lineal

Red neuronal superficial

Modelo Deep Learning: caso base

Modelo Deep Learning

Dropout

Retraso

Modelo Deep Learning

Bloques

Stateful

Modelo Deep Learning

Epocas

Tamaño del batch

Función de activación

Modelo Deep Learning

Número de capas

Resultados de los modelos (RMSE)

  1. Modelo de Deep Learning: 0.01778

  2. Modelo de regresión lineal: 0.0189

  3. Modelo de red neuronal superficial: 0.0279

Modelo de Deep Learning tiene -6% RMSE que regresión lineal, -36% RMSE que red neuronal superficial

Conclusiones

 

Deep Learning

  • La profundidad permite aprender representaciones abstractas y jerárquicas de los datos

  • Agunos modelos de deep Learning son capaces de representar una función más eficientemente que los algoritmos de aprendizaje máquina usuales

  • Deep Learning alcanza resultados sin precedentes en reconocimiento de imágenes, voz y texto, pero ha sido poco explorado para poblemas sociales y económicos

  • El entrenamiento de redes profundas es difícil

Energía eléctrica en México

  • Período de 2006-2015

  • Pérdida total de 6,357,854 MW: 4.4% de lo producido

  • $5,041,778,222 pesos

  • 294,345 hogares mexicanos por un año

Modelo Deep Learning

  • Las RNN permiten modelar series temporales

  • Es posible añadir más profundidad a las RNN

  • Es difícil entrenar RNN

  • Se usó una LSTM porque se entrena satisfactoriamente y porque modela dependencias a largo plazo

  • Se agregó profundidad a la LSTM y se optimizó según varios criterios

  • Se comparó con modelos tradicionales obteniendo un error de -6% y -36%

Trabajo futuro

  • Incrementar el tamaño del dataset

  • Correr el modelo sin preprocesar los datos

  • Análisis con el impacto de los resultados

  • Incorporar más elementos para el tunning de la LSTM

  • Survey sobre el estado de los resultados teóricos de Deep Learning

¡Gracias!