Redes neuronales de clases múltiples: softmax

Recuerda que la regresión logística genera un decimal entre 0 y 1.0. Por ejemplo, un resultado de regresión logística de 0.8 de un clasificador de correo electrónico sugiere un 80% de probabilidades de que un correo electrónico sea spam y un 20% de probabilidades de que no sea spam. Claramente, la suma de las probabilidades de que un correo electrónico sea spam o no es 1.0.

Softmax lleva esta idea al mundo de las clases múltiples. Es decir, softmax asigna probabilidades decimales a cada clase en un problema de clases múltiples. Esas probabilidades decimales deben sumar 1.0. Esta restricción adicional ayuda a que el entrenamiento converja más rápido de lo contrario.

Por ejemplo, si volvemos al análisis de imágenes que vimos en la Figura 1, softmax podría producir las siguientes probabilidades de una imagen que pertenezca a una clase en particular:

Clase Probabilidad
apple 0.001
oso 0.04
dulce 0.008
dog 0.95
huevo 0.001

softmax se implementa a través de una capa de red neuronal justo antes de la capa de salida. La capa de softmax debe tener la misma cantidad de nodos que la capa de salida.

Una red neuronal profunda con una capa de entrada, dos capas ocultas indefinidas, una capa de softmax y, finalmente, una capa de salida con la misma cantidad de nodos que la capa de softmax

Figura 2: Una capa de softmax dentro de una red neuronal

Opciones de softmax

Considera las siguientes variantes de softmax:

  • Softmax completo es el softmax del que estuvimos hablando: calcula una probabilidad para cada clase posible.

  • Muestreo de candidatos significa que softmax calcula una probabilidad para todas las etiquetas positivas, pero solo para una muestra aleatoria de etiquetas negativas. Por ejemplo, si nos interesa determinar si una imagen de entrada es un beagle o un sabueso, no tenemos que proporcionar probabilidades para cada ejemplo que no sea un perro.

El softmax completo es bastante económico cuando la cantidad de clases es pequeña, pero se vuelve demasiado costoso cuando aumenta la cantidad de clases. El muestreo de candidatos puede mejorar la eficiencia en problemas que tienen una gran cantidad de clases.

Una etiqueta frente a muchas etiquetas

Softmax supone que cada ejemplo es miembro de exactamente una clase. Sin embargo, algunos ejemplos pueden ser miembros de varias clases al mismo tiempo. Para estos ejemplos:

  • No puedes usar softmax.
  • Debes confiar en varias regresiones logísticas.

Por ejemplo, supongamos que tus ejemplos son imágenes que contienen exactamente un elemento: una fruta. Softmax puede determinar la probabilidad de que un elemento sea una pera, una naranja, una manzana, etc. Si tus ejemplos son imágenes que contienen todo tipo de cosas (tazones de diferentes tipos de frutas), entonces deberás usar varias regresiones logísticas.