Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Perte focale

Découvrez comment Focal Loss s'attaque au déséquilibre des classes dans la détection d'objets - en concentrant la formation sur des exemples difficiles pour améliorer la précision sur des ensembles de données déséquilibrés.

La perte focale est une fonction objective spécialisée conçue pour résoudre le problème du déséquilibre extrême des classes dans la formation à l'apprentissage automatique, en particulier dans le domaine de la vision par ordinateur. l'apprentissage automatique, en particulier dans le domaine de la vision par ordinateur. Dans de nombreux scénarios de détection d'objets, le nombre d'exemples Dans de nombreux scénarios de détection d'objets, le nombre d'exemples d'arrière-plan (négatifs) dépasse de loin le nombre d'objets d'intérêt (positifs). Les fonctions de perte standard peuvent Les fonctions de perte standard peuvent être submergées par le volume de ces exemples d'arrière-plan faciles à classify , ce qui empêche le modèle d'apprendre les exemples positifs plus difficiles. d'apprendre les exemples positifs, plus difficiles. La perte focale atténue ce problème en augmentant dynamiquement la perte en fonction de la confiance de la prédiction, ce qui permet de réduire efficacement la perte. la confiance de la prédiction, ce qui a pour effet de réduire la pondération des exemples faciles et de forcer le modèle à concentrer ses efforts de formation sur les exemples négatifs difficiles et les erreurs de classification. sur les négatifs difficiles et les objets mal classés.

Remédier au déséquilibre des classes

La motivation première de Focal Loss est d'améliorer les performances des détecteurs d'objets à une étape, tels que les détecteurs d'objets à une étape. détecteurs d'objets en une étape, tels que les les premières versions de RetinaNet et les architectures modernes comme Ultralytics YOLO11. Dans ces systèmes, le détecteur balaie une image et génère des milliers d'emplacements candidats. Étant donné que la majeure partie d'une image est généralement constituée d'un arrière-plan, le rapport l'arrière-plan à l'objet peut souvent être de 1000:1 ou plus.

Sans intervention, l'effet cumulatif des petites erreurs provenant du nombre massif d'échantillons d'arrière-plan peut dominer les mises à jour du gradient pendant la phase de mise à jour du gradient. dominer les mises à jour du gradient pendant la la rétropropagation. Cela conduit l'algorithme d'optimisation algorithme d'optimisation à donner la priorité à la de tout classer comme arrière-plan pour minimiser l'erreur globale, plutôt que d'apprendre les caractéristiques nuancées des objets réels. des objets réels. La perte focale remodèle la courbe de perte standard afin de réduire la pénalité pour les exemples pour lesquels le modèle est déjà confiant, ce qui oriente l'algorithme d'optimisation vers la classification de l'arrière-plan. le modèle est déjà sûr de lui, orientant ainsi les les poids du modèle pour s'adapter aux cas difficiles.

Mécanisme et fonctionnalité

La perte focale est une extension de la perte standard perte d'entropie croisée standard utilisée dans la classification binaire. Elle introduit un facteur de modulation qui diminue la contribution de la perte au fur et à mesure que la confiance dans la classe correcte augmente. Lorsqu'un modèle rencontre un exemple "facile", tel qu'une zone de ciel clair qu'il identifie correctement en tant qu'arrière-plan avec une forte probabilité, le facteur de modulation diminue au fur et à mesure que la confiance dans la classe correcte augmente. avec une forte probabilité, le facteur de modulation fait approcher la perte de zéro. Inversement, pour les exemples "difficiles où la prédiction du modèle est incorrecte ou incertaine, la perte reste significative.

Ce comportement est contrôlé par un paramètre de focalisation, souvent appelé gamma. En réglant ce paramètre, les scientifiques des données peuvent ajuster l'agressivité avec laquelle la fonction de perte pondère à la baisse les exemples bien classés. Cela permet une formation plus stable sur des données d'apprentissage fortement déséquilibrées. plus stable sur des données d'apprentissage très déséquilibrées, ce qui à une plus grande précision et à un meilleur rappel pour les classes rares.

Applications concrètes

