Función Softmax

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

La función softmax, también conocida como softargmax o función exponencial normalizada, convierte un vector de K números reales en una distribución de probabilidad de K resultados posibles. Es una generalización de la función logística a múltiples dimensiones y se utiliza en la regresión logística multinomial. La función softmax se utiliza a menudo como la última función de activación de una red neuronal para normalizar la salida de una red a una distribución de probabilidad sobre las clases de salida previstas.

Definición

La función softmax toma como entrada un vector z de K números reales, y lo normaliza en una distribución de probabilidad consistente en K probabilidades proporcionales a los exponenciales de los números de entrada. Es decir, antes de aplicar softmax, algunos componentes vectoriales podrían ser negativos, o superiores a uno; y podría no sumar a 1; pero después de aplicar softmax, cada componente estará en el intervalo , y los componentes añadirán hasta 1, para que puedan ser interpretados como probabilidades. Además, los componentes de entrada más grandes se corresponden con probabilidades más grandes.

Formalmente, la función estándar (unidad) softmax , donde , toma un vector y calcula cada componente del vector con

En palabras, el softmax aplica la función exponencial estándar a cada elemento del vector de entrada (consistiendo en números reales), y normaliza estos valores dividiendo por la suma de todos estos exponenciales. La normalización asegura que la suma de los componentes del vector de salida es 1. El término "softmax" deriva de los efectos amplificadores del exponencial en cualquier máxima en el vector de entrada. Por ejemplo, el softmax estándar de aproximadamente , que equivale a asignar casi todo el peso de la unidad total en el resultado a la posición del elemento maximal del vector (de 8).

En general, en lugar de e una base diferente b 0 se puede utilizar. Como antecedente, si b 1 entonces los componentes de entrada más grandes resultarán en mayores probabilidades de salida, y aumentar el valor de b creará distribuciones de probabilidad que estén más concentradas en las posiciones de los mayores valores de entrada. Por el contrario, si 0 entonces los componentes de entrada más pequeños darán lugar a mayores probabilidades de salida, y disminuyendo el valor de b creará distribuciones de probabilidad que estén más concentradas en las posiciones de los valores de entrada más pequeños. Escritura o (de verdad) β) produce las expresiones:

Un valor proporcional al recíproco β a veces se conoce como temperatura: , donde k es típicamente 1 o la constante Boltzmann y T es la temperatura. Una temperatura más alta resulta en una distribución de salida más uniforme (es decir, con mayor entropía; es "más aleatoria"), mientras que una temperatura más baja resulta en una distribución de salida más aguda, con un valor dominante.

En algunos campos, la base es fija, lo que corresponde a una escala fija, mientras que en otros el parámetro β (o T) es variado.

Interpretaciones

Smooth arg max

La función Softmax es una aproximación suave a la función arg max: la función cuyo valor es el índice del elemento más grande de un vector. El nombre "softmax" puede ser engañoso. Softmax no es un máximo suave (es decir, una aproximación suave a la función máxima). El término "softmax" también se utiliza para la función LogSumExp, estrechamente relacionada, que es un máximo suave. Por esta razón, algunos prefieren el término más preciso "softargmax", aunque el término "softmax" es convencional en el aprendizaje automático. Esta sección utiliza el término "softargmax" para mayor claridad.

Formalmente, en lugar de considerar el arg max como una función con salida categórica (correspondiendo al índice), considere la función de arg max con una representación de la salida (asumiendo que hay un árg máximo único): donde se coordina la salida si es el arg max de , que significa es el valor máximo único . Por ejemplo, en esta codificación ya que el tercer argumento es el máximo.

Esto se puede generalizar a múltiples valores de arg max (multiple igual siendo el máximo) dividiendo el 1 entre todos los árgs máximos; formalmente 1/k Donde k es el número de argumentos asumiendo el máximo. Por ejemplo, ya que el segundo y tercer argumento son tanto el máximo. En caso de que todos los argumentos sean iguales, esto es simplemente Puntos z con múltiples valores máximos de arg son puntos singulares (o singularidades, y forman el conjunto singular) – estos son los puntos donde arg max es discontinuo (con un salto discontinuidad) – mientras que los puntos con un solo árg max son conocidos como puntos no-singulares o regulares.

