¿Dónde puedo encontrar una comparación de las funciones de activación en redes neuronales profundas?

Justo aquí, si solo quieres una visión general 😉

Sigmoide: condicionamiento antiguo, lento y deficiente para aprender con SGD; ya nadie usa estos realmente

tanh: es solo desplazamiento sigmoide por una constante. aprende más rápido, pero aún así: no lo uses

relu: rápido, confiable, fácil, no del todo avanzado

relu permeable: un poco mejor que relu, pero tiene un parámetro adicional para sintonizar

prelu: también mejor que relu, no necesita ser ajustado, puede sobreajustar un poco

relu aleatorizado: quizás lo mejor de ambos mundos: la sintonización predeterminada generalmente es buena, no se ajusta demasiado como relu

elu: supuestamente mejor que relu, pero nunca lo había visto así, también usa más cómputo

offset relu: resta una pequeña constante de relu para darle algunas activaciones negativas, mejor que relu

softmax: probablemente solo se use al final de la red como clasificador final, un poco en una clase propia

Cada función de activación es mejor en un problema específico , para necesidades específicas .

Por lo tanto, es difícil comparar diferentes sin ser más específico.

Por ejemplo, la función de activación relu ([math] max (x, 0) [/ math]) a menudo se prefiere en capas ocultas de CNN y softmax (la generalización de alta dimensión del sigmoide: [math] \ frac {1} {1 + exp (-x)} [/ math]) se usa para la capa de salida.

Si desea más detalles, he escrito un poco sobre estos aspectos en una publicación de blog: Aprendizaje profundo con Keras: redes neuronales convolucionales desmitificadas. por Yassine Alouini en Data Science en el navegador.

Ahora, si desea una comparación matemática sin ninguna aplicación, entonces es más fácil de hacer.

En lo que sigue, he trazado (usando Python) las tres funciones de activación diferentes que ha mencionado (el softmax es solo una generalización del sigmoide ).

Puede encontrar el código aquí [1].

Algunas propiedades matemáticas de estas funciones de activación:

  • La derivada del sigmoide (denotado [math] \ sigma (x) [/ math]) es simplemente: [math] \ sigma (x) * (1- \ sigma (x)) [/ math].
  • Hay una buena relación de escala entre [math] \ tanh [/ math] y [math] \ sigma [/ math]. A la izquierda como ejercicio. Hazme un ping si necesitas ayuda para averiguar el resultado.
  • La activación de la función relu es diferenciable en todas partes excepto en [math] 0 [/ math].
  • Todas las funciones de activación introducen cierta no linealidad, es decir, activación [matemática] (x + y) \ activación neq (x) + activación (y) [/ matemática].

Espero que esto ayude un poco.

Notas al pie

[1] yassineAlouini / ml-experimentos

  1. Sigmoid asigna valores entre 0 y 1, mientras que tanh asigna valores entre -1 y 1, por lo que se comporta mejor y es más simétrico que un sigmoide.
  2. El gradiente de sigmoide se desvanece a medida que aumentamos o disminuimos x, el gradiente de ReLU y ReQU no desaparece a medida que aumentamos o disminuimos x.
  3. ReLU y ReQU tienen un rango [0, inf] en oposición a los rangos restringidos para unidades tanh y sigmoides.

Se ha demostrado que ReLU y ReQU resultan ser mejores opciones para entrenar redes profundas y no sufren problemas de gradientes que desaparecen .

Aquí https://github.com/ducha-aiki/ca

Y aquí hay un documento que describe la comparación [1606.02228] Evaluación sistemática de los avances de CNN en ImageNet

More Interesting

¿Cuáles son algunos libros sobre aprendizaje automático e inteligencia artificial para un laico?

¿Qué métodos efectivos automatizados / arquitectónicos existen para detectar trolls en línea?

Visión por computadora: ¿Cuál es el estado actual del arte en el reconocimiento de edificios / estructuras?

¿Cuánto tiempo hasta que la población general comience a utilizar Bot Suits?

¿Cómo será la progresión natural del aprendizaje automático? ¿Qué industrias tendrá más aplicaciones?

¿Cuál es la mejor calificación para ingresar al campo de la inteligencia artificial?

¿Existe alguna red neuronal artificial sin supervisión (profunda) que aprenda representaciones localizadas, es decir, no distribuidas?

Inteligencia artificial: ¿Por qué es más probable que el cuello de botella en la IA esté en el software que en el hardware?

¿Puede una IA ser consciente de sí misma? Si no cuando?

¿Cuánto afectará la inteligencia artificial a la vida humana?

¿Cuáles son los pros y los contras del uso de redes adversas generativas (un tipo de red neuronal)? ¿Se podrían aplicar a cosas como la forma de onda de audio a través de RNN? ¿Por qué o por qué no?

¿La IA está impulsando los mercados financieros?

¿Qué porcentaje de la investigación de riesgo de IA es "inútil"?

¿Cuál es la mejor manera de aprender robótica completa? ¿Cómo obtengo los conocimientos básicos de robótica para poder construir cualquier tipo de robot?

¿Cuál es la diferencia entre IOT y Big Data?