En la capa de salida de una red neuronal, es habitual que se utilice el softmax función para aproximar una distribución de probabilidad:

¿Por qué utilizar softmax como contraposición a la norma de la normalización?

Esta es caro para calcular porque de los exponentes. ¿Por qué no simplemente realizar una transformada en Z, de modo que todos los resultados son positivos, y luego normalizar simplemente dividiendo todas las salidas por la suma de todas las salidas?

  • La función no es caro para calcular porque de los exponentes, pero debido a que usted necesita para calcular cada qj. La exponenciación es barato en comparación con el total de la cantidad de cálculos necesarios.
InformationsquelleAutor Tom | 2013-06-19

9 Comentarios

  1. 122

    Hay un buen atributo de Softmax como en comparación con el estándar de la normalización.

    Reaccionan a la baja estimulación (creo borrosa imagen) de su red neuronal con bastante uniforme distribución y a la estimulación de alta (es decir. grandes números, creo nítida de la imagen) con probabilidades cerca de 0 y 1.

    Estándar, mientras que la normalización no le importa mientras la proporción de la misma.

    Tener un vistazo de lo que sucede cuando la suave max tiene 10 veces mayor a la de entrada, es decir que su red neuronal, tengo una imagen nítida y un montón de neuronas tienes activado

    >>> softmax([1,2])              # blurry image of a ferret
    [0.26894142,      0.73105858])  #     it is a cat perhaps !?
    >>> softmax([10,20])            # crisp image of a cat
    [0.0000453978687, 0.999954602]) #     it is definitely a CAT !
    

    Y luego se compara con el estándar de normalización

    >>> std_norm([1,2])                      # blurry image of a ferret
    [0.3333333333333333, 0.6666666666666666] #     it is a cat perhaps !?
    >>> std_norm([10,20])                    # crisp image of a cat
    [0.3333333333333333, 0.6666666666666666] #     it is a cat perhaps !?
    
    • Esta respuesta mejor ilustra el impacto de la utilización de la exponenciación en lugar de centrarse en los fundamentos teóricos. (que es grande). Debe incluirse en el comienzo de la respuesta. Después de ver cómo y en qué grado, la exponenciación se extiende valores, la respuesta ayuda a explicar por qué usted quiere que.
    • estoy de acuerdo con usted. debe ser al principio.
    • No sé por qué esta respuesta es la más votada. ¿Por qué [1,2] corresponden a una imagen borrosa, mientras que [10,20] corresponden a una imagen más nítida? Esta es simplemente una cuestión de escala y ambos casos son esencialmente los mismos. En todo caso, esto debe parecer soporte estándar de normalización que, correctamente considera que los dos casos equivalentes.
  2. 42

    He tenido esta pregunta durante meses. Parece que sólo hábilmente adivinado la softmax como una función de salida y la de interpretar la entrada a la softmax como registro de probabilidades. Como usted dice, ¿por qué no simplemente normalizar todas las salidas dividiendo por la suma de los mismos? He encontrado la respuesta en el Aprendizaje profundo libro por Goodfellow, Bengio y Courville (2016) en la sección 6.2.2.

    Digamos que nuestra última capa oculta nos da z como una activación. A continuación, el softmax se define como

    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

    Muy Breve Explicación

    La exp en el softmax función aproximadamente cancela el registro de la cruz-la pérdida de entropía causando la pérdida de aproximadamente lineal en z_i. Esto conduce a una más o menos constante de la pendiente, cuando el modelo es incorrecto, lo que permite corregir rápidamente. Por lo tanto, un mal saturada softmax no causar una fuga de gradiente.

    Breve Explicación

    El método más popular para entrenar una red neuronal es la Estimación de Máxima Verosimilitud. Estimamos los parámetros de la theta de una manera que maximiza la probabilidad de los datos de entrenamiento (de tamaño m). Debido a que la probabilidad de que todo el conjunto de datos de entrenamiento es un producto de las probabilidades de cada una de las muestras, es más fácil para maximizar la la log-verosimilitud del conjunto de datos y por lo tanto la suma de la log-verosimilitud de cada una de las muestras indexados por k:

    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

    Ahora, sólo nos centramos en la softmax aquí con z ya dada, por lo que podemos sustituir

    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

    con i en la clase correcta de la kth de la muestra. Ahora, podemos ver que cuando nos tomamos el logaritmo de la softmax, para calcular la muestra de la log-verosimilitud, obtenemos:

    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

    que por las grandes diferencias en z casi se aproxima a

    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

    Primer lugar, vemos que la componente lineal z_i aquí. En segundo lugar, podemos examinar el comportamiento de max(z) para dos casos:

    1. Si el modelo es correcto, entonces max(z) será z_i. Por lo tanto, el logaritmo de la probabilidad asíntotas cero (es decir, una probabilidad de 1) con una creciente diferencia entre z_i y el resto de las entradas en z.
    2. Si el modelo es incorrecto, entonces max(z) será otro z_j > z_i. Así, la adición de z_i no es totalmente cancelar -z_j y el logaritmo de la probabilidad es aproximadamente (z_i – z_j). Esto dice claramente el modelo de lo que debe hacer para aumentar la log-verosimilitud: aumentar z_i y disminuir z_j.

    Vemos que el conjunto de la log-verosimilitud estará dominada por las muestras, donde el modelo es incorrecto. Además, incluso si el modelo es realmente incorrecto, lo que conduce a una saturado softmax, la pérdida de la función de no saturar. Es aproximadamente lineal en z_j, lo que significa que tenemos más o menos constante de gradiente. Esto permite que el modelo para corregir con rapidez. Tenga en cuenta que este no es el caso para el Error cuadrático medio, por ejemplo.

    Larga Explicación

    Si el softmax, todavía parece una elección arbitraria para usted, usted puede tomar un vistazo a la justificación para el uso de la sigmoide en la regresión logística:

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

    La softmax es la generalización de la sigmoide para multi-clase de problemas justificado de forma análoga.

  3. 41

    He encontrado la explicación aquí para ser muy bueno: CS231n: Convolucional de Redes Neuronales para el Reconocimiento Visual.

    Sobre la superficie de la softmax algoritmo que parece ser un simple no-lineal (estamos a la difusión de los datos con exponencial) normalización. Sin embargo, no es más que eso.

    Específicamente hay un par de diferentes puntos de vista (mismo enlace de arriba):

    1. La Teoría de la información – desde la perspectiva de la teoría de la información la softmax función puede ser visto como tratando de minimizar la cruz de entropía entre las predicciones y la verdad.

    2. Probabilística de Vista desde esta perspectiva, en efecto, estamos buscando en el registro de probabilidades, por lo tanto cuando realizamos exponenciación nos encontramos con la cruda probabilidades. En este caso, el softmax ecuación encuentre el MLE (Estimación de Máxima Verosimilitud)

    En resumen, aunque el softmax ecuación parece que podría ser arbitraria NO lo es. En realidad, es más bien una forma de principios de la normalización de las clasificaciones para minimizar la entropía/verosimilitud negativa entre las predicciones y la verdad.

    • Para añadir a los comentarios anteriores, la derivada de la softmax función es softmax(1-softmax)
    • Puedo obtener las razones para el uso de la Cruz-la Pérdida de Entropía, pero ¿cómo se relaciona esto a la softmax? Usted dijo que «la softmax función puede ser visto como tratando de minimizar la cruz de entropía entre las predicciones y la verdad». Supongamos, me gustaría utilizar el estándar / normalización lineal, pero todavía el uso de la Cruz-la Pérdida de Entropía. Luego también me gustaría tratar de minimizar la Cruz-Entropía. Entonces, ¿cómo es el softmax vinculada a la Cruz de Entropía de excepto para el numéricos beneficios?
    • Como para el probabilístico de vista: ¿cuál es la motivación para buscar en el registro de probabilidades? El razonamiento parece ser un poco como «el uso de e^x en el softmax, porque interpretamos como log x-probabilties». Con el mismo razonamiento podríamos decir que el uso de e^e^e^x en el softmax, porque interpretamos como log x-log-log-las probabilidades (Exagerando, por supuesto). Puedo obtener el número de beneficios de softmax, pero ¿cuál es el teórico de la motivación para el uso de ella?
    • Si una neurona de salida es un registro de la probabilidad, entonces, la suma de muchas de las neuronas de salidas es una multiplicación de sus probabilidades. Que más comúnmente útil que una suma de las probabilidades.
    • Si su cuenta provienen de diferentes Gaussiano conglomerados (cluster por clase), entonces se puede derivar una perfecta clasificador (regresión logística). Hay algunas condiciones adicionales, pero en esencia lo que puede justificar/derivar softmax y logits con la suposición de que te quieren separar de gauss grupos.
  4. 14

    Los valores de q_i representan registro de las probabilidades. Con el fin de recuperar los valores de probabilidad, usted necesita para exponentiate ellos.

    Una razón por la que los algoritmos estadísticos a menudo el uso de la log-verosimilitud pérdida de las funciones es que son más numéricamente estable: un producto de las probabilidades pueden ser representados ser un muy pequeño número de punto flotante. El uso de un registro de probabilidad de la función de pérdida, un producto de las probabilidades se convierte en una suma.

    Otra razón es que el registro de las probabilidades se producen de forma natural cuando se derivan de los estimadores de las variables aleatorias que se supone que se extrae de la multivariante de distribución Gausiana. Véase, por ejemplo, el de Máxima Verosimilitud (ML) estimador y la forma en que está conectado a los mínimos cuadrados.

    Como una nota al margen, creo que esta pregunta es más apropiado para el CS de la Teoría o la Ciencia Computacional de la Pila de Intercambios.

    • q_i no implícitamente representan registro de las probabilidades. es sólo cuando hacemos uso de la softmax que de manera explícita a asumir que sí.
  5. 4

    Creo que una de las razones puede ser lidiar con los números negativos y la división por cero, ya que exp(x) siempre será positivo y mayor que cero.

    Por ejemplo para a = [-2, -1, 1, 2] la suma será de 0, podemos usar softmax para evitar la división por cero.

    • Normalmente se debe restar el mínimo y luego divida por el max/sum. En el caso de que haría [0, 1, 3, 4], a continuación, dividir.
  6. 3

    Supongamos que cambiar el softmax función para que la salida de activaciones están dadas por
    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

    donde c es una constante positiva. Tenga en cuenta que c=1 corresponde a la norma softmax función. Pero si usamos un valor diferente de c obtenemos una función diferente, que, no obstante, es cualitativamente similar a la softmax. En particular, muestran que la salida de activaciones forma de una distribución de probabilidad, así como por la costumbre softmax. Supongamos que nos permiten c para llegar a ser grande, es decir, c→∞. ¿Cuál es el valor límite para la salida de activaciones a^L_j? Después de resolver este problema debe ser claro para usted ¿por qué pensamos de la c=1 funcionar como un «suavizado» la versión de la función de máxima. Este es el origen del término «softmax». Puedes seguir los detalles de esta fuente (ecuación 83).

    • Para mí, la idea de «suavizado» la versión de la función de máxima es la mejor manera sencilla para justificar el uso de softmax.
  7. 3

    Estamos buscando a un multi-problema de clasificación. La predicción de la variable y puede tomar uno de k categorías, donde k > 2. En la teoría de la probabilidad, esta es una distribución multinomial, y la distribución multinomial pertenece a una gran familia llamada exponencial de la familia. De acuerdo a la propiedad de la exponencial de distribuciones de la familia, podemos reconstruir la probabilidad de P(k=?|x), coincide con la softmax fórmula.

    Para más información y una prueba formal se refieren a CS229 notas de la conferencia (Softmax de Regresión).

    Un truco útil generalmente se realiza a softmax: softmax(x) = softmax(x+c), que es, softmax es invariante a los constantes desplazamientos en la entrada.

    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

  8. 2

    La elección de la softmax función parece de alguna manera arbitraria, ya que hay otras muchas posibles normalizar las funciones. Así, es claro por qué el registro softmax pérdida podría funcionar mejor que otros la pérdida de alternativas.

    De «Una Exploración de Softmax Alternativas Pertenecientes a la forma Esférica de la Pérdida de la Familia» https://arxiv.org/abs/1511.05042

    Los autores exploraron algunas otras funciones entre las que se encuentran expansión de Taylor de exp y los llamados esférica softmax y descubrí que a veces se podría realizar mejor que de costumbre softmax.

  9. 1

    Añadir a Piotr Czapla respuesta, el mayor de los valores de entrada, mayor es la probabilidad de que el máximo de entrada, para la misma proporción y en comparación con las otras entradas:

    ¿Por qué utilizar softmax como contraposición a la norma de la normalización?

Dejar respuesta

Please enter your comment!
Please enter your name here