Con la última expresión dada en la introducción, softargmax es ahora una aproximación suave de arg max: como , softargmax converge a arg max. Hay varias nociones de convergencia de una función; softargmax converge arg max pointwise, lo que significa para cada entrada fija z como , Sin embargo, softargmax no converge uniformemente arg max, lo que significa intuitivamente que diferentes puntos convergen a diferentes tasas, y puede converger arbitrariamente lentamente. De hecho, softargmax es continuo, pero arg max no es continuo en el conjunto singular donde dos coordenadas son iguales, mientras que el límite uniforme de funciones continuas es continuo. La razón por la que no converge uniformemente es que para entradas donde dos coordenadas son casi iguales (y una es el máximo), el árg max es el índice de uno o el otro, por lo que un pequeño cambio de entrada produce un gran cambio en la salida. Por ejemplo, pero y para todas las entradas: cuanto más cerca están los puntos al conjunto singular Cuanto más lento convergen. Sin embargo, softargmax converge compactamente en el conjunto no lineal.

Por el contrario, como , softargmax converge a arg min de la misma manera, donde aquí el conjunto singular es puntos con dos arg min valores. En el lenguaje del análisis tropical, el softmax es una deformación o "quantización" de arg max y arg min, correspondiente al uso de la semiring de tronco en lugar de la semiring max-plus (respectivamente min-plus semiring), y recuperar el arg max o arg min tomando el límite se llama "tropicalización" o "dequantización".

También es el caso que, para cualquier fijo β, si una entrada es mucho más grande que los otros relativo a la temperatura, , la salida es aproximadamente el árg max. Por ejemplo, una diferencia de 10 es grande relativa a una temperatura de 1: Sin embargo, si la diferencia es pequeña en relación con la temperatura, el valor no está cerca del árg max. Por ejemplo, una diferencia de 10 es pequeña en relación con una temperatura de 100: As La temperatura va a cero, , por lo que eventualmente todas las diferencias se vuelven grandes (en relación con una temperatura de reducción), lo que da otra interpretación para el comportamiento límite.

Teoría de probabilidad

En teoría de probabilidad, el resultado de la función softargmax se puede utilizar para representar una distribución categórica, es decir, una distribución de probabilidad sobre K resultados posibles diferentes.

Metal mecánica

En la mecánica estadística, la función softargmax se conoce como la distribución Boltzmann (o la distribución Gibbs): el conjunto índice son los microestados del sistema; las entradas son las energías de ese estado; el denominador es conocido como la función de partición, a menudo denotado por Z; y el factor β se llama frialdad (o beta termodinámica, o temperatura inversa).

Aplicaciones

La función softmax se utiliza en varios métodos de clasificación multiclase, como la regresión logística multinomial (también conocida como regresión softmax), el análisis discriminante lineal multiclase, los clasificadores bayesianos ingenuos y las redes neuronales artificiales. Específicamente, en la regresión logística multinomial y el análisis discriminante lineal, la entrada a la función es el resultado de K funciones lineales distintas, y la probabilidad predicha para la jésima clase dado un vector de muestra x y un vector de ponderación w es:

Esto se puede ver como la composición K funciones lineales y la función softmax (donde denota el producto interior y ). La operación equivale a aplicar un operador lineal definido por vectores , transformando así el original, probablemente altamente-dimensional, entrada a vectores en un K- espacio dimensional .

Redes rurales

La función softmax estándar se utiliza a menudo en la capa final de un clasificador basado en redes neuronales. Estas redes suelen entrenarse en un régimen de pérdida logarítmica (o de entropía cruzada), lo que da lugar a una variante no lineal de la regresión logística multinomial.

Desde la función mapea un vector y un índice específico a un valor real, el derivado necesita tener en cuenta el índice:

Esta expresión es simétrica en los índices y, por lo tanto, también puede expresarse

Aquí se utiliza el delta de Kronecker para simplificar (cf. la derivada de una función sigmoidea, que se expresa a través de la función misma).

Para garantizar cálculos numéricos estables, es habitual restar el valor máximo del vector de entrada. Este enfoque, si bien no altera teóricamente la salida ni la derivada, mejora la estabilidad al controlar directamente el valor del exponente máximo calculado.

Si la función es escalada con el parámetro , entonces estas expresiones deben ser multiplicadas por .

Consulte el logit multinomial para obtener un modelo de probabilidad que utiliza la función de activación softmax.

Reforzamiento del aprendizaje

En el campo del aprendizaje de refuerzo, una función softmax se puede utilizar para convertir los valores en probabilidades de acción. La función comúnmente utilizada es:

