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

Focal Loss

La perte focale pondère l’entropie croisée afin que les exemples faciles comptent à peine et que les exemples rares et difficiles guident l’entraînement. Présentation de la formule, du gamma, de RetinaNet et des variantes.

La perte focale est une fonction de perte d’entropie croisée modifiée qui réduit le poids des exemples que le modèle classe déjà correctement, afin que l’entraînement se concentre sur les exemples difficiles mal classés. Lin et ses collègues l’ont présentée en 2017 dans l’article Focal Loss for Dense Object Detection, avec le détecteur RetinaNet, pour traiter le déséquilibre extrême entre arrière-plan et objets dans la détection d’objets. Elle est aujourd’hui largement utilisée dans les problèmes de classification où une classe est largement plus représentée que les autres.

Le problème du déséquilibre#

Les détecteurs d’objets à une étape classent chaque emplacement candidat d’une image, et RetinaNet en évalue environ 100,000 par image. Presque tous ces emplacements correspondent à l’arrière-plan, que le modèle apprend rapidement à rejeter au début de l’entraînement. Avec l’entropie croisée standard, chaque négatif facile contribue encore légèrement à la perte ; leur nombre considérable domine donc la perte totale et ses gradients, au détriment des quelques emplacements qui contiennent des objets. Les détecteurs d’objets à deux étapes évitent ce problème en filtrant les candidats au moyen d’une étape de proposition de régions et en échantillonnant un rapport fixe de premier plan et d’arrière-plan ; les premiers détecteurs à une étape s’appuyaient sur l’échantillonnage des exemples négatifs difficiles. La perte focale corrige le déséquilibre directement dans la fonction de perte, ce qui permet d’entraîner tous les candidats sans échantillonnage.

Fonctionnement de la perte focale#

Écrivons p_t pour désigner la probabilité que le modèle attribue à la classe correcte. L’entropie croisée est CE = -log(p_t), et la perte focale la multiplie par un facteur modulateur :

FL = -α_t (1 - p_t)^γ log(p_t)

  • Paramètre de focalisation γ (gamma) : contrôle la vitesse à laquelle la perte des exemples faciles diminue. Pour γ = 0, la perte focale est égale à l’entropie croisée. Quand p_t tend vers 1, (1 - p_t)^γ tend vers 0, tandis qu’un exemple mal classé avec un faible p_t conserve presque toute sa perte d’entropie croisée. Avec le meilleur réglage de l’article, γ = 2, un exemple classé avec p_t = 0.9 reçoit une perte 100 fois inférieure à celle obtenue avec l’entropie croisée.
  • Poids d’équilibrage α_t (alpha) : poids fixe pour la classe positive, complété par son complément pour la classe négative. RetinaNet utilise α = 0.25 avec γ = 2, et l’article normalise également la perte totale de chaque image par le nombre d’ancres attribuées aux objets.

La fonction sigmoid_focal_loss de torchvision implémente la formule. Définir alpha=-1 désactive le poids d’équilibrage, ce qui isole l’effet de γ sur un exemple positif facile, moyen et difficile :

import torch
import torch.nn.functional as F
from torchvision.ops import sigmoid_focal_loss

# Logits for three positive examples: easy, moderate, and hard
logits = torch.tensor([4.0, 1.0, -2.0])
targets = torch.ones(3)

# alpha=-1 turns off class weighting so only the gamma focusing term differs
bce = F.binary_cross_entropy_with_logits(logits, targets, reduction="none")
focal = sigmoid_focal_loss(logits, targets, alpha=-1, gamma=2.0, reduction="none")

for p, b, f in zip(logits.sigmoid(), bce, focal):
    print(f"p={p:.2f}  cross-entropy={b:.6f}  focal={f:.6f}  ratio={b / f:,.1f}x")

La perte focale réduit la perte de l’exemple facile (p = 0.98) d’un facteur d’environ 3,091, celle de l’exemple moyen (p = 0.73) d’un facteur de 13.8 et celle de l’exemple difficile (p = 0.12) d’un facteur de seulement 1.3 ; l’exemple difficile porte ainsi presque tout le signal d’entraînement.

Utilisations de la perte focale#

Au-delà de RetinaNet, la perte focale et ses variantes entraînent la branche de classification de nombreux détecteurs denses et détecteurs à base de Transformer, notamment des modèles de la famille DETR comme Deformable DETR. En analyse d’images médicales, les lésions couvrent souvent une infime partie des pixels ; les modèles de segmentation d’images associent donc couramment la perte focale à la perte Dice pour éviter d’ignorer les petites observations et améliorer le rappel. Chez Ultralytics, l’entraîneur RT-DETR évalue les classes avec la perte Varifocal, et le module ultralytics.utils.loss fournit une classe FocalLoss avec les valeurs par défaut gamma=1.5 et alpha=0.25.

  • Pondération des classes : l’entropie croisée pondérée accorde à chaque exemple d’une classe rare le même bonus fixe, calculé selon la fréquence de la classe. La perte focale pondère chaque exemple en fonction de sa difficulté actuelle ; les poids évoluent donc au fil de l’apprentissage du modèle.
  • Échantillonnage des exemples négatifs difficiles : ne conserve que les négatifs dont la perte est la plus élevée et écarte les autres. La perte focale conserve tous les exemples et réduit progressivement le poids des exemples faciles.
  • Perte Varifocal : variante asymétrique de VarifocalNet qui réduit le poids des seuls négatifs et entraîne les positifs vers un score tenant compte de l’IoU, afin que la confiance de classe reflète également la qualité de la localisation.
  • Perte focale de distribution (DFL) : perte de régression de boîte issue de Generalized Focal Loss, qui traite chaque bord de boîte comme une distribution de probabilité discrète. Elle ne partage que son nom avec la perte focale et s’applique à la régression de boîte.

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