Suave arg maxEditar
El nombre «softmax» es engañoso; la función no es un máximo suave (una aproximación suave a la función máxima), sino que es una aproximación suave a la función arg max: la función cuyo valor es qué índice tiene el máximo. De hecho, 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», pero el término «softmax» es convencional en el aprendizaje automático. Para esta sección, el término «softargmax» se utiliza para enfatizar esta interpretación.
Formalmente, en lugar de considerar el arg max como una función con salida categórica 1 , … , n {\displaystyle 1,\dots ,n}
(correspondiente al índice), considere la función arg max con representación de un solo punto de la salida (suponiendo que hay un único arg max): a r g m a x ( z 1 , … , z n ) = ( y 1 , … , y n ) = ( 0 , … , 0 , 1 , 0 , … , 0 ) , {displaystyle \operatorname {arg\ max} (z_{1},\dots ,z_{n})=(y_{1},\dots ,y_{n})=(0,\dots ,0,1,0,\dots ,0),}
donde la coordenada de salida y i = 1 {\displaystyle y_{i}=1}
si y sólo si i {\displaystyle i}
es el arg max de ( z 1 , … , z n ) {\displaystyle (z_{1},\dots ,z_{n})}
, lo que significa que z i {\displaystyle z_{i}}
es el único valor máximo de ( z 1 , … , z n ) {\displaystyle (z_{1},\dots ,z_{n})}
. Por ejemplo, en esta codificación a r g m a x ( 1 , 5 , 10 ) = ( 0 , 0 , 1 ) , {\año de la pantalla \año de la operación {arg\año,max} (1,5,10)=(0,0,1),}
ya que el tercer argumento es el máximo.
Esto se puede generalizar a múltiples valores de arg max (múltiples iguales z i {displaystyle z_{i}}
siendo el máximo) dividiendo el 1 entre todos los arg max; formalmente 1/k donde k es el número de argumentos que suponen el máximo. Por ejemplo, a r g m a x ( 1 , 5 , 5 ) = ( 0 , 1 / 2 , 1 / 2 ) , {\displaystyle \operatorname {arg\,max} (1,5,5)=(0,1/2,1/2),}
ya que tanto el segundo como el tercer argumento son el máximo. En caso de que todos los argumentos sean iguales, se trata simplemente de a r g m a x ( z , … , z ) = ( 1 / n , … , 1 / n ) . {\displaystyle \operatorname {arg\,max} (z,\dots ,z)=(1/n,\dots ,1/n).}
Los puntos z con múltiples valores de arg max son puntos singulares (o singularidades, y forman el conjunto singular) – son los puntos en los que arg max es discontinuo (con una discontinuidad de salto) – mientras que los puntos con un solo arg max se conocen 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 β → ∞ {\displaystyle \beta \to infty }
, softargmax converge a arg max. Hay varias nociones de convergencia de una función; softargmax converge a arg max puntualmente, lo que significa que para cada entrada fija z como β → ∞ {\displaystyle \beta \to infty }
, σ β ( z ) → a r g m a x ( z ) . {\a6}(\a6})\a6}(\a6}(\a6})\a6}(\a6}(\a6})\a6}(\a6}(\a6})\a6}(\a6}(\a6}). (\mathbf {z} ).}
Sin embargo, softargmax no converge uniformemente a arg max, lo que significa intuitivamente que diferentes puntos convergen a diferentes ritmos, y pueden converger arbitrariamente lento. 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 las funciones continuas es continuo. La falta de convergencia uniforme se debe a que para las entradas donde dos coordenadas son casi iguales (y una es el máximo), el arg max es el índice de una u otra, por lo que un pequeño cambio en la entrada produce un gran cambio en la salida. Por ejemplo, σ β ( 1 , 1,0001 ) → ( 0 , 1 ) , {\displaystyle \sigma _{beta}(1,1,0001)\a (0,1),}
pero σ β ( 1 , 0,9999 ) → ( 1 , 0 ) , {\displaystyle \sigma _{beta}(1,0.9999)\Na (1,0),}
y σ β ( 1 , 1 ) = 1 / 2 {\displaystyle \sigma _{beta }(1,1)=1/2}
para todas las entradas: cuanto más cerca estén los puntos del conjunto singular ( x , x ) {\displaystyle (x,x)}
, más lentamente convergen. Sin embargo, softargmax sí converge de forma compacta en el conjunto no singular.
A la inversa, a medida que β → – ∞ {\displaystyle \beta \to -\infty }
, softargmax converge a arg min de la misma manera, donde aquí el conjunto singular son puntos con dos valores arg min. En el lenguaje del análisis tropical, el softargmax es una deformación o «cuantificación» de arg max y arg min, que corresponde a utilizar el semirrecordatorio log en lugar del semirrecordatorio max-plus (respectivamente min-plus), y recuperar el arg max o arg min tomando el límite se denomina «tropicalización» o «descuantificación».
También se da el caso de que, para cualquier β fija, si se introduce z i {{displaystyle z_{i}}
es mucho mayor que las demás en relación con la temperatura, T = 1 / β {\displaystyle T=1/\beta }
, la salida es aproximadamente el arg max. Por ejemplo, una diferencia de 10 es grande en relación con una temperatura de 1: σ ( 0 , 10 ) := σ 1 ( 0 , 10 ) = ( 1 / ( 1 + e 10 ) , e 10 / ( 1 + e 10 ) ) ≈ ( 0.00005 , 0,99995 ) {\displaystyle \sigma (0,10):=\sigma _{1}(0,10)=\left(1/(1+e^{10}),e^{10}/(1+e^{10})\right)\approx (0,00005,0,99995)}
Sin embargo, si la diferencia es pequeña en relación con la temperatura, el valor no se acerca al arg max. Por ejemplo, una diferencia de 10 es pequeña en relación con una temperatura de 100:
σ 1 / 100 ( 0 , 10 ) = ( 1 / ( 1 + e 1 / 10 ) , e 1 / 10 / ( 1 + e 1 / 10 ) ) ≈ ( 0,475 , 0,525 ) . {\displaystyle \sigma _{1/100}(0,10)=\left(1/(1+e^{1/10}),e^{1/10}/(1+e^{1/10})\right)\approx (0.475,0.525).}
, la temperatura llega a cero, T = 1 / β → 0 {\displaystyle T=1/\beta \to 0}
, por lo que finalmente todas las diferencias se hacen grandes (en relación con una temperatura que se reduce), lo que da otra interpretación para el comportamiento del límite.
Teoría de la probabilidadEditar
En la teoría de la probabilidad, la salida de la función softargmax puede utilizarse para representar una distribución categórica, es decir, una distribución de probabilidad sobre K resultados posibles diferentes.
Mecánica estadísticaEditar
En mecánica estadística, la función softargmax se conoce como la distribución de Boltzmann (o distribución de Gibbs)::7 el conjunto de índices 1 , … , k {displaystyle {1,\dots ,k}}
son los microestados del sistema; las entradas z i {\displaystyle z_{i}}
son las energías de ese estado; el denominador se conoce como la función de partición, a menudo denotada por Z; y el factor β se llama la frialdad (o beta termodinámica, o temperatura inversa).