¿Puede una red neuronal de cómputo ?

12

En espíritu de la famosa Tensorflow ruido como zumbido broma y problema XOr empecé a pensar, si es posible diseñar una red neuronal que los implementos función?y=x2

Dada alguna representación de un número (por ejemplo, como un vector en forma binaria, de modo que el número 5se representa como [1,0,1,0,0,0,0,...]), la red neural debe aprender para devolver su cuadrado - 25 en este caso.

Si pudiera poner en práctica , que probablemente podría poner en práctica y en general cualquier polinomio de x, y después con la serie de Taylor pude aproximar , lo que resolvería el problema Fizz Buzz - una red neuronal que se puede encontrar resto de la división.y=x2y=x3y=sin(x)

Es evidente que sólo la parte lineal de los NN no será capaz de realizar esta tarea, por lo que si podíamos hacer la multiplicación, sería sucediendo gracias a la función de activación.

¿Puede sugerir alguna idea o la lectura en sujetos?

Boris Burkov
fuente

Respuestas:

10

Las redes neuronales también se llaman como la aproximación de función universal que se basa en el teorema de aproximación de función universal . Se afirma que:

En la teoría matemática de las redes neuronales artificiales, el teorema de aproximación universal establece que una red de retroalimentación con una sola capa oculta que contiene un número finito de neuronas puede aproximar funciones continuas en subconjuntos compactos de Rn, bajo suposiciones leves sobre la función de activación

Es decir, un ANN con una función de activación no lineal podría asignar la función que relaciona la entrada con la salida. La función podría aproximarse fácilmente mediante la regresión ANN.y=x2

Puede encontrar una excelente lección aquí con un ejemplo de cuaderno.

Además, debido a esa capacidad, ANN podría mapear relaciones complejas, por ejemplo, entre una imagen y sus etiquetas.

shubham Panchal
fuente
2
¡Muchas gracias, esto es exactamente lo que estaba pidiendo!
Boris Burkov
44
Aunque es cierto, es una muy mala idea aprender eso. No veo de dónde surgiría cualquier poder de generalización. NN brilla cuando hay algo para generalizar. Como CNN para visión que captura patrones, o RNN que puede capturar tendencias.
Jeffrey apoya a Monica el
14

Creo que la respuesta de @ShubhamPanchal es un poco engañosa. Sí, es cierto que según el teorema de aproximación universal de Cybenko podemos aproximar con una sola capa oculta que contiene un número finito de neuronas puede aproximar funciones continuas en subconjuntos compactos de , bajo supuestos leves sobre la función de activación.f(x)=x2Rn

Pero el problema principal es que el teorema tiene una limitación muy importante . La función debe definirse en subconjuntos compactos de Rn (subconjunto compacto = acotado + subconjunto cerrado). Pero, ¿por qué es esto problemático? Al entrenar el aproximador de funciones, siempre tendrá un conjunto de datos finito. Por lo tanto, aproximará la función dentro de un subconjunto compacto de . Pero siempre podemos encontrar un punto para el cual la aproximación probablemente fallará. Habiendo dicho eso. Si solo desea aproximar en un subconjunto compacto de entonces podemos responder su pregunta con Rnxf(x)=x2R. Pero si desea aproximar para todo entonces la respuesta es no (excluyo el caso trivial en el que utiliza una función de activación cuadrática).f(x)=x2xR

Comentario lateral sobre la aproximación de Taylor : siempre debe tener en cuenta que una aproximación de Taylor es solo una aproximación local. Si solo desea aproximar una función en una región predefinida, entonces debería poder usar la serie Taylor. Pero aproximar por la serie de Taylor evaluada en le dará resultados horribles para si no usa suficientes términos en su expansión de Taylor.sin(x)x=0x10000

MachineLearner
fuente
3
¡Buena atrapada! "conjunto compacto".
Esmailian
2
Muchas gracias amigo! ¡Abridor de ojos!
Boris Burkov