Supongamos que tengo una red neuronal que tiene una capa de entrada, una capa oculta y una única salida.
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?
Respuestas
¿Demasiados anuncios?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.
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.
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").