donde el valor de acción corresponde a la recompensa esperada de la siguiente acción a y se llama parámetro de temperatura (en alusión a la mecánica estadística). Para altas temperaturas (), todas las acciones tienen casi la misma probabilidad y cuanto menor sea la temperatura, las recompensas más esperadas afectan la probabilidad. Para una temperatura baja (), la probabilidad de la acción con la recompensa esperada más alta tiende a 1.

Computacional complejidad y recursos

En aplicaciones de red neuronales, el número K de posibles resultados es a menudo grande, por ejemplo, en caso de modelos de lenguaje neural que predicen el resultado más probable de un vocabulario que podría contener millones de palabras posibles. Esto puede hacer los cálculos para la capa softmax (es decir, las multiplicaciones de la matriz para determinar la , seguido por la aplicación de la función softmax en sí mismo) computacionalmente caro. Además, el método de retropropagación de descenso gradiente para la formación de una red neuronal implica calcular el softmax para cada ejemplo de entrenamiento, y el número de ejemplos de entrenamiento también puede ser grande. El esfuerzo computacional para el softmax se convirtió en un importante factor limitante en el desarrollo de modelos de lenguaje neuronal más grandes, motivando varios remedios para reducir los tiempos de entrenamiento.

Los enfoques que reorganizan la capa softmax para un cálculo más eficiente incluyen el jerárquica suavemax y el softmax diferenciado. El softmax jerárquico (introducido por Morin y Bengio en 2005) utiliza una estructura de árboles binarios donde los resultados (palabras vocabulario) son las hojas y los ganglios intermedios son seleccionados adecuadamente "clases" de los resultados, formando variables latentes. La probabilidad deseada (valor blando máximo) de una hoja (resultados) se puede calcular como el producto de las probabilidades de todos los nodos en el camino desde la raíz a esa hoja. Idealmente, cuando el árbol está equilibrado, esto reduciría la complejidad computacional de a . En la práctica, los resultados dependen de elegir una buena estrategia para agrupar los resultados en las clases. Un árbol Huffman se utilizó para esto en los modelos word2vec de Google (introducidos en 2013) para lograr escalabilidad.

Un segundo tipo de solución se basa en la aproximación del softmax (durante el entrenamiento) con funciones de pérdida modificadas que evitan el cálculo del factor de normalización completo. Estas incluyen métodos que restringen la suma de normalización a una muestra de resultados (por ejemplo, muestreo de importancia, muestreo de destino).

Propiedades matemáticas

Geométricamente la función softmax mapas el espacio vectorial al límite del estándar -simplex, cortando la dimensión por uno (el rango es un -dimensional simplex en -espacio dimensional), debido a la limitación lineal que toda la suma de salida a 1 que significa que se encuentra en un hiperplano.

Junto a la diagonal principal softmax es sólo la distribución uniforme en salidas, : las puntuaciones iguales rinden probabilidades iguales.

Más generalmente, softmax es invariante bajo traducción por el mismo valor en cada coordenadas: añadir a las entradas rendimientos , porque multiplica cada exponente por el mismo factor, (porque ), por lo que las ratios no cambian:

Geométricamente, softmax es constante a lo largo de las diagonales: esta es la dimensión que se elimina, y corresponde a la salida softmax siendo independiente de una traducción en los puntajes de entrada (una selección de 0 puntuación). Se puede normalizar las puntuaciones de entrada asumiendo que la suma es cero (subir el promedio: Donde ), y luego el softmax toma el hiperplano de puntos que suma a cero, , al simplex abierto de valores positivos que suma a 1, analógicamente a cómo el exponente lleva 0 a 1, y es positivo.

Por el contrario, softmax no es invariante bajo escalado. Por ejemplo, pero

La función logística estándar es el caso especial para un eje 1-dimensional en el espacio 2-dimensional, dicen el x-eje en el (x, y) avión. Una variable se fija en 0 (sayo ), así que , y la otra variable puede variar, denotarlo , entonces la función logística estándar, y su complemento (que significa que suman hasta 1). El aporte 1-dimensional podría ser expresado alternativamente como línea , con salidas y

La función softmax es también el gradiente de la función LogSumExp, un máximo suave:

donde la función LogSumExp se define como .

Historia

La función softmax se utilizó en mecánica estadística como distribución de Boltzmann en el artículo fundacional Boltzmann (1868), formalizado y popularizado en el influyente libro de texto Gibbs (1902).

