Réseaux de neurones à classes multiples: Softmax

Rappelez-vous que la régression logistique produit un nombre décimal compris entre 0 et 1,0. Par exemple, un résultat de régression logistique de 0,8 provenant d'un classificateur d'e-mail indique qu'il y a 80% de chances qu'un e-mail soit du spam et 20% de chances qu'il ne soit pas indésirable. Il apparaît clairement que la somme des probabilités qu'un e-mail soit indésirable ou non est égale à 1,0.

Softmax étend cette idée à un monde multiclasse. Autrement dit, Softmax attribue des probabilités décimales à chaque classe d'un problème à classes multiples. La somme de ces probabilités décimales doit être égale à 1,0. Cette contrainte supplémentaire permet de faire converger l'entraînement plus rapidement qu'il ne le ferait autrement.

Par exemple, revenons à l'analyse d'image que nous avons vue dans la Figure 1. Softmax peut produire les probabilités suivantes pour une image appartenant à une classe particulière:

Classe Probabilité
apple 0,001
ours 0,04
bonbon 0.008
chien 0,95
œuf 0,001

Softmax est implémenté via une couche de réseau de neurones juste avant la couche de sortie. La couche Softmax doit comporter le même nombre de nœuds que la couche de sortie.

Un réseau de neurones profond avec une couche d'entrée, deux couches cachées non descriptives, puis une couche Softmax, et enfin une couche de sortie avec le même nombre de nœuds que la couche Softmax.

Figure 2. Couche Softmax dans un réseau de neurones.

Options Softmax

Prenons les variantes suivantes de Softmax:

  • Softmax complet est le Softmax dont nous avons parlé, c'est-à-dire le Softmax qui calcule une probabilité pour chaque classe possible.

  • L'échantillonnage de candidats signifie que Softmax calcule une probabilité pour toutes les étiquettes positives, mais uniquement pour un échantillon aléatoire d'étiquettes négatives. Par exemple, si nous souhaitons déterminer si une image d'entrée est un beagle ou un limier, nous n'avons pas besoin de fournir des probabilités pour chaque exemple non chien.

Un softmax complet est assez économique lorsque le nombre de classes est faible, mais devient extrêmement coûteux lorsque le nombre de classes augmente. L'échantillonnage de candidats peut améliorer l'efficacité des problèmes si le nombre de classes est élevé.

Un ou plusieurs libellés

Softmax suppose que chaque exemple appartient exactement à une classe. Cependant, certains exemples peuvent appartenir simultanément à plusieurs classes. Pour de tels exemples:

  • Vous ne pouvez pas utiliser Softmax.
  • Vous devez vous appuyer sur plusieurs régressions logistiques.

Par exemple, supposons que vos exemples soient des images contenant exactement un élément : un fruit. Softmax peut déterminer la probabilité que cet élément soit une poire, une orange, une pomme, etc. Si vos exemples sont des images contenant toutes sortes de choses (des bols de différents types de fruits), vous devrez plutôt utiliser plusieurs régressions logistiques.