La capacité à gérer les déséquilibres rend la perte focale essentielle dans les environnements de sécurité et de haute précision.

  • Conduite autonome : Dans le contexte des véhicules autonomes, un système de vision doit detect piétons, les cyclistes et les panneaux de signalisation. Dans un flux vidéo typique, la grande majorité des pixels représentent la route, le ciel ou les bâtiments, tandis que les obstacles critiques apparaissent de manière éparse. la route, le ciel ou les bâtiments, tandis que les obstacles critiques apparaissent de manière éparse. La perte de focalisation permet au système de perception d'ignorer les nombreuses données relatives à la surface de la route et de se concentrer sur la détection des obstacles. l'abondance des données relatives à la surface de la route et à se concentrer sur l'identification d'objets dynamiques potentiellement dangereux. potentiellement dangereux qui apparaissent rarement mais mais qui revêtent une grande importance pour l'IA dans les solutions automobiles. l 'IA dans les solutions automobiles.
  • Diagnostic médical : Dans l'analyse d'images l'analyse d'images médicales, l'identification des anomalies telles que des tumeurs ou des fractures est un problème classique d'aiguille dans une botte de foin. Le scanner d'un cerveau sain est composé presque entièrement de tissus sains, une tumeur n'occupant qu'une infime partie du volume. presque entièrement de tissus sains, une tumeur n'occupant qu'une infime partie du volume. L'utilisation de la perte focale permet à l l 'IA dans les modèles de soins de santé d'apprendre à partir des quelques pixels représentant une pathologie sans être biaisée par la quantité écrasante de tissus sains, ce qui améliore la sensibilité des outils de diagnostic. sensibilité des outils de diagnostic.

Mise en œuvre avec Ultralytics

Le ultralytics fournit une implémentation robuste de Focal Loss qui peut être facilement intégrée dans des dans des pipelines d'apprentissage personnalisés. L'exemple suivant montre comment initialiser la fonction de perte et calculer l'erreur entre les logits de prédiction et les étiquettes de vérité terrain. l'erreur entre les logits de prédiction et les étiquettes de la vérité terrain.

import torch
from ultralytics.utils.loss import FocalLoss

# Initialize Focal Loss with a gamma of 1.5
criterion = FocalLoss(gamma=1.5)

# Example: Prediction logits (before activation) and Ground Truth labels (0 or 1)
preds = torch.tensor([[0.1], [2.5], [-1.0]], requires_grad=True)
targets = torch.tensor([[0.0], [1.0], [1.0]])

# Compute the loss
loss = criterion(preds, targets)
print(f"Focal Loss value: {loss.item():.4f}")

Relation avec d'autres concepts

Il est utile de distinguer la perte focale des termes apparentés dans le paysage des fonctions de perte :

  • Perte focale et perte d'entropie croisée : La perte d'entropie croisée est la fonction de base qui traite tous les exemples de la même manière. La perte focale s'appuie strictement sur l'entropie croisée en ajoutant le facteur de modulation pour remédier au déséquilibre. pour remédier au déséquilibre. Si le paramètre de focalisation (gamma) est fixé à 0, la perte de focalisation revient à l'entropie croisée standard.
  • Perte de focalisation vs perte d'IoU : La perte de focalisation concerne la classification (quel est l'objet ?), des fonctions telles que l'intersection sur l'union (IoU ) et ses variantes (GIoU, CIoU) traitent de la localisation (où se trouve l'objet ? ). variantesGIoU, CIoU) traitent de la localisation (où se trouve l'objet ?). Les détecteurs modernes tels que YOLO11 utilisent généralement une fonction de perte composite, combinant Focal Loss pour la prédiction de classe et la perte IoU pour la régression de la boîte englobante.
  • Perte focale vs perte varifocale : La perte varifocale est une évolution supplémentaire qui traite les exemples positifs et négatifs de manière asymétrique. évolution qui traite les exemples positifs et négatifs de manière asymétrique. Elle utilise le score de IoU d'IoU pour pondérer les exemples positifs, en donnant la priorité à ceux dont la précision de localisation est la plus élevée. positifs, en donnant la priorité à ceux dont la précision de localisation est la plus élevée, alors que la perte focale standard traite tous les exemples positifs de la même manière. de la même manière.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant