Editar: cuando se publicó esta pregunta, estaba preguntando sobre el Teorema de Aproximación Universal; Si está buscando una respuesta a la pregunta como es ahora, la respuesta a continuación podría ayudar, pero está muy lejos de ser una explicación real.
El teorema de aproximación universal, hasta donde yo sé, solo afirma que las redes neuronales de una sola capa pueden aproximarse a funciones continuas en subconjuntos compactos de R ^ n.
Un “subconjunto compacto de los reales” es solo un subconjunto cerrado (es decir, [1, 3], no (1, 3)) y “limitado” (es decir, la distancia entre dos puntos en el conjunto es menor que algún número) . Entonces, por ejemplo, [1, 3] U [5, 6] es un “subconjunto compacto de R”. En resumen: la compacidad es generalmente una buena suposición para los problemas del mundo real.
- ¿Por qué Matlab no le permite llamar a las funciones dos veces o indexarlas como en f (x) (y)?
- ¿Para qué se usan los cierres de relaciones binarias (teoría de conjuntos)?
- ¿Cuáles son los impactos de resolver el problema P = NP en la criptología?
- ¿Cuál es el proceso de traducción de un lenguaje de programación para representar números o bits?
- ¿Cómo es O (N ^ 4) la respuesta correcta? ¿Puedes explicarlo paso a paso?
En cuanto a demostrar que puede aproximarse a una función continua, definamos primero qué entendemos exactamente por “continuo”. Intuitivamente, una función es continua si los puntos que están “cerca” entre sí tienen valores “similares”, es decir, “un pequeño cambio en x conduce a un pequeño cambio en f (x)”.
Existe un teorema increíblemente útil, que establece que cualquier función continua puede aproximarse con la precisión que desee mediante una función de paso. Por ejemplo, aquí está el pecado (6x) que se aproxima mediante una función de paso:
Cuanto más pequeño sea el ancho de los pasos, mejor será una aproximación.
Muy bien, ahora a las redes neuronales. En una dimensión, cada neurona de entrada tiene la forma ∂ (a * x + b), donde “∂” es una función monótona de -1 a 1 (o 0 a 1, o lo que sea). Aquí hay un gráfico de dos neuronas y lo que resumen:
El parámetro “a” nos permite hacer que estas neuronas sean tan empinadas como queramos. Por ejemplo, si establecemos a = 10 (en lugar de a = 1) para ambas neuronas, obtenemos:
Entonces, estas dos neuronas sumadas nos dicen si x está entre 0 o 2. Agregando pares adicionales de neuronas, descubramos si x está entre otros dos puntos:
Si agregamos 16 neuronas más (una para [-10, -8], una para [-8, -6], una para [-6, -4], etc.), entonces la neurona de salida puede mirar nuestra neurona -pares y determinar en qué intervalo se encuentra la “x” original, y luego asignarla al valor correcto. En otras palabras, la neurona de salida está tomando los “pasos” que hicieron las neuronas ocultas y calculando qué tan alto hacer cada paso, ¡que está empezando a sonar muy bajo como una función de paso!
Lo hace con los pesos que elige. En el ejemplo anterior, digamos f (1) = 0.5 yf (5) = -0.5. Entonces la neurona de salida intentaría decir (0.5) * (n1 + n2) + (-0.5) * (n3 + n4). Los números reales serían un poco diferentes (porque la neurona de salida también pasa su salida a través de una función sigmoidea, y “n1 + n2” no llega a 1 (solo sube a ~ 0.6 en el ejemplo anterior), pero La idea sigue funcionando.
Otra forma de pensar en esto es pensar que la capa oculta representa una “expansión de características” de la entrada: convierte un valor inocente de “x” en una tonelada de ceros y casi unos que indican qué pasos “x” pertenece a. Luego, la neurona de salida utiliza esta función de expansión para calcular la función de paso real.
Entonces, el argumento dice: las redes neuronales (pueden) aproximar funciones escalonadas que (pueden) aproximar funciones continuas. Obviamente, las redes neuronales pueden hacer mucho más que simplemente aproximar una función de paso.
Editar: esto se extiende muy naturalmente a dimensiones más altas, solo se necesitan más de 2 neuronas para representar un “paso”. Si X es 2D necesitas 3 neuronas. Si X es 4D, necesita 4, etc. Esto se debe a que necesita el simplex de la dimensión para definir adecuadamente el equivalente de un “paso” en dimensiones superiores.
Editar: wow, lo siento, me perdí totalmente la palabra “recurrente”, pero dado que las redes recurrentes son literalmente redes neuronales de alimentación directa con algunas entradas adicionales (ignorando los problemas de entrenamiento), el mismo argumento aún debería mantenerse.
También vale la pena señalar que en la vida real es poco probable que una red neuronal aprenda algo como esta representación de función de paso, ¡solo porque sea capaz de representar una función continua de esta manera no significa que es probable que converja en esta solución! Y, más concretamente, si su red “una primera capa converge a una solución que parece funcional, no es probable que desee utilizar una red neuronal a menos que tenga muchos más datos de los que necesita (I” sospecha que está sobreajustado de lo contrario).