Zubnet AIAprenderWiki › Softmax
Fundamentos

Softmax

Función Softmax, Exponenciales Normalizados
Una función que convierte un vector de números crudos (logits) en una distribución de probabilidad — todos los valores se vuelven positivos y suman 1. Softmax amplifica las diferencias entre valores: la entrada más grande obtiene la probabilidad más alta, y las entradas más pequeñas obtienen probabilidades exponencialmente menores. Aparece en mecanismos de atención, salidas de clasificación y predicción de tokens.

Por qué importa

Softmax está en todas partes en la IA moderna. Cada vez que un modelo de lenguaje predice el siguiente token, softmax convierte las salidas crudas del modelo en probabilidades. Cada cabeza de atención usa softmax para calcular pesos de atención. Cada clasificador usa softmax para producir probabilidades de clase. Entender softmax te ayuda a entender la temperatura, el muestreo top-p, y por qué los modelos son "confiados" incluso cuando están equivocados.

En profundidad

La fórmula: softmax(x_i) = exp(x_i) / ∑ exp(x_j). La exponencial amplifica las diferencias: si un logit es 10 y otro es 5, la proporción después de softmax no es 2:1 sino aproximadamente 150:1. Este comportamiento de "el ganador se lleva casi todo" es por qué los modelos tienden a ser confiados — softmax naturalmente produce distribuciones con picos en lugar de uniformes.

Temperatura y Softmax

La temperatura se aplica dividiendo los logits antes del softmax: softmax(x_i / T). La temperatura T=1 es estándar. T<1 agudiza la distribución (más confiada, más determinista). T>1 la aplana (más uniforme, más aleatoria). Esto es exactamente cómo funciona el parámetro de "temperatura" en las APIs de LLMs — es un escalar aplicado a los logits antes del softmax final que selecciona el siguiente token.

Estabilidad Numérica

Un detalle práctico de implementación: calcular exp(x) para valores grandes de x causa desbordamiento. La solución estándar es restar el valor máximo de todos los logits antes de aplicar softmax: softmax(x_i - max(x)). Esto no cambia la salida (la constante sustraída se cancela en la proporción) pero mantiene los números en un rango manejable. Toda implementación de softmax en producción hace esto, y es el tipo de detalle que importa cuando construyes desde cero.

Conceptos relacionados

← Todos los términos
← Sobreajuste Stability AI →
ESC