Redes neuronales de clases múltiples: Softmax

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

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

Por ejemplo, si volvemos a analizar la imagen de la Figura 1, softmax puede producir las siguientes probabilidades de una imagen que pertenezca a una clase particular:

Clase Probabilidades
manzana 0.001
oso 0.04
caramelos 0.008
perro 0.95
huevo 0.001

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

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

Figura 2. Una capa de softmax en 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 para solo una muestra aleatoria de etiquetas negativas. Por ejemplo, si queremos 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.

Softmax completo es relativamente económico cuando la cantidad de clases es reducida, pero se vuelve demasiado costoso cuando aumenta la cantidad de clases. El muestreo de candidatos puede mejorar la eficiencia cuando existe una gran cantidad de clases.

Una etiqueta frente a muchas

Softmax presupone que cada ejemplo es un miembro de exactamente una clase. No obstante, algunos ejemplos pueden ser miembros de varias clases de manera simultánea. Para esos ejemplos:

  • No es recomendable usar softmax.
  • Debes confiar en regresiones logísticas múltiples.

Por ejemplo, supongamos que tus casos son imágenes que contienen exactamente un elemento (una fruta). Softmax puede determinar la probabilidad de que ese elemento sea una pera, una naranja, una manzana, etc. Si tus ejemplos son imágenes que contienen diferentes tipos de elementos (tazones de diferentes tipos de fruta), en su lugar deberás usar varias regresiones logísticas.