3 votos

¿Es necesario utilizar la función sigmoidea en cada capa de la red neuronal?

Supongamos que tengo una red neuronal que tiene una capa de entrada, una capa oculta y una única salida. enter image description here
Por lo que sé, la función sigmoide se utiliza para mantener la salida entre 0-1 (es decir, 0-100%). ¿Pero es necesario utilizarla en cada capa? Supongamos que he calculado el valor de la segunda capa sin utilizar la función sigmoide. Pero la he utilizado para calcular la tercera capa (que es la de salida). ¿Habrá algún problema?

1 votos

No! Sería muy inusual y probablemente malo hacer eso. Pero debería utilizar una función de activación como ReLU en cada capa de su red. (Es necesario que haya alguna no linealidad en cada capa, porque la composición de dos funciones lineales es sólo otra función lineal).

1 votos

Además del punto de @littleO, la función de activación actúa después de una lineal a saber. $a(Wx+b)$ Por lo tanto, si la última función de activación es lineal, puede ser también la identidad y esa capa puede no existir, y si alguna función de activación que no sea la última es lineal, los primeros tres de los cuatro pasos "transformar linealmente, aplicar una activación lineal, transformar linealmente, aplicar una activación no lineal" se reducen a sólo "transformar linealmente", por lo que de nuevo la capa lineal es efectivamente inexistente.

0 votos

Supongo que en mi comentario anterior olvidé la historia de las redes neuronales: antes de ReLU, era común utilizar la función de activación sigmoidea en cada capa. Pero luego se descubrió que ReLU tiende a funcionar mucho mejor (tal vez porque ayuda a evitar el problema del "gradiente de fuga").

2voto

SC2020 Puntos 31

Matemáticamente, las redes neuronales artificiales son sólo funciones matemáticas. Puedes aplicar la función que quieras a cada neurona, sigue siendo una función. Si quieres aplicar la función sigmoidea sólo en la última capa, puedes hacerlo. Sin embargo, las funciones de activación tienen un propósito determinado. Hacen que una red neuronal sea más potente. Observa que una composición de funciones afines (es decir, funciones de la forma $f(x)= ax +b$ ) sigue siendo afín, por lo tanto, si no aplicas una función de activación en tus capas ocultas, básicamente las haces inútiles. Es lo mismo que si no hubiera capas ocultas en absoluto. Por eso utilizamos funciones de activación no lineales. Esencialmente, cada neurona que no tiene una función de activación no lineal es inútil.

2voto

Dio Puntos 64

En resumen, no es necesario utilizar la función sigmoidea en cada capa. Consulte en Wikipedia funciones de activación La función sigmoide y la función identidad son ambas funciones de activación. La principal diferencia es que la función sigmoide tiene un rango en $[0,1]$ y es no lineal, mientras que la función de identidad es lineal y no tiene ninguna restricción para su salida. A mi entender, no utilizar la función sigmoidea ( $i.e.$ utilizando la función de identidad) en la segunda capa de su salida debería funcionar bien.

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