Réseaux de neurones à classes multiples : Softmax

Rappelez-vous que la régression logistique produit une décimale entre 0 et 1. Par exemple, un résultat de régression logistique de 0,8 pour un classificateur d'e-mails suggère que les chances qu'un e-mail soit indésirable sont de 80 %, et les chances qu'il ne soit pas indésirable de 20 %. De façon évidente, la somme des probabilités qu'un e-mail soit indésirable ou non est égale à 1.

Softmax étend cette idée à un monde à plusieurs classes. C'est-à-dire que Softmax attribue des probabilités décimales à chaque classe d'un problème à plusieurs classes. La somme de ces probabilités décimales doit être égale à 1. Cette contrainte supplémentaire permet de faire converger l'apprentissage plus rapidement qu'il ne le ferait autrement.

Par exemple, revenons à l'analyse de l'image de la Figure 1. Softmax pourra produire les probabilités suivantes qu'une image appartienne à une classe spécifique :

Classe Probabilité
pomme 0,001
ours 0,04
friandises 0,008
chien 0,95
œuf 0,001

Softmax est mis en œuvre via une couche de réseau de neurones juste avant la couche du résultat. La couche Softmax doit comporter le même nombre de nœuds que la couche du résultat.

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

Figure 2 : Une couche Softmax dans un réseau de neurones.

Options de Softmax

Prenons les variantes de Softmax suivantes :

  • 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 seulement 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, il est inutile de fournir des probabilités pour chaque exemple "non chien".

Softmax complet est relativement économique lorsque le nombre de classes est petit, mais devient extrêmement coûteux lorsque le nombre de classes augmente. L'échantillonnage de candidats peut améliorer l'efficacité des problèmes qui comportent un grand nombre de classes.

Une étiquette ou plusieurs étiquettes

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

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

Par exemple, supposons que vos exemples sont 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 toute sorte de choses (des saladiers contenant plusieurs types de fruits), alors vous devrez utiliser plusieurs régressions logistiques.

Envoyer des commentaires concernant…

Cours d'initiation au machine learning