¿Puede la red neuronal profunda aproximar la función de multiplicación sin normalización?

27

Digamos que queremos hacer una regresión simple f = x * yusando una red neuronal profunda estándar.

Recuerdo que hay investigaciones que indican que NN con una capa oculta puede aproximarse a cualquier función, pero he intentado y sin normalización, NN no pudo aproximar ni siquiera esta simple multiplicación. Solo ayudó la normalización logarítmica de los datos, m = x*y => ln(m) = ln(x) + ln(y). pero eso parece una trampa. ¿Puede NN hacer esto sin normalización logarítmica? La respuesta es obviamente (en cuanto a mí), sí, así que la pregunta es más, ¿cuál debería ser el tipo / configuración / diseño de tal NN?

Brans Ds
fuente

Respuestas:

13

Un gran gradiente de función de multiplicación fuerza a la red probablemente casi de inmediato a un estado horrible donde todos sus nodos ocultos tienen un gradiente cero (debido a los detalles y limitaciones de la implementación de la red neuronal). Podemos usar dos enfoques:

  1. Dividir por una constante. Simplemente estamos dividiendo todo antes del aprendizaje y multiplicamos después.
  2. Utilice la normalización logarítmica. Hace la multiplicación en suma:

    metro=XyEn(metro)=En(X)+En(y)

Brans Ds
fuente
5

Una pregunta similar me llamó la atención hoy, y me sorprendió no poder encontrar una respuesta rápida. Mi pregunta fue que, dado que las NN solo tienen funciones de suma, ¿cómo podrían modelar funciones multiplicativas?

Este tipo de respuesta, aunque fue una larga explicación. Mi resumen sería que el modelo de NN es la superficie de la función en lugar de la función en sí. Lo cual es obvio, en retrospectiva ...

Señorita palmer
fuente
5

NN con función de activación relu puede aproximarse a la multiplicación cuando el rango de entradas es limitado. Recordemos eso relu(x) = max(x, 0).

Es suficiente si NN se aproxima a una función cuadrada g(z) = z^2, porque x*y = ((x-y)^2 - x^2 - y^2)/(-2). El lado derecho tiene solo combinaciones lineales y cuadrados.

NN puede aproximarse z^2con una función lineal por partes. Por ejemplo, en el rango de [0, 2]una combinación de xy relu(2(x-1))no es tan malo. La siguiente figura visualiza esto. No tengo idea si esto es útil más allá de la teoría :-) ingrese la descripción de la imagen aquí

Jussi Kujala
fuente
0

"una capa oculta" no limita el número de neuronas y tipos de funciones de activación utilizadas, todavía tiene un gran espacio de representación. Un método simple para validar la existencia de este problema: entrenar este problema de regresión con una red neuronal real, registrar cada peso y sesgo, usar estos parámetros para trazar la curva de predicción, contrastarla con la curva de función objetivo. Este ensayo puede ayudar.

Chongkai Lu
fuente
0

No puedo comentar debido a que soy un usuario recién activo en StackExchange. Pero creo que esta es una pregunta importante porque es muy simple de entender pero difícil de explicar. Con respeto, no creo que la respuesta aceptada sea suficiente. Si piensa en las operaciones centrales de un NN de alimentación estándar, con activaciones de la forma s(W*x+b)para alguna función de activación no lineal s, en realidad no es obvio cómo "obtener" la multiplicación de esto incluso en una red compuesta (multicapa). Escalar (la primera viñeta en la respuesta aceptada) no parece abordar la pregunta en absoluto ... ¿escalar por qué? Las entradas xy yson presumiblemente diferentes para cada muestra. Y tomar el registro está bien siempre que lo sepaseso es lo que debe hacer y cuidar el problema de la señal en el preprocesamiento (ya que obviamente el registro no está definido para entradas negativas). Pero esto fundamentalmente no coincide con la idea de que las redes neuronales pueden simplemente "aprender" (se siente como un engaño, como dijo el OP). ¡No creo que la pregunta deba considerarse respondida hasta que realmente lo sea, por alguien más inteligente que yo!

Dave B.
fuente