5 votos

¿Una red neuronal necesita realmente una función de activación o es sólo para la retropropagación?

Tengo una red neuronal feed forward (1 capa oculta con 10 neuronas, 1 capa de salida con 1 neurona) sin función de activación (sólo transferencia por peso + bias) que puede aprender una onda senoidal realmente wonky (usando una ventana 2in1out) con una precisión utilizable en producción entrenada mediante escalada estocástica en un par de segundos:

for (int d = 0; d < 10000; d++)
    data.Add((float)(Math.Sin((float)d * (1 / (1 + ((float)d / 300)))) + 1) / 2);

Probablemente estoy borracho, pero si no usas una función de activación, ¿pierdes ese estatus de aproximador de funciones universal? ¿O es sólo para el descenso de gradiente / propagación hacia atrás, etc. para actuar como una función diferenciable?

O bien, ¿es probable que haya pasado por alto un error y que en realidad esté activando en secreto sin saberlo?

fuente en C# (dibuja en un formulario)

10voto

markymuy Puntos 21

Has construido una red neuronal multicapa con una capa oculta lineal. Las unidades lineales en la capa oculta anulan el propósito de tener una capa oculta. Los pesos entre sus entradas y la capa oculta, y los pesos entre la capa oculta y la capa de salida son efectivamente un único conjunto de pesos. Una red neuronal con un único conjunto de pesos es un modelo lineal que realiza una regresión.

Aquí hay un vector de sus unidades ocultas lineales $$ H = [h_1, h_2,.. ,h_n] $$

La ecuación que rige la propagación hacia delante de $x$ a través de su red es entonces $$ \bar{y} = W'(Hx) \Rightarrow (W'H)x $$ Así, una red neuronal feed forward de n capas con capas ocultas lineales es equivalente a una capa de salida dada por $$ W=W'\prod_i H_i $$

Si sólo tiene unidades lineales, la(s) capa(s) oculta(s) no hace(n) nada. Hinton et al recomienda las unidades lineales rectificadas, que son $\text{max}(0, x)$ . Es simple y no sufre el problema del gradiente de desaparición de las funciones sigmoidales. Del mismo modo, puede elegir la función soft-plus, $\log(1 + e^x)$ que es una aproximación suave no dispersa.

4voto

Shreyans Puntos 24

Si no tiene no lineal funciones de activación, entonces se termina con una red tan poderosa en su poder expresivo como un modelo lineal. Simplemente, véalo como un problema de álgebra lineal. Intuitivamente, si tienes una transformación lineal codificada por una matriz $A$ y se compone un vector inicial $x$ con una transformación lineal múltiple, entonces sigues teniendo una transformación lineal:

$$ T_1( ... T_n(x) ) = A_1 \cdot ... \cdot A_n x $$

Esencialmente, si mueves los puntos para que las cuadrículas permanezcan paralelas y uniformemente espaciadas, no puedes introducir una curva al azar. Así que todo sigue siendo lineal.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X