**Redes Neuronales: desde las Matemáticas** !!!side:1 Sencillas desde un punto de vista algorítmico, pero que requieren de costosos recursos computacionales. ![](img/DL.gif align=left width=40%)Llevamos una década viviendo grandes avances en el campo de la **Inteligencia Artificial**, concretamente, en la subdisciplina del **Aprendizaje Automático**, representados principalmente por los métodos de **Aprendizaje Profundo** que hacen uso de las denominadas **Redes Neuronales Profundas**. Muchas tareas complejas y de alta dimensionalidad que antes estaban fuera de nuestro alcance han pasado a ser factibles con técnicas notablemente sencillas [1], sobre todo cuando intentamos resolver problemas en los campos de visión por ordenador y de procesamiento de lenguaje natural. !!!side:2 La clasificación de los diversos modelos subyacentes que pueden usarse da lugar a diferentes áreas dentro del aprendizaje automático. Por ejemplo, cuando el modelo subyacente que se utiliza es una red neuronal profunda, hablamos de aprendizaje profundo. Mientras que la Inteligencia Artificial es un área bastante difusa y amplia, que abarca multitud de (controvertidos) objetivos, problemas y técnicas, el Aprendizaje Automático trata específicamente con algoritmos que pueden mejorar su rendimiento sobre tareas concretas cuando se les presentan más datos sobre cómo resolverlas (de ahí que se agrupen bajo el marco de *aprendizaje*). Los algoritmos de aprendizaje automático se utilizan en una gran variedad de aplicaciones, pero tiene su justificación en aquellas que se resisten al desarrollo de algoritmos convencionales para realizar la tarea requerida. Estos algoritmos de aprendizaje suelen partir de una primera solución (*modelo*) muy general que se ajusta (*entrena*) usando datos de muestra para aprender a realizar la tarea específica requerida [2]. La idea de utilizar modelos computacionales inspirados en el funcionamiento de las neuronas biológicas se remonta a los trabajos fundacionales de MCulloch y Pitts en 1943 [#mcculloch1943]. Aunque en un principio apenas se disponía de una idea muy general y poco definida, en las décadas siguientes se fueron añadiendo los diversos ingredientes que hoy forman parte de la disciplina: el entrenamiento de la red sobre datos fue probado por Ivakhnenko y Lapa en 1966 [#ivakhnenko1966], Fukushima [#fukushima1987] genera el germen de las actuales redes neuronales convolucionales en 1987, y LeCun [#lecun1989] introduce en 1989 la retropropagación como mecanismo de entrenamiento para redes neuronales. Sin embargo, ninguno de estos esfuerzos impulsó originalmente el uso de las redes neuronales en la práctica, y estos modelos se consideraron principalmente una curiosidad académica. La situación cambia a principios del nuevo milenio con la aparición de las *GPU* (Unidad de Procesamiento Gráfico) programables. Diseñadas inicialmente para el renderizado de gráficos 3D, pronto aparecieron otros usos orientados a la computación intensiva, y ya en los inicios del nuevo siglo se aplican para aliviar la carga computacional de las redes neuronales [#oh2004]. Con el tiempo, esto condujo a avances considerables, como en el trabajo de Krizhevsky, Ilya y Hinton [#krizhevsky2012], donde se aplican redes neuronales al desafío de clasificación de imágenes [ImageNet](https://www.image-net.org/), consiguiendo superar otras técnicas más tradicionales. Estos acontecimientos pueden considerarse el inicio de la era moderna del aprendizaje profundo. ![](img/image-18.png width=70%) A pesar de estos impresionantes resultados experimentales, falta la comprensión teórica de por qué el aprendizaje profundo funciona tan bien como lo hace. Lo que supone un reto de comprensión a la vez que una oportunidad de mejora, en particular para los matemáticos. ![](img/lie.png align=right width=30%)En esta larga entrada se presentará una introducción a las redes neuronales desde el punto de vista matemático. Comenzaremos cubriendo el vocabulario y funcionamiento básico de las mismas. Posteriormente, analizaremos las redes neuronales profundas y las técnicas asociadas que permiten su funcionamiento. Acabaremos con una novedosa aplicación de la geometría abstracta a este campo, discutiendo cómo se puede aprovechar la teoría de los Grupos de Lie y los espacios homogéneos para dotar a las redes neuronales de ciertas simetrías estructurales... lo que nombraremos bajo el técnico nombre de *equivarianza* bajo ciertas transformaciones geométricas. Y, por último, extenderemos el marco abstracto anterior para abarcar variantes con más flexibilidad. !!!note:Contenido * [Fundamentos](Fundamentos.html) * [Aprendizaje Profundo](AprendizajeProfundo.html) * [Equivarianza](Equivarianza.html) (insert ../menu.md.html here)