Dominando el Aprendizaje Profundo El arte de aproximar no linealidades con estimaciones por partes – Parte 3

Dominando el Arte del Aprendizaje Profundo Aproximando no linealidades con estimaciones por partes - Parte 3

¡Saludos a todos! Bienvenidos a la tercera entrega de mi serie Mastering Deep Learning. Este artículo marca la conclusión de las dos primeras partes tituladas El arte de aproximar no linealidades con estimaciones por partes. En los dos primeros artículos, profundizamos en la comprensión del funcionamiento interno de las redes neuronales profundas. En este último segmento, concluiremos nuestra exploración entendiendo cómo manejan las redes neuronales las entradas y salidas multidimensionales, que representan un escenario más realista. Antes de sumergirnos en el contenido, recibí una sugerencia para intentar una visualización mejor y más comprensible del plegado del espacio de entrada de mayor dimensión. ¡Vamos a explorar rápidamente esta idea y luego proceder!

red neuronal simple para visualizar representaciones latentes

Consideremos una red neuronal simple, como se muestra arriba. Cada neurona, denotada como hₖ’ en la segunda capa oculta, estima un hiperplano utilizando el siguiente formato:

hₖ’ = θ’ₖ₁h₁ + θ’ₖ₂h₂ + β₁

La ecuación anterior representa un hiperplano bidimensional en el espacio h₁ y h₂. De manera similar, podemos obtener la salida y de la siguiente manera:

y = ∑ ₀¹⁰ Ωᵢhᵢ’ + β₂

Como hemos explorado en publicaciones anteriores, podemos desplegar la ecuación anterior para comprender el mapeo de x a y. Sin embargo, nuestro enfoque actual no se centra en el mapeo específico, en cambio, buscamos visualizar cómo cada una de las diez neuronas contribuye al proceso de plegado.

La red neuronal anterior está entrenada para estimar la siguiente función: f(x) = sin(2x) + cos(x) + x. Cada hₖ’ representa una superficie bidimensional que se puede visualizar. A continuación, se muestra una figura que ilustra las diversas superficies estimadas por cada una de las diez neuronas en la segunda capa oculta.

Diez neuronas diferentes pliegan la superficie definida sobre h₁, h₂ y hₖ de diez formas únicas.

Cada neurona ha plegado de forma única la superficie, lo que nos proporciona una perspectiva de las diversas formas en que este plegado puede manifestarse. La estimación latente de hₖ’ en términos de x es esencialmente una línea, que es un componente de la superficie representada anteriormente. Puedes pensar en la superficie como el papel en el cual dibujamos esta línea, y el proceso es similar a hacer cortes en el papel plegado en lugar de cortar directamente la línea en sí misma.

Ahora, exploremos cómo las redes neuronales manejan múltiples entradas considerando una red neuronal poco profunda simple como se muestra en la figura siguiente.

red neuronal poco profunda simple con dos entradas

En lugar de tener solo un peso en la unidad oculta, ahora tenemos dos pesos junto con un sesgo. Con este cambio, cada neurona estima un plano en lugar de una línea, mientras que los mecanismos generales siguen siendo similares. Ahora intentemos estimar el mapeo f(x₁, x₂) = sin(2x₁)sin(2x₂) + cos(x₁)cos(x₂) + x₁ + x₂ utilizando redes neuronales poco profundas con diferentes capacidades y visualizar sus estimaciones.

La estimación de f(x₁, x₂) utilizando una red neuronal superficial con 12 unidades ocultas.
La estimación de f(x₁, x₂) utilizando una red neuronal superficial con 32 unidades ocultas.
La estimación de f(x₁, x₂) utilizando una red neuronal superficial con 64 unidades ocultas.

A medida que aumentamos el número de unidades ocultas, nuestras estimaciones de la superficie que estamos tratando de modelar continúan mejorando. Con cada neurona estimando un plano, la función ReLU puede cortar estos planos en cualquiera de sus cuatro lados, creando superficies lineales por partes. Como se mencionó anteriormente, cuantas más partes tengamos, mejor podremos aproximar la función objetivo. Es importante tener en cuenta que la superficie estimada es estrictamente lineal por partes, aunque pueda dar la impresión de ser una superficie no lineal. Si nos acercamos lo suficiente, veríamos claramente estas regiones lineales por partes.

