Depende, pero creo que debido a que las diferentes funciones de activación tienen diferentes rangos, esto puede afectar las capas superiores de manera negativa. Considere una función sigmoidea:
[matemáticas] f_ {sigmoide} (x) = \ frac {1} {1 + e ^ {- x}} [/ matemáticas]
Con asíntotas en 0 y 1 para entrada muy pequeña y muy grande [matemática] x [/ matemática] respectivamente. Entonces el rango es:
- ¿Cuáles son algunos temas nuevos de investigación en electrónica?
- ¿Cómo podemos probar si una máquina tiene sentimientos o no?
- ¿Hay futuro para alguien con un doctorado en lógica aplicada para la inteligencia artificial?
- ¿Cuáles son algunos proyectos principiantes de Python y OpenCV?
- ¿Cuál es la mejor estrategia para aprender el aprendizaje automático desde cero?
[matemáticas] 0 \ leq [/ matemáticas] [matemáticas] f_ {sigmoide} <1 [/ matemáticas]
Y la derivada es:
[matemáticas] {f_ {sigmoid}} ^ {,} (x) = f_ {sigmoid} (1-f_ {sigmoid}) [/ math]
Ahora considere el rectificador:
[matemáticas] f_ {relu} (x) = máx (0, x) [/ matemáticas]
Y es derivada:
[matemática] {f_ {relu}} ^ {,} (x) = H (x) [/ matemática], donde [matemática] H () [/ matemática] = función paso a paso lateral.
Considere también el rango [matemática] 0 \ leq f_ {relu} <+ [/ matemática] [matemática] \ infty [/ matemática]
Entonces, mientras que el sigmoide saludará cerca de 1, para un valor enorme [matemática] x [/ matemática], la ReLU generará [matemática] x [/ matemática], ya que [matemática] x >> 1 [/ matemática] luego [matemática ] f_ {relu} >> f_ {sigmoid} [/ math], para algunos grandes [math] x [/ math]. Por lo tanto, la salida de las neuronas sigmoideas puede ser prácticamente inútil, especialmente cuando se ejecuta una normalización de respuesta local (LRN) en el mapa de respuesta de salida desde una capa “diversa” con funciones de activación sigmoideas ReLu +. Las salidas ReLU siempre suprimirían las salidas sigmoideas para la entrada positiva [matemática] x [/ matemática].
También podría afectar la propagación hacia atrás, algunas neuronas con funciones de activación saturadas como el sigmoide tienen gradientes muy débiles cerca de sus asíntotas, 0 y 1 en este caso, mientras que la ReLU tiene un gradiente constante fuerte igual a 1 para entradas positivas y cero para entradas negativas (función de paso lateral) para que el flujo de gradiente a través de un ReLU sea efectivo y no lo sea para una neurona sigmoidea. Esto puede causar gradientes que se desvanecen en algunas partes de la red, mientras que en otras el gradiente fluiría bien durante la propagación hacia atrás.
Lo que significa que las neuronas sigmoideas aprenderán más lentamente e impedirán el flujo del gradiente. Por otro lado, ReLU no aprendería ni propagaría gradientes mientras esté apagado, por lo que esto puede crear una mezcla compleja de flujo de gradiente que puede afectar la capacidad de aprendizaje de la red neuronal. Ni siquiera estoy seguro de cómo puede funcionar la normalización por lotes (BN) en tales casos.
Lo curioso es que esta mezcla complicada puede funcionar muy bien en la práctica, por lo que definitivamente tengo mucha curiosidad en este punto. Probablemente probaré un modelo así. Me encantaría ver una red neuronal práctica con tales neuronas en los próximos documentos.
Hasta entonces, para obtener los mejores resultados posibles, creo que cada capa debería tener la misma función de activación, pero las funciones de activación deberían variar entre capas, no entre neuronas en la misma capa.
Espero que esto ayude.