Glossaire

Softmax

Découvre comment Softmax transforme les scores en probabilités pour les tâches de classification dans l'IA, en alimentant la reconnaissance d'images et le succès du NLP.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Softmax est une fonction d'activation cruciale couramment utilisée dans la couche de sortie des réseaux neuronaux (NN), en particulier pour les problèmes de classification multi-classes. Son rôle principal est de convertir un vecteur de scores bruts (souvent appelés logits) générés par la couche précédente en une distribution de probabilité sur plusieurs classes potentielles. Chaque valeur de sortie représente la probabilité que l'entrée appartienne à une classe spécifique, et surtout, la somme de ces probabilités est égale à 1, ce qui rend la sortie facilement interprétable comme des niveaux de confiance pour des résultats mutuellement exclusifs.

Comment fonctionne Softmax

Conceptuellement, la fonction Softmax prend les scores de sortie bruts d'une couche de réseau neuronal et les transforme. Pour ce faire, elle commence par exponentialiser chaque score, ce qui rend toutes les valeurs positives et accentue les scores les plus élevés de manière plus significative. Ensuite, elle normalise ces scores exponentiels en divisant chacun d'entre eux par la somme de tous les scores exponentiels. Cette étape de normalisation garantit que les valeurs obtenues se situent entre 0 et 1 et que leur somme est collectivement égale à 1, créant ainsi une distribution de probabilités entre les différentes classes. La classe correspondant à la valeur de probabilité la plus élevée est généralement choisie comme prédiction finale du modèle. Ce processus est fondamental dans les modèles d'apprentissage profond (DL) traitant des tâches de classification.

Caractéristiques principales

  • Distribution de probabilités : Les sorties représentent les probabilités pour chaque classe, la somme étant toujours égale à 1.
  • Focus multi-classes : Spécialement conçu pour les scénarios où une entrée ne peut appartenir qu'à l'une des nombreuses classes possibles (mutuellement exclusives).
  • Interprétation des résultats : Rend la sortie du modèle intuitive, en représentant le niveau de confiance pour chaque classe.
  • Différentiabilité : Lisse et différentiable, ce qui permet de l'utiliser efficacement avec des algorithmes d'optimisation basés sur le gradient, comme la descente de gradient, pendant l'apprentissage du modèle.

Softmax et fonctions d'activation apparentées

Il est important de distinguer Softmax des autres fonctions d'activation :

  • Sigmoïde: Bien que la Sigmoïde produise également des valeurs entre 0 et 1, elle est généralement utilisée pour la classification binaire (un neurone de sortie) ou la classification multi-labels (plusieurs neurones de sortie où chaque sortie représente une probabilité indépendante, et la somme n'est pas nécessairement égale à 1). Softmax est utilisé lorsque les classes s'excluent mutuellement. Tu trouveras plus de détails dans des ressources telles que les notes de Stanford CS231n.
  • ReLU (Rectified Linear Unit): ReLU et ses variantes comme Leaky ReLU ou SiLU sont principalement utilisées dans les couches cachées des réseaux neuronaux pour introduire la non-linéarité. Ils ne produisent pas de sorties de type probabilité adaptées à la couche de classification finale. DeepLearning.AI propose des cours expliquant les fonctions d'activation dans les réseaux neuronaux.

Applications dans le domaine de l'IA et de l'apprentissage automatique

Softmax est largement employé dans divers domaines de l'intelligence artificielle et de l'apprentissage automatique :

Considérations

Bien que puissant, Softmax peut être sensible à des scores d'entrée très importants, ce qui peut potentiellement conduire à une instabilité numérique (débordement ou sous-débordement). Les cadres d'apprentissage profond modernes comme PyTorch et TensorFlow mettent en œuvre des versions numériquement stables de Softmax pour atténuer ces problèmes. Comprendre son comportement est crucial pour un entraînement et une interprétation efficaces des modèles, souvent facilités par des plateformes comme Ultralytics HUB pour la gestion des expériences et des déploiements.

Tout lire