Backpropagation for the Working Analyst

Alfonso RuizAlfonso Ruiz
28/4/2022
AUTOR
Colegio de matemáticas Bourbaki

Alfonso Ruiz

Las redes neuronales profundas son uno de los objetos más importantes que existen en inteligencia artificial y en la industria moderna. Sería muy complicado comprender nuestra vida diaria sin las redes neuronales pues han modelado con rotundidad nuestra interacción con las redes sociales, los costos de los servicios que utilizamos e incluso los alcances científicos mediante la asistencia de algoritmos.

La primera red neuronal fue construida en 1958 por Frank Rosenblatt y actualmente se conoce como Perceptrón, a partir de ahí se han sofisticado las arquitecturas de los modelos matemáticos que definen las redes neuronales.

No alt text provided for this image

Uno de los principales problemas asociados a esta sofisticación es lo que se conoce hoy en día como la profundidad de una red. Desde un punto de vista matemático la profundidad de una red está asociada a la composición de funciones, mientras más elaborada sea una función en términos de composiciones, más difícil será entrenar una red neuronal que aprenda los patrones honestos de una base de datos y por ende sea útil para hacer predicciones.

En este artículo hablaremos sobre por qué la profundidad de una red neuronal puede ser un problema complicado y cómo esto se puede resolver utilizando el algoritmo de backpropagation. Supondremos algunos conocimientos básicos sobre modelos de machine learning.

Composición de funciones y la regla de la cadena

No alt text provided for this image

Para comprender lo que significa la composición de funciones el ejemplo de un portafolio financiero P es perfecto. Digamos que este portafolio está conformado por una familia de tres activos A, B, C.

No alt text provided for this image

Estudiar al portafolio utilizando estas tres variables no es un problema muy complicado, podríamos por ejemplo utilizar una combinación convexa, es decir asociar un porcentaje de importancia a cada uno de estos activos. Digamos (solo como un ejemplo) que B es el doble de importante que A y C, es decir:

No alt text provided for this image

A su vez podría ocurrir que todos estos activos dependan de dos variables, por ejemplo el precio del petróleo O y el costo del litio L. Al igual que como ocurre entre el portafolio y los 3 activos financieros, las dependencias entre ellos con el petróleo o el litio podría ser dispar, digamos por ejemplo:

No alt text provided for this image

Es decir que el activo A depende más del petróleo que del litio, el B depende mucho más del litio que del petróleo y el C depende en partes iguales.

La pregunta fundamenta es la siguiente ¿cómo calcular la dependencia de nuestro portafolio respecto al litio o el petróleo? La regla de la cadena del cálculo diferencial explica estas relaciones con dos instancias de una elegante fórmula matemática:

No alt text provided for this image
No alt text provided for this image

Yann LeCun

A pesar de que la regla de la cadena es una herramienta que aparentemente soluciona el problema de las derivadas de funciones compuestas, en la práctica los cálculos no son computacionalmente viables.

La primera persona en tener éxito al entrenar redes neuronales profundas fue el científico de la computación francés Yann LeCun quien es el actual científico encargado de la inteligencia artificial en Meta. Antes de él existen algunas implementaciones incluso del algoritmo que hablaremos hoy, sin embargo la versión moderna de backpropagation es la que él propuso.

No alt text provided for this image

El trabajo de Yann LeCun es tan notable que merece una edición de La Ciencia de Datos en sus personajes el cual le prometemos pronto a la comunidad del Colegio de Matemáticas Bourbaki.

El método del gradiente descendente

El algoritmo de entrenamiento de una red neuronal busca calcular la dirección en la cual la función de error asociada a ciertos parámetros de la red se reduce con mayor velocidad, pensemos como lo haría un osado esquiador que desea descender de una montaña a toda velocidad.

No alt text provided for this image

En un espacio multidimensional como en el que viven las redes neuronales profundas, las direcciones en las que se puede mover este esquiador son tantas como parámetros y calcular todas ellas considerando la complejidad de las funciones asociadas se convierte en problema computacional intratable que se resuelve mediante el algoritmo de backpropagation.

Backpropagation

Para ejemplificar el algoritmo de backpropagation vamos a plantear un problema de entrenamiento en el que los parámetros de la red neuronal jugarán el papel del litio y el petróleo de nuestro ejemplo anterior, mientras que el portafolio financiero corresponderá con una función de pérdida.

Supongamos que deseamos calcular la función de pérdida asociada a una penalización Ridge por ejemplo. Si estamos entrenando una función lineal en una sola variable, entonces la pérdida solo depende de dos parámetros. Es decir que para calcular el gradiente de Ridge necesitamos derivar respecto a la ordenada al origen b y a la pendiente de la recta m.

No alt text provided for this image

Es posible utilizar la regla de la cadena que vimos al inicio de este artículo para calcular la importancia de b y m respectivamente en la función Ridge, esto implicaría implementar la fórmula que vimos anteriormente tanto para la ordenada al origen como para la pendiente. Este camino podría ser redundante, mientras que el algoritmo de backpropagation permite hacer únicamente el cálculo para una de estas variables (es indistinto cuál) y el otro aparecerá automáticamente, es decir que hemos reducido la cantidad de cálculos a la mitad.

Existen otras arquitecturas de redes neuronales en donde el algoritmo de backpropagation es un poco más complicado pues debemos de considerar una estructura temporal extra a través del tiempo en la composición de sus funciones, esta estructura es muy similar a la que existe en el lenguaje natural.

No alt text provided for this image

¿Dónde aprender más?

En el Colegio de Matemáticas Bourbaki ofrecemos cursos para capacitar a los estudiantes que deseen comenzar sus estudios o profundizar en la comprensión de los modelos matemáticos que se entrenan con backpropagation. Nuestros cursos incluyen casos de uso implementados en Python o en R semanales con bases de datos reales, así como explicaciones matemáticas dirigidas a un gran público y a los científicos de datos profesionales.

Si desean conocer más detalles sobre alguno de los cursos o recibir una de las clases muestras con gusto pueden contactarnos en info@colegio-bourbaki.com

  • ML & AI for the Working Analyst: este es uno de nuestros cursos estrella, recorremos los casos de uso más representativos de estos modelos en la industria. En él utilizaremos el algoritmo de backpropagation para generar resúmenes de textos, las siguientes ediciones de este curso serán el 02 de mayo del 2022 (Horario LATINOAMÉRICA) y 30 de mayo del 2022 (Horario ESPAÑA).

  • Aplicaciones financieras de ML & AI: en este curso estudiamos cómo machine learning y la inteligencia artificial ha impactado fuertemente en las finanzas, desde los modelos utilizados en las Fintech, gestión de riesgo, activos financieros como Productos Derivados, Criptoactivos o Portafoliso Financieros. En uno de los casos de uso entrenaremos redes neuronales recurrentes para predecir el precio de Bitcoin utilizando comentarios de las redes sociales.
  • Especialización en Deep Learning: en este curso los estudiantes estudiarán 5 arquitecturas de redes neuronales, todas ellas entrenadas con el algoritmo de backpropagation, este curso es ideal para aquellos alumnos con experiencia en Machine Learning que desean complementar su formación con los algoritmos de Redes Neuronales para imágenes, texto, series de tiempo imágenes-texto, vídeos, datos estructurados etc.

Oferta académica