Focal Loss
Explore comment la Focal Loss résout le déséquilibre des classes en deep learning. Apprends à l’implémenter avec Ultralytics YOLO26 pour te concentrer sur les exemples difficiles et améliorer la précision du modèle.
La perte focale est une fonction objectif spécialisée, principalement utilisée en deep learning pour relever le défi du déséquilibre sévère entre les classes. Dans de nombreuses tâches de vision par ordinateur, comme la détection d’objets, le nombre d’exemples d’arrière-plan (échantillons négatifs) dépasse largement celui des objets d’intérêt (échantillons positifs). Les méthodes standard, comme la très utilisée perte d’entropie croisée, traitent toutes les erreurs de la même manière, ce qui a souvent pour effet de submerger le modèle sous le volume considérable de données d’arrière-plan faciles à classer. La perte focale modifie le calcul standard de la perte afin de réduire le poids de ces exemples faciles, forçant ainsi l’algorithme d’optimisation à concentrer sa capacité d’apprentissage sur les exemples « difficiles », c’est-à-dire les objets rares et difficiles à classer, qui sont essentiels aux performances du modèle.
Le mécanisme de focalisation#
L’innovation fondamentale de la perte focale réside dans sa capacité à ajuster dynamiquement la pénalité attribuée à chaque échantillon en fonction de la confiance du modèle. Dans un scénario typique d’apprentissage supervisé, un détecteur peut évaluer des milliers de positions candidates dans une image. Comme la plupart de ces positions ne contiennent aucun objet, une fonction de perte standard accumule de nombreux petits signaux d’erreur provenant de ces exemples négatifs faciles, ce qui peut noyer le signal précieux des quelques instances positives.
La perte focale introduit un facteur de modulation qui réduit la contribution à la perte à mesure que la confiance dans la classe correcte augmente. Ainsi, si un modèle est déjà sûr à 99 % qu’une zone d’arrière-plan est bien de l’arrière-plan, la perte associée à cette zone est réduite à une valeur proche de zéro. Par conséquent, les poids du modèle sont mis à jour principalement à partir des échantillons mal classés ou de ceux pour lesquels le modèle est incertain. Cette approche ciblée est essentielle pour entraîner des détecteurs d’objets à une étape performants comme YOLO26, en leur permettant d’atteindre une grande précision sans nécessiter d’étapes d’échantillonnage complexes.
Applications concrètes#
La gestion des données d’entraînement déséquilibrées est essentielle au déploiement de systèmes d’IA robustes dans des environnements où la sécurité et la précision sont primordiales.
- IA dans le domaine de la santé : Dans des domaines comme l’analyse d’images médicales, identifier des pathologies revient souvent à chercher une aiguille dans une botte de foin. Par exemple, dans une IRM visant à détecter de petites lésions, les tissus sains peuvent représenter plus de 99 % des pixels. Un modèle standard pourrait maximiser une précision superficielle en prédisant « sain » partout, passant à côté du diagnostic essentiel. La perte focale permet au système de supprimer le signal provenant des tissus sains abondants et de donner la priorité à l’apprentissage des caractéristiques subtiles des anomalies, améliorant ainsi le rappel pour les détections susceptibles de sauver des vies.
- Véhicules autonomes : Les systèmes de perception des voitures autonomes doivent détecter les usagers vulnérables de la route, comme les piétons et les cyclistes, sur des arrière-plans complexes composés de bâtiments, de routes et de ciel. Si l’arrière-plan est facile à apprendre, les obstacles petits ou éloignés représentent un défi important. En utilisant la perte focale, les applications d’IA dans l’automobile peuvent s’assurer que la pile de perception n’ignore pas ces objets difficiles à détecter et maintenir les normes de sécurité, même lorsque les dangers n’occupent qu’une infime partie du champ visuel.
Implémentation avec Ultralytics#
La bibliothèque ultralytics comprend des implémentations optimisées de fonctions de perte avancées pour prendre en charge des modèles à la pointe de la technologie. Bien que l’Ultralytics Platform configure automatiquement ces hyperparamètres pour optimiser l’entraînement, les développeurs peuvent également accéder directement à ces composants pour leurs recherches personnalisées.
L’exemple suivant montre comment initialiser la perte focale à l’aide du package utilitaire ultralytics et calculer l’erreur pour un ensemble de prédictions.
import torch
from ultralytics.utils.loss import FocalLoss
# Initialize Focal Loss.
# The 'gamma' parameter controls the focusing strength (higher = more focus on hard examples).
criterion = FocalLoss(gamma=1.5)
# Example: Model predictions (logits) and binary Ground Truth labels
# requires_grad=True simulates model outputs that need backpropagation
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])
# Calculate the loss value
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")Distinction avec les concepts associés#
Comprendre la place de la perte focale dans le paysage plus large de la mesure des erreurs aide à sélectionner la stratégie adaptée à des tâches spécifiques de vision par ordinateur.
- Perte focale ou perte d’entropie croisée : L’entropie croisée est la mesure fondamentale de la classification, qui pénalise les prédictions en fonction de l’erreur logarithmique. La perte focale est strictement une extension de l’entropie croisée ; si le paramètre de focalisation est défini sur zéro, elle revient mathématiquement à l’entropie croisée standard. La distinction essentielle réside dans la capacité de la perte focale à réduire automatiquement le poids des exemples négatifs faciles, ce qui la rend supérieure pour les jeux de données déséquilibrés comme COCO.
- Perte focale ou perte IoU : Alors que la perte focale est conçue pour la classification (déterminer ce qu’est un objet), la perte IoU est utilisée pour la localisation (déterminer où se trouve un objet). Les détecteurs modernes utilisent une fonction de perte composite qui combine la perte focale pour les probabilités de classe et les métriques basées sur l’IoU pour la régression des boîtes englobantes.
- Perte focale ou perte Dice : La perte Dice est une autre technique utilisée pour gérer le déséquilibre, principalement dans les tâches de segmentation d’images. Alors que la perte focale opère sur des pixels ou des échantillons individuels en fonction de la confiance, la perte Dice optimise globalement le chevauchement entre les régions prédites et les régions de référence. Il est courant d’utiliser les deux conjointement dans des workflows de segmentation complexes.