Una vez que entendemos cómo se manejan las entradas multidimensionales, no hay ninguna limitación que nos impida utilizar redes neuronales profundas para tales estimaciones. Las redes profundas pueden crear más de estas regiones lineales en comparación con las redes superficiales con el mismo número de neuronas. Por ejemplo, si consideramos una red superficial con 100 neuronas y una red profunda con dos capas, cada una conteniendo 50 neuronas, la red profunda tiene más parámetros solo entre las dos capas ocultas que la red superficial completa. Aunque ambas redes tienen el mismo número de neuronas, ganamos un poder de estimación adicional a costa de más parámetros.

La siguiente figura muestra la misma estimación realizada por una red profunda con 6 neuronas en cada capa oculta, y podemos observar que la estimación es tan buena como la obtenida con una red neuronal superficial de 32 neuronas.

La estimación de f(x₁, x₂) utilizando una red neuronal profunda con dos capas ocultas, cada una conteniendo 6 unidades ocultas.

Continuemos nuestra exploración de cómo las redes neuronales estiman salidas multidimensionales. Para tener una mejor comprensión, consideremos dos funciones, sin(x) y cos(x), ambas funciones de una variable con valores reales x. Nuestro objetivo es aprender simultáneamente ambas funciones a partir de la entrada x. Entrenaremos una sencilla red neuronal superficial, como se muestra a continuación, para estimar y₁ y y₂. En ejemplos anteriores, estimamos una función con varias variables, pero ahora estamos estimando varias funciones.

Una sencilla red neuronal superficial que estima simultáneamente dos funciones diferentes, y₁ y y₂
Las funciones estimadas f₁(x) y f₂(x) producidas por el modelo con 3 unidades ocultas.

Podemos observar que la estimación muestra 4 regiones lineales, correspondientes a los 3 cortes realizados por cada uno de los 3 neuronas. Un aspecto interesante aquí es que ambas funciones estimadas tienen cortes en los mismos puntos. Este fenómeno ocurre porque las neuronas en la capa final estiman combinaciones lineales de las estimaciones realizadas por las neuronas en la capa anterior, y estas combinaciones lineales se pasan a través de ReLU, lo que causa que se realicen cortes antes de la estimación final. En consecuencia, la estimación final consiste en dos combinaciones lineales diferentes de estas funciones, lo que resulta en cortes en exactamente las mismas ubicaciones para ambas funciones.

Los valores estimados de y₁ y y₂ producidos por el modelo

Los problemas de la vida real a menudo involucran múltiples variables tanto en el lado de entrada como en el de salida. La figura proporcionada a continuación representa una red neuronal superficial genérica capaz de tomar múltiples entradas y regresar múltiples salidas. Las redes neuronales nos permiten estimar múltiples funciones multivariables simultáneamente, lo que las convierte en una herramienta notablemente poderosa para estimar funciones matemáticas complejas.

Una red neuronal superficial genérica que acepta entradas multivariables para estimar simultáneamente múltiples mapeos.

Este blog se inspira significativamente en el libro “Understanding Deep Learning” de Simon J.D. Prince (udlbook.github.io/udlbook/). En los próximos artículos, profundizaremos en las funciones de pérdida y cómo se derivan de la estimación de máxima verosimilitud. El código que utilicé para generar los gráficos se puede encontrar a continuación. Si has encontrado este blog perspicaz, agradecería enormemente tu apoyo dándole me gusta.

Understanding-Deep-Learning/Mastering_Deep_Learning_The_Art_of_Approximating_Non_Linearities_with_Pi…

Colabora con Raagulbharatwaj/Understanding-Deep-Learning desarrollando una cuenta en GitHub.

github.com

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Analógico y Digital Lo Mejor de Ambos Mundos en un Sistema Eficiente en Energía

Un nuevo dispositivo combina semiconductores bidimensionales ultrafinos y materiales ferroeléctricos, con el objetivo...

Inteligencia Artificial

¿Cómo sabemos qué tan inteligentes son los sistemas de IA?

Una tradición en IA es someter a los sistemas a pruebas diseñadas para evaluar la inteligencia humana, pero hay varia...

Inteligencia Artificial

Reduciendo la huella de carbono en el entrenamiento de IA mediante la optimización

Investigadores de la Universidad de Michigan han creado un marco de optimización de código abierto llamado Zeus que a...