Elección de la función de activación oculta de la red neuronal


14

He leído en otra parte que la elección de una función de activación de capa oculta en un NN debe basarse en la necesidad de uno , es decir, si necesita valores en el rango de -1 a 1, use tanh y sigmoid para el rango de 0 a 1.

Mi pregunta es ¿cómo se sabe cuál es la necesidad de uno ? ¿Se basa en el rango de la capa de entrada? ¿O el problema de necesidad / dominio es específico y se requiere la experiencia / juicio de uno para tomar esta decisión? ¿O es simplemente "usar lo que da el mejor error de entrenamiento mínimo con validación cruzada?"


3
Este argumento es bs porque (tanh + 1) / 2 también está en 0-1, sin mencionar que "sigmoide" es un término tan vago que con frecuencia cubre tanh.

Probablemente valga la pena mencionar que cualquier conjunto de datos se puede normalizar a 0-> 1 y hacer que use una activación sigmoidea 1 + (1 / exp(-sum)). Hace que la necesidad sea muy difícil de entender sin probar ambos en cada conjunto de datos. La necesidad tal como la describe aquí está vinculada a la relación real que se está aprendiendo, es decir, un conjunto de datos binarios aprenderá más rápido o no se activarán de ninguna manera.
Adrian Seeley

Respuestas:


12

LeCun analiza esto en Efficient Backprop Sección 4.4. La motivación es similar a la motivación para normalizar la entrada a media cero (Sección 4.3). Las salidas promedio de la función de activación de tanh tienen más probabilidades de estar cerca de cero que la sigmoidea, cuya salida promedio debe ser positiva.


Una lectura muy informativa!
babelproofreader

6

La necesidad mencionada en el primer párrafo de la pregunta se relaciona con la función de activación de la capa de salida , en lugar de la función de activación de la capa oculta. Tener salidas que oscilan entre 0 y 1 es conveniente ya que eso significa que pueden representar directamente las probabilidades. Sin embargo, IIRC, una red con funciones de activación de capa de salida de tanh puede transformarse trivialmente en una red con función de activación de capa de salida logística, por lo que en realidad no importa mucho.

IIRC, la razón para usar la función de activación de tanh en lugar de logística en las unidades ocultas, es que el cambio realizado en un peso utilizando la propagación inversa depende tanto de la salida de la neurona de la capa oculta como de la derivada de la función de activación, por lo que utilizar la activación logística La función puede hacer que ambos vayan a cero al mismo tiempo, lo que puede terminar con la unidad de capa oculta que se congela.

En resumen, use tanh para funciones de activación de capa oculta, elija la función de activación de capa de salida para imponer las restricciones deseadas en la salida (opciones comunes: lineal - sin restricciones, logística - la salida se encuentra entre 0 y 1 y exponencial - salida estrictamente positiva).


No entiendo el "... los dos van a cero ...". Veo que la salida puede ser cero, pero ¿cómo es posible hacer que la derivada de la función logística vaya a cero?
Erogol

no va exactamente a cero, para la función logística, simplemente se vuelve muy pequeño. Para la función tanh, la derivada es mayor cuando la salida es cero y la salida es mayor cuando la derivada es menor. El documento original fue escrito a finales de los 80, veré si puedo recordar los detalles.
Dikran Marsupial

2
No puedo encontrar el documento original, pero algunos de los documentos del libro "Redes neuronales: trucos del oficio" sugieren que el tanh es mejor en las capas ocultas, ya que las redes funcionan mejor si las activaciones de las capas ocultas están centradas (es decir, media cero )
Dikran Marsupial

2

Puedes utilizar 1.7159×tanh(X×(2/ /3))en capas ocultas Este sigmoide tiene la propiedad de que tiene un máximo de sus segundas derivadas en-1 y +1 valores mientras que sus límites asintóticos son [-1,5,+1,5]. De esa manera, su red será más precisa en los puntos cercanos al límite de decisión.

El concepto general para elegir sigmoide para su propósito es elegir el que esté de acuerdo con la regla, sus valores de salida están en el rango de puntos, lo que hace que la segunda derivada de la función sigmoide sea máxima.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.