El uso del softmax en la teoría de la decisión se le atribuye a R. Duncan Luce, quien utilizó el axioma de independencia de alternativas irrelevantes en la teoría de la elección racional para deducir el softmax en el axioma de elección de Luce para las preferencias relativas.

En el aprendizaje automático, el término "softmax" se atribuye a John S. Bridle en dos artículos de conferencias de 1989, Bridle (1990a): y Bridle (1990b):

Nos preocupan las redes no lineales de alimentación (perceptros multicapa o MLP) con múltiples productos. Deseamos tratar los productos de la red como probabilidades de alternativas (Por ejemplo. clases de patrón), condicionadas a las entradas. Buscamos no linealidades de salida adecuadas y criterios apropiados para la adaptación de los parámetros de la red (Por ejemplo. pesos). Explicamos dos modificaciones: puntuación de probabilidad, que es una alternativa a la minimización de errores cuadrados, y un exponencial normalizado (softmax) la generalización multi-input de la no-linearidad logística.

Para cualquier entrada, los resultados deben ser positivos y deben resumir la unidad....

Teniendo en cuenta un conjunto de valores incontrolados, , podemos asegurar ambas condiciones utilizando una transformación Exponencial Normalizada: Esta transformación se puede considerar una generalización multi-input de la logística, operando en toda la capa de salida. Conserva el orden de rango de sus valores de entrada, y es una generalización diferenciable de la operación 'ganner-take-all' de elegir el valor máximo. Por esta razón nos gusta referirnos a ella como softmax.

Ejemplo

Con una entrada de (1, 2, 3, 4, 1, 2, 3), el softmax es aproximadamente (0,024, 0,064, 0,175, 0,475, 0,024, 0,064, 0,175). La salida tiene la mayor parte de su peso donde estaba el "4" en la entrada original. Esto es para lo que normalmente se utiliza la función: para resaltar los valores más grandes y suprimir los valores que están significativamente por debajo del valor máximo. Pero tenga en cuenta: un cambio de temperatura cambia la salida. Cuando la temperatura se multiplica por 10, las entradas son efectivamente (0,1; 0,2; 0,3; 0,4; 0,1; 0,2; 0,3) y el softmax es aproximadamente (0,125; 0,138; 0,153; 0,169; 0,125; 0,138; 0,153). Esto demuestra que las altas temperaturas restan importancia al valor máximo.

Cálculo de este ejemplo mediante código Python:

, titulado importación numposo como np, titulado z = np.array([2]1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]), titulado beta = 1.0, titulado np.exp()beta * z) / np.suma()np.exp()beta * z) array([0.02364054, 0.06426166, 0.1746813, 0.474833, 0.02364054, 0,06426166, 0,1746813])

Alternativas

La función softmax genera predicciones de probabilidad distribuidas densamente sobre su soporte. Se pueden utilizar otras funciones como sparsemax o α-entmax cuando se desean predicciones de probabilidad dispersas. También se puede utilizar el truco de reparametrización Gumbel-softmax cuando se necesita imitar el muestreo de una distribución discreta-discreta de una manera diferenciable.

Véase también

  • Softplus
  • regresión logística multinomial
  • Distribución de dirichlet – una forma alternativa de muestrear distribuciones categóricas
  • Función de partición
  • Alimentación exponencial – una generalización de distribuciones de Softmax a mayor probabilidad general

Notas

  1. ^ Positivo β corresponde a la convención máxima, y es habitual en el aprendizaje automático, correspondiente a la puntuación más alta con mayor probabilidad. El negativo β corresponde a la convención mínima, y es convencional en termodinámica, correspondiente al estado energético más bajo con mayor probabilidad; esto coincide con la convención en la distribución de Gibbs, interpretando β como frialdad.
  2. ^ La notación β es para la beta termodinámica, que es temperatura inversa: ,
  3. ^ Para (frío cero, temperatura infinita) , y esto se convierte en la función constante , correspondiente a la distribución uniforme discreta.
  4. ^ En mecánica estadística, fijación β se interpreta como tener frialdad y temperatura de 1.

