¿Por qué la función sigmoide estándar de facto, , es tan popular en las redes neuronales (no profundas) y la regresión logística?
¿Por qué no utilizamos muchas de las otras funciones derivables, con un tiempo de cálculo más rápido o una disminución más lenta (por lo que el gradiente de desaparición ocurre menos)? Pocos ejemplos están en Wikipedia sobre funciones sigmoideas . Uno de mis favoritos con decadencia lenta y cálculo rápido es .
EDITAR
La pregunta es diferente a la Lista completa de funciones de activación en redes neuronales con pros / contras, ya que solo estoy interesado en el 'por qué' y solo para el sigmoide.
logistic
neural-networks
least-squares
Mark Horvath
fuente
fuente
Respuestas:
Citando a mí mismo de esta respuesta a una pregunta diferente:
Esto explica por qué este sigmoide se usa en regresión logística.
Con respecto a las redes neuronales, esta publicación de blog explica cómo las diferentes no linealidades, incluyendo el logit / softmax y el probit utilizado en las redes neuronales, pueden recibir una interpretación estadística y, por lo tanto, una motivación. La idea subyacente es que una red neuronal multicapa puede considerarse como una jerarquía de modelos lineales generalizados; de acuerdo con esto, las funciones de activación son funciones de enlace, que a su vez corresponden a diferentes supuestos de distribución.
fuente
Una razón por la que esta función puede parecer más "natural" que otras es que resulta ser la inversa del parámetro canónico de la distribución de Bernoulli: (La función depdentro del exponente se llama parámetro canónico).
Quizás una justificación más convincente proviene de la teoría de la información, donde la función sigmoidea se puede derivar como un modelo de entropía máxima . En términos generales, la función sigmoidea asume una estructura mínima y refleja nuestro estado general de ignorancia sobre el modelo subyacente.
fuente
Me he hecho esta pregunta durante meses. Todas las respuestas en CrossValidated y Quora enumeran buenas propiedades de la función sigmoidea logística, pero parece que adivinamos hábilmente esta función. Lo que me perdí fue la justificación para elegirlo. Finalmente encontré uno en la sección 6.2.2.2 del libro "Deep Learning" de Bengio (2016) . En mis propias palabras:
En resumen, queremos que el logaritmo de la salida del modelo sea adecuado para la optimización basada en gradiente de la probabilidad logarítmica de los datos de entrenamiento.
Motivación
¿Por qué la función logística sigmoidea?
Cortarz con P(Y=1|z)=max{0,min{1,z}} produce un gradiente cero para z fuera de [0,1] . Necesitamos un gradiente fuerte siempre que la predicción del modelo sea incorrecta, porque resolvemos la regresión logística con el descenso del gradiente. Para la regresión logística, no existe una solución de forma cerrada.
La función logística tiene la buena propiedad de asíntotar un gradiente constante cuando la predicción del modelo es incorrecta, dado que usamos la Estimación de máxima verosimilitud para ajustar el modelo. Esto se muestra a continuación:
Para obtener beneficios numéricos, la Estimación de máxima verosimilitud se puede hacer minimizando la probabilidad logarítmica negativa de los datos de entrenamiento. Entonces, nuestra función de costo es:
ComoP(Y=0|z)=1−P(Y=1|z) , podemos centrarnos en el caso Y=1 . Entonces, la pregunta es cómo modelar P(Y=1|z) dado que tenemos z=wTx+b .
Los requisitos obvios para la funciónf mapeo z a P(Y=1|z) son:
Todos estos requisitos se cumplen reescalando las funciones sigmoideas . Ambosf(z)=11+e−z yf(z)=0.5+0.5z1+|z| cumplirlos Sin embargo, las funciones sigmoideas difieren con respecto a su comportamiento durante la optimización basada en gradiente de la probabilidad logarítmica. Podemos ver la diferencia conectando la función logísticaf(z)=11+e−z en nuestra función de costos.
Saturación paraY=1
ForP(Y=1|z)=11+e−z and Y=1 , the cost of a single misclassified sample (i.e. m=1 ) is:
We can see that there is a linear component−z . Now, we can look at two cases:
Saturation forY=0
Above, we focussed on theY=1 case. For Y=0 , the cost function behaves analogously, providing strong gradients only when the model's prediction is wrong.
This is the cost functionJ(z) for Y=1 :
It is the horizontally flipped softplus function. ForY=0 , it is the softplus function.
Alternatives
You mentioned the alternatives to the logistic sigmoid function, for examplez1+|z| . Normalized to [0,1] , this would mean that we model P(Y=1|z)=0.5+0.5z1+|z| .
During MLE, the cost function forY=1 would then be
which looks like this:
You can see, that the gradient of the cost function gets weaker and weaker forz→−∞ .
fuente
Dado que la pregunta original mencionaba el problema del gradiente en descomposición, me gustaría agregar que, para las capas intermedias (donde no es necesario interpretar las activaciones como probabilidades de clase o salidas de regresión), a menudo se prefieren otras no linealidades sobre las funciones sigmoidales. Las más destacadas son las funciones rectificadoras (como en ReLU ), que son lineales sobre el dominio positivo y cero sobre el negativo. Una de sus ventajas es que están menos sujetos al problema del gradiente en descomposición, porque la derivada es constante sobre el dominio positivo. Las ReLU se han vuelto populares hasta el punto de que los sigmoides probablemente ya no puedan llamarse el estándar de facto.
fuente