Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Softmax

Découvrez comment Softmax transforme les scores en probabilités pour les tâches de classification dans l'IA, ce qui permet de réussir la reconnaissance d'images et le NLP.

Dans le domaine de l'intelligence artificielle, la fonction Softmax constitue un pont crucial entre les données numériques brutes et les résultats interprétables. résultats interprétables. Il s'agit d'une opération mathématique qui convertit un vecteur de nombres réels en une distribution de probabilité. de probabilité, ce qui en fait un élément fondamental des modernes. En transformant les résultats d'un modèle complexe modèles complexes en un format lisible où toutes les valeurs sont égales à un, Softmax permet aux systèmes d'exprimer des niveaux de confiance pour divers résultats. pour divers résultats. Cette capacité est particulièrement vitale dans dans les tâches d'apprentissage automatique (ML) où un modèle doit choisir une seule réponse correcte parmi plusieurs catégories distinctes. choisir une seule réponse correcte parmi plusieurs catégories distinctes.

La mécanique de Softmax

Pour comprendre le fonctionnement de Softmax, il faut d'abord comprendre le concept de "logits". Lorsqu'un modèle modèle d'apprentissage profond (DL) traite une entrée, la couche couche finale produit généralement une liste de scores bruts appelés logits. Ces scores peuvent aller de l'infini négatif à l'infini positif et ne sont pas directement intuitifs. à l'infini positif et ne sont pas directement intuitifs. Softmax prend ces logits et effectue deux opérations principales :

  1. L'exponentiation : Elle applique la fonction fonction exponentielle à chaque score d'entrée. Cette étape Cette étape garantit que toutes les valeurs de sortie ne sont pas négatives et met l'accent sur les scores les plus élevés, ce qui fait ressortir plus nettement les prédictions les plus fortes du modèle. prédictions les plus fortes du modèle se distinguent plus nettement.
  2. Normalisation : Elle additionne les valeurs exponentielles et divise chaque valeur individuelle par cette somme totale. total. Ce processus de processus de normalisation met à l'échelle les résultats de manière à ce que leur somme totale atteigne exactement 1,0 (ou 100 %).

Le résultat est une distribution de probabilités où chaque valeur représente la probabilité que l'entrée appartienne à une classe spécifique. classe spécifique. Cette transformation permet aux développeurs d'interpréter le résultat comme un score de confiance, par exemple en étant sûr à 95 % qu'une image contient un objet spécifique. qu'une image contient un objet spécifique.

Applications de l'IA dans le monde réel

Softmax est la fonction d'activation standard pour la couche de sortie dans les problèmes de classification multi-classes. Sa capacité de traiter des classes mutuellement exclusives la rend indispensable dans diverses solutions d'IA.

  • Classification des images : Dans le domaine de la vision par ordinateur, des modèles tels que Ultralytics YOLO11 utilisent Softmax pour catégoriser les images. Par exemple, si une caméra de sécurité filme un véhicule, le modèle analyse les caractéristiques visuelles et produit des probabilités pour des classes telles que "voiture", "camion", "bus" et "moto". probabilités pour des classes telles que "voiture", "camion", "bus" et "moto". La classe classe ayant le score Softmax le plus élevé détermine l'étiquette finale. Ce mécanisme est au cœur de tâches allant de l'analyse d'images médicales à l'autonomie. l'analyse d'images médicales à la conduite conduite autonome.
  • Traitement du langage naturel (NLP) : Softmax alimente les capacités de génération de texte des des grands modèles de langage (LLM) et des chatbots. Lorsqu'un modèle Transformer génère une phrase, il calcule un score pour chaque mot de son vocabulaire afin de déterminer quel mot doit suivre. Softmax convertit ces scores en probabilités, ce qui permet au modèle de sélectionner le mot suivant le plus probable, facilitant ainsi la fluidité de la traduction automatique et de la conversation. la fluidité de la traduction automatique et de la conversation.

Exemple de code Python

L'exemple suivant montre comment charger un modèle de classification pré-entraîné et accéder aux scores de probabilité générés par Softmax à l'aide de la fonction ultralytics l'emballage.

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Run inference on a sample image URL
results = model("https://ultralytics.com/images/bus.jpg")

# The model applies Softmax internally for classification tasks
# Display the top predicted class and its confidence score
top_class = results[0].probs.top1
print(f"Predicted Class: {results[0].names[top_class]}")
print(f"Confidence: {results[0].probs.top1conf.item():.4f}")

Comparaison entre Softmax et d'autres fonctions d'activation

Bien que la fonction Softmax soit dominante dans la couche de sortie pour les tâches multi-classes, il est important de la distinguer des autres fonctions d'activation utilisées dans différents domaines. fonctions d'activation utilisées dans différents contextes :

  • Sigmoïde: Comme Softmax, la fonction Sigmoïde écrase les valeurs comprises entre 0 et 1. Cependant, la fonction Sigmoïde traite chaque sortie indépendamment, ce qui la rend idéale pour la la classification binaire (décisions oui/non) ou la classification multi-label où une image peut contenir à la fois un "chien" et une "balle". Softmax, Softmax, à l'inverse, met en place une compétition entre les classes où l'augmentation de la probabilité d'une classe diminue celle des autres. les autres.
  • ReLU (Rectified Linear Unit): La ReLU est principalement utilisée dans les couches cachées d'un réseau neuronal pour introduire la non-linéarité et accélérer l'apprentissage du modèle. l 'apprentissage du modèle. Contrairement à Softmax, ReLU n'émet pas de probabilités et ne limite pas la sortie à une plage spécifique. probabilités et ne limite pas la sortie à une plage spécifique (autre que la non-négativité).
  • Tanh (Tangente hyperbolique): Tanh produit des valeurs comprises entre -1 et 1. On le trouve souvent dans les anciennes architectures ou dans les réseaux neuronaux récurrents (RNN). réseaux neuronaux récurrents (RNN). est rarement utilisée comme fonction de sortie finale pour la classification, car elle ne produit pas de distribution de probabilité.

Considérations pratiques pour la formation

Dans la pratique, Softmax est rarement utilisé de manière isolée pendant la phase de formation. Il est presque toujours associé à une fonction de perte spécifique connue sous le nom de perte d'entropie croisée (ou perte logarithmique). Loss). Cette combinaison mesure efficacement la distance entre les probabilités prédites et les étiquettes de vérité. les étiquettes.

En outre, le calcul de l'exponentielle de grands nombres peut entraîner une instabilité numérique (débordement). Les cadres modernes comme PyTorch et TensorFlow gèrent automatiquement en implémentant des versions stables (souvent "LogSoftmax") dans leurs fonctions de calcul de perte. de perte. Il est essentiel de comprendre ces nuances pour déployer déploiement efficace des modèles et pour s'assurer que les mesures reflètent fidèlement les performances du modèle. À l'avenir, les architectures Dans l'avenir, des architectures avancées telles que le futur YOLO26 continueront à affiner la manière dont ces distributions de de probabilité sont utilisées pour la détection et la classification de bout en bout.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant