Desmitificando softmax

Apr 15 2023
¿Cómo derivar la función softmax de los requisitos de diseño de la tarea de clasificación?
Un enfoque común para la clasificación de clases múltiples es tomar un clasificador binario separado para cada clase. Cada clasificador es responsable de reconocer su propia clase asociada.
Foto de Ramakant Sharda en Unsplash

Un enfoque común para la clasificación de clases múltiples es tomar un clasificador binario separado para cada clase.

Cada clasificador es responsable de reconocer su propia clase asociada.

Primero, considere las opciones de diseño detrás de la construcción de un único clasificador binario. A continuación, extenderemos el diseño a una colección de clasificadores binarios.

Como punto de partida, tome una ecuación lineal que tome un vector de características x y devuelva una salida y que sea una suma ponderada de las características de entrada y sus parámetros. La salida y es un número real que debe asignarse a una decisión: ¿ La entrada x representa un objeto que pertenece a una clase que se supone que debo detectar ? La opción más simple es devolver el mensaje ' mi clase' cuando y toma un valor positivo y mantener el clasificador inactivo cuando y es negativo.

Clasificador binario —Versión Beta

Pero entonces perderíamos la información sobre la incertidumbre/confianza de la salida del clasificador. También podríamos devolver el valor bruto de la salida del clasificador y como una medida de la confianza del clasificador en el resultado . Sin embargo, el rango de -∞ a +∞ sería un inconveniente para la interpretación, la comparación y el posprocesamiento.

Requisito de diseño №1: salida como probabilidad

En su lugar, es mejor devolver un valor en un rango estrictamente limitado que podría interpretarse como la probabilidad p de que la entrada x represente el objeto que pertenece a ' mi clase '.

Por lo tanto, la pregunta es cómo proyectar y en un valor p que podría interpretarse libremente como una probabilidad.

Al principio, este valor debe pertenecer al rango <0,1>. A continuación, 0,5 debería ser el punto de inflexión de la decisión. Por último, valores superiores a 0,5 deberían estar a favor de la detección positiva de una clase.

Desde una perspectiva matemática, buscamos una función continua φ :

tal que 0 aterriza en 0.5 , +∞ se proyecta en 1 y -∞ en 0 .

Clasificador binario: diseño mejorado

En este caso, la forma fácil es la ingeniería inversa: comienza desde p y vuelve a y . Una probabilidad de clase p se puede proyectar fácilmente desde <0,1> en < 0 , +∞) intervalo utilizando la razón de probabilidades:

El siguiente mapeo debe convertir los valores obtenidos en (-∞, +∞) . La elección obvia es la función logarítmica.

Entonces, los dos extremos se encuentran aquí. Comenzamos desde el intervalo < 0 , 1 > y alcanzamos el intervalo (-∞,+∞), que se asumió al principio como devuelto por y :

Por ahora, la base B del logaritmo permanece sin especificar.

Los siguientes pasos son revertir la relación a la deseada p = φ ( y ) :

Finalmente, llegamos a la fórmula deseada:

Ahora, tenemos que decidir sobre el valor de B. Miremos el gráfico que muestra variantes de la función φ para diferentes valores de B .

El más pequeño parece ser B=2.71 . Sorprendentemente, un valor similar tiene su propio símbolo e y se llama base natural. Por lo tanto, para el logaritmo en base natural, la última fórmula toma la siguiente forma:

¡Felicidades!

Acabamos de redescubrir la célebre función sigmoidea .

La pregunta para usted es : ¿Es e realmente la mejor opción? ¿Qué hubiera pasado si hubiéramos elegido otro valor? ¿Habríamos perdido la interpretación probabilística?

Considere también esto : ¿por qué no usar alguna relación no lineal entre yyx ? Recuerda que para derivar φ , solo hemos supuesto que el valor de y se encuentra en el intervalo (-∞,+∞) .

Cuando se trata de muchas clases (digamos M ), asignamos a cada clase su propio clasificador binario.

Si los clasificadores operan de forma independiente, puede suceder que todas las probabilidades devueltas no sumen 1 , lo que hace que la interpretación probabilística de su salida sea defectuosa. Este es un desafío para abordar ahora.

Requisito de diseño №2: suma a uno

Todos los clasificadores toman la misma x . El i -ésimo clasificador calcula y_i . Nuevamente queremos hacer una proyección de y_i en p_i , pero esta vez en sincronía con todos los demás clasificadores , de modo que

La sincronía entre los clasificadores se trata de un acuerdo mutuo sobre cómo proyectar y_i calculado de forma independiente en p_i . Para un solo clasificador, la razón de posibilidades involucraba las probabilidades de dos salidas: ' mi clase ' con probabilidad p versus ' no es mi clase ' con probabilidad 1-p . Cuanto mayor sea el valor de y , más probable es la salida ' mi clase '. Ahora, en lugar de la salida ' no es mi clase ', deberíamos ser más específicos e introducir la salida ' tu clase '. Por tanto, la versión más general sería: ' mi clase ' con probabilidad p_kversus ' tu clase ' con probabilidad p_l . Y cuanto mayor sea mi salida y_k que su salida y_l , más probable es ' mi clase ' que ' su clase '.

Requisito de diseño №3: interrelaciones entre probabilidades

Aquí está la versión actualizada de la ecuación (1):

Tenga en cuenta que este requisito es una versión extendida del requisito de diseño №1.

La tarea es tomar los requisitos de diseño №2 y №3, representados por las ecuaciones (2) y (3), y derivar una fórmula para tal función Φ _i que :

Ya hemos tomado la decisión de usar el logaritmo en base natural e , así que usémoslo para el resto de nuestras consideraciones:

Para hacer uso de la información contenida en la ecuación (2) aplicamos la sumatoria para ambos lados:

y extraer elementos que no varíen con k antes de los signos de suma. Observe que, de acuerdo con la ecuación (2), la suma de todas las probabilidades es igual a 1 :

Finalmente, llegamos a la siguiente función:

que se puede reescribir para i en lugar de l como:

¡Felicidades de nuevo!

De esta manera finalmente redescubrimos la ampliamente conocida función softmax .

Pensamientos finales

Espero que aprecie que hemos llegado a la función softmax de manera clara. No hemos acudido a revelaciones, analogías sueltas de la ciencia física, o autoridades a lo largo de nuestras consideraciones. En este artículo, la función softmax es el resultado de una línea recta de razonamiento que se originó en los requisitos naturales planteados para problemas de clases múltiples .

Mi intención es brindarle una idea más sólida de los orígenes de la función softmax en la resolución de problemas de aprendizaje automático.

Le recomiendo que consulte otro enfoque muy inspirador para la derivación de una función sigmoidea realizado en el blog de Will Wolf .

Finalmente, considere por sí mismo si todo esto podría lograrse de otra manera: usando clasificadores que operen de forma independiente, normalizando todos los p_i después y luego reemplazando p_i con valores normalizados.

Referencias

[1] Gabriel Furnieres : Funciones Sigmoid y SoftMax en 5 minutos . https://towardsdatascience.com/sigmoid-and-softmax-functions-in-5-minutes-f516c80ea1f9

[2] Will Wolf : derivación del Softmax a partir de los primeros principios .https://willwolf.io/2017/04/19/deriving-the-softmax-from-first-principles/