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?"
machine-learning
classification
neural-networks
lector de babelproof
fuente
fuente
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.Respuestas:
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.
fuente
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).
fuente
Puedes utilizar1.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.
fuente