Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Cross-Entropy Loss

La perte d’entropie croisée compare les probabilités de classe prédites aux étiquettes cibles et guide les modèles de classification et de segmentation pendant l’entraînement.

La perte d’entropie croisée mesure à quel point les probabilités de classe prédites par un modèle correspondent à ses étiquettes cibles. Elle attribue une faible pénalité lorsque la classe correcte reçoit une probabilité élevée et une forte pénalité lorsque cette probabilité est faible. En tant que fonction de perte pour l’apprentissage supervisé, elle fournit un objectif à minimiser pendant l’entraînement.

La Théorie mathématique de la communication de Claude Shannon, publiée en 1948, a établi ses fondements liés à l’entropie. D. F. Kerridge a introduit la mesure d’entropie croisée sous le nom d’« inexactitude » dans son article de 1961 Inexactitude et inférence. En classification, la perte logarithmique est un synonyme ; la régression logistique et les classificateurs neuronaux l’utilisent tous deux.

Fonctionnement de la perte d’entropie croisée#

Pour un exemple comportant une seule classe correcte, l’entropie croisée non pondérée est loss = -ln(p_correct). Une probabilité de 0,9 pour la classe correcte donne une perte d’environ 0,105 ; une probabilité de 0,1 donne une perte d’environ 2,303. Les logarithmes naturels expriment le résultat en unités appelées nats. Pendant l’entraînement, ces pénalités sont généralement moyennées sur un lot.

Plus généralement, l’entropie croisée multiplie chaque probabilité cible par le logarithme négatif de sa probabilité prédite, puis additionne les résultats pour toutes les classes. Une cible one-hot attribue la valeur 1 à la classe correcte et 0 aux autres, de sorte qu’il ne reste que le terme de la classe correcte. Pour des cibles one-hot non pondérées, minimiser l’entropie croisée revient à maximiser la vraisemblance des étiquettes observées. La rétropropagation calcule les gradients, et la descente de gradient met à jour les paramètres du modèle.

Entropie croisée binaire, catégorielle et creuse#

La forme appropriée dépend des étiquettes :

  • Entropie croisée binaire avec sigmoid : Pour une cible y valant 0 ou 1 et une probabilité prédite p pour la classe 1, la perte est -[y * ln(p) + (1 - y) * ln(1 - p)]. La classification multilabel l’applique indépendamment aux étiquettes qui peuvent être présentes simultanément.
  • Entropie croisée catégorielle avec softmax : Cette fonction évalue des classes mutuellement exclusives dont les probabilités totalisent 1. Softmax convertit les scores bruts du modèle, appelés logits, en cette distribution.
  • Entropie croisée catégorielle creuse : Cette fonction utilise un indice de classe entier plutôt qu’un vecteur one-hot. Elle calcule la même perte ; « creuse » décrit l’encodage de la cible.

Les cibles souples répartissent la probabilité entre les classes. On les retrouve dans le lissage des étiquettes et la distillation des connaissances, où un modèle étudiant apprend à partir de la distribution de probabilités d’un modèle enseignant.

Calculer l’entropie croisée dans PyTorch#

PyTorch accepte les logits bruts dans CrossEntropyLoss. Pour des cibles exprimées sous forme d’indices de classe, son calcul équivaut à appliquer log-softmax, puis la log-vraisemblance négative. Appliquer softmax au préalable amène la fonction à traiter les probabilités comme des logits, ce qui modifie la perte et les gradients. Les cibles entières utilisent torch.long ; les cibles probabilistes utilisent des valeurs en virgule flottante et ont la même forme que les logits.

import torch
from torch import nn

# Both predictions select class 0; the second is more confident.
logits = torch.tensor([[2.0, 0.0, 0.0], [4.0, 0.0, 0.0]])
targets = torch.tensor([0, 0], dtype=torch.long)
loss_fn = nn.CrossEntropyLoss(reduction="none")

losses = loss_fn(logits, targets)
print(f"Lower confidence loss: {losses[0].item():.4f}")
print(f"Higher confidence loss: {losses[1].item():.4f}")

Les pertes passent de 0,2395 à 0,0360 tandis que les deux prédictions restent correctes. L’exactitude enregistre les décisions de classe ; l’entropie croisée tient aussi compte des probabilités attribuées. Pour les logits binaires ou multilabels, BCEWithLogitsLoss combine sigmoid et entropie croisée binaire.

Applications en vision par ordinateur#

La classification d’images à étiquette unique utilise l’entropie croisée pour apprendre une classe par image. L’entraînement à la classification de YOLO26 par Ultralytics utilise l’entropie croisée moyenne sur les logits de classe pour ajuster le classificateur en fonction de la catégorie étiquetée.

En segmentation d’images médicales, le modèle U-Net original a été entraîné sur des images de microscopie biomédicale avec softmax pixel par pixel et une entropie croisée pondérée. Sa carte de poids augmentait les pénalités aux frontières entre cellules adjacentes, aidant ainsi à séparer les cellules voisines. Cette approche applique la classification à chaque pixel en segmentation sémantique.

Interpréter les valeurs de perte#

L’entropie croisée discrète, avec des distributions cibles valides et des poids non négatifs, est non négative. Pour une cible dure non pondérée, elle atteint zéro lorsque la classe correcte reçoit une probabilité de 1 et augmente sans limite à mesure que cette probabilité approche de zéro. Des valeurs négatives indiquent une erreur d’entrée ou d’implémentation, par exemple des entrées ou des poids cibles négatifs.

L’entropie mesure l’incertitude au sein d’une distribution ; l’entropie croisée compare les cibles aux prédictions. L’entropie croisée est égale à l’entropie de la cible plus la divergence de Kullback–Leibler, qui constitue la pénalité supplémentaire liée à l’écart. Les cibles souples ont donc une valeur minimale positive lorsque leur entropie est positive.

La pondération des classes augmente la contribution de certaines classes. La perte focale réduit la contribution des exemples faciles afin de remédier au déséquilibre entre l’avant-plan et l’arrière-plan dans la détection d’objets. Pour une prédiction uniforme, la perte logarithmique non pondérée est égale à ln(number_of_classes) : environ 0,693 pour deux classes et 2,303 pour dix.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique