¿Por qué la función sigmoidea en lugar de cualquier otra cosa?

40

¿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?11+ex

¿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 .x1+|x|

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.

Mark Horvath
fuente
66
Tenga en cuenta que el sigmoide logístico es un caso especial de la función softmax, y vea mi respuesta a esta pregunta: stats.stackexchange.com/questions/145272/…
Neil G
10
No son otras funciones como probit o cloglog que se utilizan comúnmente, véase: stats.stackexchange.com/questions/20523/...
Tim
44
@ user777 No estoy seguro de si es un duplicado ya que el hilo al que hace referencia realmente no responde a la pregunta de por qué .
Tim
@KarelMacek, ¿estás seguro de que su derivada no tiene un límite izquierdo / derecho en 0? Prácticamente parece que tiene una buena tangencial en la imagen vinculada de Wikipedia.
Mark Horvath
55
Odio estar en desacuerdo con tantos miembros distinguidos de la comunidad que votaron para cerrar esto como un duplicado, pero estoy convencido de que el aparente duplicado no aborda el "por qué", por lo que he votado para reabrir esta pregunta.
whuber

Respuestas:

24

Citando a mí mismo de esta respuesta a una pregunta diferente:

En la sección 4.2 de Reconocimiento de patrones y aprendizaje automático (Springer 2006), Bishop muestra que el logit surge naturalmente como la forma de la distribución de probabilidad posterior en un tratamiento bayesiano de clasificación de dos clases. Luego muestra que lo mismo vale para las características discretamente distribuidas, así como un subconjunto de la familia de distribuciones exponenciales. Para la clasificación de varias clases, el logit se generaliza a la función exponencial normalizada o softmax.

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.

A. Donda
fuente
1
¡Excelente! Entonces, cuando estamos usando sigmoides en una red, podemos decir que estamos asumiendo implícitamente que la red "modela" las probabilidades de varios eventos (en las capas internas o en la salida). Este puede ser un modelo sensible dentro de una red, incluso para el error al cuadrado (permitiendo que la neurona de salida tenga una función de activación diferente). Nunca pensé en esta intuición antes, ¡gracias!
Mark Horvath
@ MarkHorvath Me alegra haber podido ayudar. :-)
A. Donda
Históricamente, no es así. Mi mejor resumen de una historia desordenada es que logit ingresó a la ciencia estadística en gran parte porque las formas funcionales utilizadas para predecir el cambio a lo largo del tiempo (poblaciones que se espera que sigan curvas logísticas) se veían bien cuando se adaptaron y adoptaron como funciones de enlace [uso anacrónico allí] para respuestas binarias. ; y son fáciles de manipular con cálculo simple, que no son expresiones en valores absolutos. Pero, naturalmente, la justificación lógica más simple para tales funciones es interesante y crucial, y su respuesta aborda eso.
Nick Cox
1
He leído las secciones en ambos libros de Bishop (2006 y 1995) y todavía no estoy convencido de que el sigmoide sea esencial aquí, aunque ciertamente obtengo la motivación con el logit. ¿Qué sucede si escribo la misma función de pérdida de entropía cruzada basada en el supuesto de Poisson de 2 clases, pero luego uso una función de activación diferente en lugar de sigmoide? Por ejemplo, este similar, pero no tan agradable, se definió por partes: g (x) = 1 / (2-2x) si x <0, 1 - 1 / (2 + 2x) para x> 0, g (0) = 0.5. Ahora la ecuación de máxima verosimilitud se ve diferente, pero si la minimizamos, ¿no obtendremos todavía probabilidades como salidas?
eraoul
si Bischop hubiera tomado , la función "que surge naturalmente" seríaunaa=p(x,C1)(1+p(x,C1))p(x,C2) , ¿no? a1+a2
Sr. Tsjolder
18

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).

f(y)=py(1p)1y=(1p)exp{ylog(p1p)}.
p

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.

dsaxton
fuente
Buena justificación para la regresión logística. Lo curioso que seguimos usando esto también para el error al cuadrado ...
Mark Horvath
11

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

  • Queremos un modelo lineal, pero no podemos usar z=wTx+b directamente como z(,+) .
  • Para la clasificación, tiene sentido asumir la distribución de Bernoulli y modelar su parámetro θ en P(Y=1)=θ .
  • Entonces, necesitamos mapear z desde (,+) hasta [0,1] para hacer la clasificación.

¿Por qué la función logística sigmoidea?

Cortar z 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:

J(w,b)=1mi=1mlogP(Y=yi|xi;w,b)=1mi=1m(yilogP(Y=1|z)+(yi1)logP(Y=0|z))

Como P(Y=0|z)=1P(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ón f mapeo z a P(Y=1|z) son:

  • zR:f(z)[0,1]
  • f(0)=0.5
  • f debe ser wrt simétrico rotacionalmente(0,0.5) , es decir,f(x)=1f(x) , de modo que voltear los signos de las clases no tiene efecto en la función de costo.
  • f debe ser no decreciente, continuo y diferenciable.

Todos estos requisitos se cumplen reescalando las funciones sigmoideas . Ambos f(z)=11+ez 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+ez en nuestra función de costos.

Saturación para Y=1

For P(Y=1|z)=11+ez and Y=1, the cost of a single misclassified sample (i.e. m=1) is:

J(z)=log(P(Y=1|z))=log(11+ez)=log(ez1+ez)=z+log(1+ez)

We can see that there is a linear component z. Now, we can look at two cases:

  • When z is large, the model's prediction was correct, since Y=1. In the cost function, the log(1+ez) term asymptotes to z for large z. Thus, it roughly cancels the z out leading to a roughly zero cost for this sample and a weak gradient. That makes sense, as the model is already predicting the correct class.
  • When z is small (but |z| is large), the model's prediction was not correct, since Y=1. In the cost function, the log(1+ez) term asymptotes to 0 for small z. Thus, the overall cost for this sample is roughly z, meaning the gradient w.r.t. z is roughly 1. This makes it easy for the model to correct its wrong prediction based on the constant gradient it receives. Even for very small z, there is no saturation going on, which would cause vanishing gradients.

Saturation for Y=0

Above, we focussed on the Y=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 function J(z) for Y=1:

enter image description here

It is the horizontally flipped softplus function. For Y=0, it is the softplus function.

Alternatives

You mentioned the alternatives to the logistic sigmoid function, for example z1+|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 for Y=1 would then be

J(z)=log(0.5+0.5z1+|z|),

which looks like this:

enter image description here

You can see, that the gradient of the cost function gets weaker and weaker for z.

Kilian Batzner
fuente
What do you mean when you write "when the model is wrong" ?
Gabriel Romon
@GabrielRomon I mean when the model's prediction is wrong. So for a training sample (xi,yi), we would have for example z=5, i.e. our prediction is class 1, but yi=0.
Kilian Batzner
6

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.

Glorot y col. (2011) . Redes neuronales rectificadoras profundas y dispersas

user20160
fuente
2
Yep. I think the reason why the logistic function was so popular was due to its importation from statistics. Relu is the most popular in a lot of fields nowadays.
Ricardo Cruz