¿Por qué las redes neuronales pueden ajustarse con precisión a funciones de complejidad arbitraria?
El Teorema de Aproximación Universal (Hornik et al. Este es un teorema probado. Aquí lo tomaremos de manera relajada. Explica por qué una red neuronal puede (teóricamente) adaptarse a cualquier función.
Cualquiera que haya visto la película "Breaking Bad" sabe que a los Minions les gustan mucho los plátanos. Sin embargo, solo tiene 12 manzanas, pero no era así. interesado en las manzanas Sería genial si alguien pudiera cambiar plátanos por manzanas. Sin saberlo, descubrió una cabaña mágica.
La manzana fue puesta en la ventana de la casa mágica, y el hombrecito amarillo intentó hacerlo. Pon 5 manzanas en la ventana de la casa mágica. El hombrecito amarillo de repente se puso feliz cuando la casa mágica escupió 16 plátanos. ¡El Minion intentó arrojar 6 manzanas a la Casa Mágica y la Casa Mágica escupió 20 plátanos! /p>
Ahora, las 12 manzanas del Minion se acaban y él toma los plátanos a cambio Piensa: si le doy 3 manzanas, ¿cuántos plátanos escupirá la cabaña?
Esto. es una pregunta de la escuela primaria (encuentra el patrón).
Puedes soltar: ¡8 plátanos! Bueno, ¡esto demuestra que eres lo suficientemente inteligente como para aprender un tema tan avanzado como la inteligencia artificial! ~
Cómo utilizar los pasos del aprendizaje automático para responder esta pregunta de la escuela primaria (puedes pensar que esto es matar un pollo)
Usamos la variable x para representar el número de manzanas arrojado a la casa mágica (entrada) y la variable? para representar la cantidad de plátanos escupidos por la casa mágica (salida), y luego obtenemos un conjunto de datos:
Nuestro objetivo es construir un modelo matemático para satisfacer las leyes implícitas del conjunto de datos, es decir, al ingresar el valor de "?" en el modelo, el modelo generará el valor correspondiente.
Los estudiantes de primaria deberían haber aprendido la unidad. función (y = wx + b). Dado que este es un tema de escuela primaria, usar una función relativamente simple es suficiente para modelar el patrón en el conjunto de datos. Por lo tanto, definimos un modelo de función univariada. Entonces la pregunta es, ¿cómo determinamos los dos parámetros de la función, es decir, w, b?
Las personas inteligentes pueden decir: y = 4x + (-4) ¡Bien, lo demostraste una vez más! Eres más inteligente que los estudiantes de primaria o secundaria
Pero el minion no es tan inteligente como tú. Solo puede adivinar qué pasará si w=1 y b=0. p>
Obviamente, ¿la diferencia en el valor de salida (predicho) del modelo y?
Obviamente, ¿la salida del modelo (valor predicho) y?
Esta vez, el resultado del modelo y no parece diferir mucho del valor real en el conjunto de datos. La diferencia no parece tan grande. Los Minions no pueden evitar preguntar cuál de los dos modelos candidatos es mejor (simula mejor el patrón en el conjunto de datos). )? ¿Cómo cuantificar "mejor"?
Por ello, introducimos el concepto de función de pérdida.
¿Cuál es la suma de los cuadrados de las diferencias entre el valor predicho y y el valor verdadero? ¿La suma de los cuadrados de la diferencia entre el valor predicho y el valor verdadero? Cuanto menor sea la función de pérdida, es decir, cuanto menor sea la diferencia entre el valor predicho y el valor verdadero, mejores serán los parámetros w y b que modelan el conjunto de datos. patrón.
Considerando la función de pérdida, echemos un vistazo a los valores de la función de pérdida de los dos modelos candidatos anteriores.
El valor de la función de pérdida L(2,2) = 68 para el modelo y = 2x + 2 es menor que L(1,0) = 318, por lo que gana el modelo candidato y = 2x + 2.
Los Minions persiguen extremos. El valor de la función de pérdida 68 es menor que 318, pero sigue siendo muy grande. Ningún otro parámetro w,b puede hacer que la función de pérdida L(w,b) tenga un valor inferior a 68.
Por ello, introducimos el concepto de optimizador.
Encuentre los parámetros w,b que minimizan el valor de la función de pérdida L(w,b). Dado que Yellowman no ha aprendido el método de descenso de gradiente (un algoritmo de optimización de función convexa, no importa, no se puede usar ahora), solo puede usar "método de prueba aleatorio". Método de prueba aleatoria".
A partir de los parámetros w = 2 y b = 2, el Minion realizará intentos aleatorios con un tamaño de paso de 1, es decir, dentro del rango de "más uno menos uno", intente alrededor del punto ( 2,2) Los cuatro puntos son: (3,2), (2,3), (1,2), (1,1). Se encontró que en el punto (3,2), el valor de la función de pérdida es menor que los valores de pérdida de los otros tres puntos y el origen.
Entonces, Minion encontró un mejor modelo candidato y = 3x + 2, cuyo valor de función de pérdida es 26, que es mucho menor que 68. Los Minions estaban tan emocionados que empezaron a intentar el mismo método nuevamente. De esta forma continúa encontrando dos puntos de coordenadas L(3,1) = 17 y L(3,0) = 14. Sin embargo, todos los intentos alrededor del punto (3,0) no encontraron un valor de función de pérdida menor que 14.
¿Es este el final?
Las personas con un coeficiente intelectual alto como usted definitivamente podrán calcular que el valor de la función de pérdida es mínimo en el punto (4,-4): Sin embargo, a través de los intentos anteriores, no encontramos el punto de coordenadas ( 4,-4).
¿Cuál es el problema? Es cuestión de elegir el punto inicial.
Yelman descubrió que si comienzas desde el punto (-2, -4), eventualmente encontrarás el punto (4, -4) que minimiza la función de pérdida. Un estudio más profundo involucraría el problema de búsqueda óptima, que está más allá del alcance de este artículo.
Lo que necesitamos saber por ahora es que podemos encontrar los parámetros del modelo w, b que minimizan la función de pérdida mediante métodos óptimos (como el método de mínimos cuadrados).
La historia anterior es la regresión lineal
Necesitamos dar una definición más estricta de qué es la regresión lineal. El siguiente es un pasaje de "Machine Learning" (autor: Chihua Zhou):
Corresponde a este pasaje de nuestro modelo. La función modelo y = 4x - 4 es el "modelo lineal" aprendido en esta oración. Bueno, en nuestra historia, en lugar de predecir el indicador de salida del valor verdadero con la mayor precisión posible, predecimos el indicador de salida del valor verdadero el 100% de las veces. ....El valor de la función de pérdida se puede minimizar a 0.
En realidad, no es tan sencillo… explíquelo más.
Un día, el Minion descubrió que si le daba a la Casa Mágica 1 manzana, 2 plátanos y 3 peras, la Casa Mágica le escupiría un gato~miau miau~. Es tan asombroso. . . .
En este momento, la función modelo ya no es una función unitaria simple, sino un modelo que contiene tres variables de entrada (x1, x2, x3) y cuatro parámetros que deben optimizarse (w1, w2, w3). , b) función ternaria. A esto lo llamamos "regresión lineal múltiple". De hecho, se trata de un modelo prototipo de reconocimiento de imágenes, en el que no profundizaremos más.
Cuando el Minion descubrió las reglas del intercambio de plátanos en la Casa Mágica se puso muy, muy feliz. Encontró muchas manzanas y se dispuso a intercambiar plátanos con la casa mágica. Pero...así es la vida. Cuando estés más orgulloso, a menudo te echarán encima un recipiente con agua fría.
(Tenga en cuenta que el conjunto de datos anterior se ha ajustado de x=1,5,6 a x=1,2,3.
Los minions intentan darle a la casa mágica 4 y 5 manzanas, y el resultado son 9 y 10 plátanos. ¡Esto parece estar mal! Si seguimos las reglas anteriores, deberíamos obtener 12 y 20 plátanos respectivamente.
En este momento, la cabaña mágica escupe. saca una nota que decía: "Si echas demasiadas manzanas, obtendrás más plátanos: Si echas demasiadas manzanas, te daré Tendrás menos plátanos. Minion, un poco deprimido.
Si lo modelas de acuerdo con el método anterior de construir un modelo de función de una variable, obtendrás el siguiente modelo de función.
Puedes ser mucho más inteligente que los minions y podrás ver en un momento. Observe que el modelo de función anterior no parece ser adecuado.
Si la función del modelo es así, entonces el valor de la función de pérdida correspondiente tomará el valor mínimo 0. ¿Podemos combinar estas dos funciones en una?
En este momento, soltaste: ¡función por partes! Resulta que tu coeficiente intelectual está solo en el nivel de la escuela secundaria.
Cuando x < 3, s1 es igual a 1, s2 es igual a 0, y = 4x - 4
Cuando x >= 3, s1 es igual a 0, s2; es igual a 1, y = 1x + 5;
Esta es una función compuesta perfecta.
Entonces surge nuevamente la pregunta: ¿qué son s1 y s2? ¿Cómo determinarlos?
Si piensas en s2 como una función, lo ideal sería que fuera una función escalonada, como esta.
Sin embargo, las funciones escalonadas tienen algunas propiedades no tan agradables, como la discontinuidad y la no estacionariedad.
En ese momento, el Minion dijo: "Parece que he visto una función continua que es algo similar a esta función, llamada función Sigmad.
Después de leer esta función Sigmad De función, estás enojado Dile al Minion: Eres estúpido y hablador. ¡Esta función es muy diferente de la función de paso!
Minion: ¡Solo dale un parámetro a la variable t, cámbialo a σ (. 1000t). (
Si no miras con atención, difícilmente podrás encontrar una curva muy pronunciada entre 0 y 1 en el eje vertical. Inmediatamente me quedé sin palabras y me impresionó.
p>
Cuando x = 0,1, s = σ(100) ≈ 1;
Cuando x = -. Al ajustar ligeramente esta función sigmoidea, podemos obtener las diversas funciones escalonadas que necesitamos.
En este caso, obtenemos una nueva función modelo, es decir, y = (4x - 4)σ(-. 1000x + 3000) + (1x + 5)σ(1000x - 3000);
Por ejemplo, cuando x = 4, y = (12)σ(-1000) + (9)σ(1000) = 12 * 0 + 9 * 1 = 9, que es consistente con el conjunto de datos
En este proceso, a Yellowman todavía se le atribuye la introducción del concepto de función de activación
Siguiente. , veamos una definición un poco más rigurosa de regresión logística.
Esta oración es suficiente. En la primera sección, hemos aprendido el modelo de regresión lineal y = wx + b. Vea que la regresión logística en realidad usa la función de activación y = ?σ (wx + b). El valor predicho y del modelo de regresión lineal (y = wx + b) puede ser cualquier número real {-∞,∞}, mientras que el predicho. El valor y del modelo de regresión logística (y = ?σ(wx + b)) es solo Puede ser un número real entre {0, 1}. Si puede descubrir la conexión entre la regresión lineal y la regresión logística, entonces comprenderá la significado básico de ambos.
Minions pensando que aunque la cantidad de plátanos era menor, al menos los plátanos escupidos por la cabaña eran más que las manzanas arrojadas, entonces el minion intentó lanzar 7 y 9 manzanas. en la cabaña mágica
, la casa mágica solo escupió 10 plátanos. Esta vez el Minion se quedó estupefacto
Aunque el Minion era estúpido en otras cosas, era mucho más inteligente. se trataba de plátanos, se cambiaron 5 manzanas por 10 plátanos, y ahora se cambiaron 9 manzanas por 10 plátanos. ¡Obviamente sufrió una pérdida, sin embargo, no le gustaba comer manzanas, por lo que solo pudo tragarse su ira y reunir suficiente energía! para seguir las reglas. Descúbrelo.
Después de seguir la rutina anterior, definitivamente podrás pensar en una solución.
Sí, eso es todo. Divida el conjunto de datos en tres partes, cree funciones de modelo lineal por separado y luego combínelas utilizando funciones de activación.
El problema volvió a ocurrir.
Cuando x < 3, s1 = σ(-1000x + 3000) = 1, en caso contrario 0
Cuando x > = 5, s3 = σ(1000x - 5000 ) = 1; , de lo contrario 0;
Cuando 3 < = x < 5, s2 =
Me pregunto si eres lo suficientemente inteligente como para notar que ambas funciones s1 y s3 toman x como variable desconocida. Si cambiamos nuestra forma de pensar, podemos pensar en s2 como una función binaria de s1 y s3. Es decir, que s2 sea igual a 1 o 0 depende de los valores de s1 y s2.
s2 = σ (-1000s1 - 1000s2 + 500)
Aunque el número de plátanos obtenidos ya no aumenta, los Minions siguen un poco contentos porque un problema tan complejo puede tener solución (Usando una combinación de regresión lineal y regresión logística para modelar el conjunto de datos). De todos modos, todavía tenía algunas manzanas en la mano, así que intentó tirar 10, 11 y 12 manzanas a la casa mágica. Como resultado... ¡los minions colapsaron!
Llegó una nota de la casa mágica: No seas codicioso, hazlo sabiamente y conténtate con lo que tienes. Los minions cayeron. Ahora sólo queda una pregunta sin respuesta: cómo modelar el conjunto de datos.
Incluso si eres inteligente, parece que sólo puedes resolver dos de los pasos.
Toma s1 = σ (-1000x + 3000), es decir, cuando x < 3, s1 = 0
Toma s4 = σ (1000x - 9000), es decir, cuando x > = 9, s4 = 0;
Entonces, ¿cómo determinar s1 y s2?
Según la experiencia pasada, puede determinar aproximadamente que s1 y s2 deben determinarse en función de los valores de s1 y s4.
Seguimiento...
Supongamos que ahora tenemos algunos conjuntos de datos.
El proceso de combinación
Aquí viene el punto clave.
Descargo de responsabilidad gratuito: este artículo se basa en el contenido del curso abierto de procesamiento del lenguaje natural (chao xi) de la Universidad de Oxford x DeepMind?
.