Referencias

  1. ^ Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). "6.2.3 Unidades Softmax para distribuciones de productos multinoulli". Aprendizaje profundo. MIT Press. pp. 180–184. ISBN 978-0-26203561-3.
  2. ^ a b Bishop, Christopher M. (2006). Reconocimiento del patrón y aprendizaje automático. Springer. ISBN 0-387-31073-8.
  3. ^ a b Sako, Yusaku (2018-06-02). "¿El término "softmax" te está volviendo loco?". Medio.
  4. ^ Goodfellow, Bengio & Courville 2016, pp. 183-184: El nombre "softmax" puede ser algo confuso. La función está más estrechamente relacionada con la función de arg max que la función max. El término "soft" deriva del hecho de que la función softmax es continua y diferenciable. La función arg max, con su resultado representado como un vector de un solo toque, no es continua ni diferenciable. La función softmax proporciona así una versión "softened" del arg max. La versión suave correspondiente de la función máxima es . Tal vez sería mejor llamar a la función softmax "softargmax", pero el nombre actual es una convención entrelazada.
  5. ^ LeCun, Yann; Chopra, Sumit; Hadsell, Raia; Ranzato, Marc’Aurelio; Huang, Fu Jie (2006). "Un tutorial sobre aprendizaje basado en la energía" (PDF). En Gökhan Bakır; Thomas Hofmann; Bernhard Schölkopf; Alexander J. Smola; Ben Taskar; S.V.N Vishwanathan (eds.). Predecir datos estructurados. Serie de procesamiento de información neuronal. MIT Prensa. ISBN 978-0-26202617-8.
  6. ^ "Unsupervised Feature Learning and Deep Learning Tutorial". ufldl.stanford.edu. Retrieved 2024-03-25.
  7. ^ ai-faq ¿Qué es una función de activación softmax?
  8. ^ Sutton, R. S. and Barto A. G. Reinforcement Learning: An Introduction. The MIT Press, Cambridge, MA, 1998. Selección de Acción Softmax
  9. ^ a b c d e f g Onal, Kezban Dilek; Zhang, Ye; Altingovde, Ismail Sengor; Rahman, Md Mustafizur; Karagoz, Pinar; Braylan, Alex; Dang, Brandon; Chang, Heng-Lu; Kim, Henna; McNamara, Quinten; Angert, Aaron (2018-06-01). "Retrieval de información neuronal: al final de los primeros años". Information Retrieval Journal. 21 (2): 111-182. doi:10.1007/s10791-017-9321-y. hdl:11245.1/008d6e8f-df13-4abf-8ae9-6ff2e17377f3. ISSN 1573-7659. S2CID 21684923.
  10. ^ a b c d e f Chen, Wenlin; Grangier, David; Auli, Michael (agosto 2016). "Strategies for Training Grandes Modelos de Lengua Neural de Vocabulario". Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Berlín, Alemania: Asociación para la Linguística Computacional: 1975-1985. arXiv:1512.04906. doi:10.18653/v1/P16-1186. S2CID 6035643.
  11. ^ a b c Morin, Frederic; Bengio, Yoshua (2005-01-06). "Modelo de Lenguaje de Red Neural Hierárquica Probabilística" (PDF). International Workshop on Artificial Intelligence and Statistics. PMLR: 246–252.
  12. ^ Boltzmann, Ludwig (1868). "Studien über das Gleichgewicht der lebendigen Kraft zwischen bewegten materiellen Punkten" [Studies on the balance of living force between moving material points]. Wiener Berichte. 58: 517-560.
  13. ^ Gibbs, Josiah Willard (1902). Principios elementales en Mecánica Estadística.
  14. ^ a b Gao, Bolin; Pavel, Lacra (2017). "Sobre las propiedades de la función Softmax con la aplicación en la teoría del juego y el aprendizaje del refuerzo". arXiv:1704.00805 [Math.OC].
  15. ^ Bridle, John S. (1990a). Soulié F.F.; Hérault J. (eds.). Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition. Neurocomputación: Algoritmos, Arquitecturas y Aplicaciones (1989). Serie ASI de la OTAN (Series F: Computer and Systems Sciences). Vol. 68. Berlin, Heidelberg: Springer. pp. 227–236. doi:10.1007/978-3-642-76153-9_28.
  16. ^ Bridle, John S. (1990b). D. S. Touretzky (ed.). Formación de algoritmos de reconocimiento de modelos estocásticos como redes pueden llevar a la estimación de información mutua máxima de parámetros. Avances en sistemas de procesamiento de información neuronal 2 (1989). Morgan-Kaufmann.
  17. ^ "Speeding Up Entmax" de Maxat Tezekbayev, Vassilina Nikoulina, Matthias Gallé, Zhenisbek Assylbekov, https://arxiv.org/abs/2111.06832v3
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save