Backpropagation for the Working Analyst
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.
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
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.
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:
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:
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:
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.
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.
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.
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.
¿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
- Track de Ciencia de Datos. (49 semanas).
- Machine Learning & AI for the Working Analyst ( 12 semanas).
- Matemáticas para Ciencia de Datos ( 24 semanas).
- Especialización en Deep Learning. (12 semanas).
- Track de Finanzas Cuantitativas (49 semanas)
- Aplicaciones Financieras De Machine Learning E IA ( 12 semanas).
- Las matemáticas de los mercados financieros (24 semanas).
- Deep Learning for Finance (12 semanas).