Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Perdita focale

Scoprite come Focal Loss affronta lo sbilanciamento delle classi nel rilevamento degli oggetti, concentrando l'addestramento su esempi difficili per migliorare la precisione su set di dati sbilanciati.

La perdita focale è una funzione obiettivo specializzata utilizzata principalmente nelle attività di visione artificiale per affrontare la sfida dello squilibrio estremo delle classi durante l'addestramento del modello. È particolarmente utile negli scenari di rilevamento di oggetti in cui il numero di esempi di sfondo (campioni negativi) supera di gran lunga gli oggetti di interesse (campioni positivi). Ridimensionando dinamicamente la penalità assegnata a ciascun campione, la perdita focale riduce efficacemente il peso degli esempi "facili" , quelli che il modello è già in grado di classify elevata sicurezza, e costringe il processo di ottimizzazione a concentrarsi sugli esempi "difficili" che sono difficili da classify. Questo approccio mirato impedisce che il gran numero di negativi facili sovrasti il segnale di addestramento, migliorando così l'accuratezza del modello su oggetti sparsi ma critici .

Risolvere il problema dello squilibrio di classe

In molte applicazioni di deep learning (DL), in particolare nei rilevatori di oggetti a stadio singolo, il processo di addestramento comporta la valutazione di migliaia di posizioni candidate in un'immagine. La maggior parte di queste posizioni non contiene oggetti e sono facilmente identificabili come sfondo. Le funzioni standard come la perdita di entropia incrociata trattano tutte le classificazioni errate allo stesso modo. Di conseguenza, l'errore accumulato da migliaia di campioni di sfondo facili può soffocare il segnale proveniente dai pochi campioni positivi difficili, portando a un modello che è sbilanciato verso la classe maggioritaria.

La perdita focale modifica il calcolo standard della perdita introducendo un parametro di focalizzazione, tipicamente indicato come gamma ($\gamma$). Man mano che la probabilità della classe corretta aumenta (il che significa che l'esempio è "facile"), il fattore di modulazione riduce il contributo della perdita quasi a zero. Al contrario, per gli esempi classificati in modo errato o incerti (casi "difficili"), la perdita rimane significativa. Questo meccanismo garantisce che l' algoritmo di ottimizzazione aggiorni i pesi del modello sulla base degli esempi che effettivamente richiedono un miglioramento, piuttosto che limitarsi a convalidare ciò che il modello già conosce.

Applicazioni nel mondo reale

La capacità di gestire set di dati sbilanciati rende Focal Loss una pietra miliare delle moderne soluzioni di IA nei campi critici per la sicurezza e di alta precisione.

  • Diagnostica medica: nell' analisi delle immagini mediche, l'identificazione delle patologie spesso presenta un problema simile alla ricerca di un ago in un pagliaio. Ad esempio, quando si rilevano piccole lesioni in una scansione TC, il tessuto sano costituisce il 99% dell'immagine. Una funzione di perdita standard potrebbe raggiungere un'elevata precisione semplicemente ipotizzando che ogni pixel sia "sano". Implementando la perdita focale, i modelli utilizzati nell' IA in ambito sanitario possono ignorare l'abbondante tessuto sano e concentrare l'apprendimento sulle caratteristiche rare e sottili dei tumori o delle fratture, migliorando significativamente il richiamo per le rilevazioni salvavita.
  • Guida autonoma: i sistemi che alimentano i veicoli autonomi devono detect , ciclisti e detriti sullo sfondo di strade, edifici e cielo. Lo sfondo è facile da apprendere, ma gli ostacoli piccoli e lontani sono difficili. Focal Loss consente al sistema di percezione di dare priorità a questidetect , garantendo che il veicolo non trascuri pericoli critici anche quando occupano solo una piccola parte del campo visivo . Ciò è fondamentale per un rilevamento affidabile dei pedoni e per la sicurezza generale.

Implementazione con Ultralytics

Il ultralytics La libreria include implementazioni ottimizzate delle funzioni di perdita per supportare l'addestramento di modelli all'avanguardia come YOLO26. Mentre la formazione di alto livello è automatizzata tramite il Piattaforma UltralyticsGli sviluppatori possono accedere a componenti di perdita specifici per condotte personalizzate.

L'esempio seguente mostra come inizializzare Focal Loss e calcolare l'errore tra i punteggi di previsione e le etichette target utilizzando il ultralytics pacchetto di utilità.

import torch
from ultralytics.utils.loss import FocalLoss

# Initialize Focal Loss with a standard gamma value
# Gamma=1.5 aggressively down-weights easy examples
criterion = FocalLoss(gamma=1.5)

# Example: Predictions (logits) and binary Ground Truth labels
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])

# Calculate the loss
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")

Distinzione dai concetti correlati

Comprendere come la perdita focale si inserisce nel panorama più ampio della misurazione dell'errore è utile per selezionare la giusta strategia di addestramento.

  • Perdita focale vs. perdita di entropia incrociata: La perdita di entropia incrociata è la metrica fondamentale per la classificazione che penalizza le previsioni basate sull'errore logaritmico. La perdita focale è strettamente un'estensione dell'entropia incrociata. Se il parametro di messa a fuoco è impostato su zero, la perdita focale ritorna matematicamente all'entropia incrociata standard. La differenza fondamentale è la capacità della perdita focale di ridurre il peso dei negativi facili.
  • Perdita focale vs. IoU : mentre la perdita focale è progettata per la classificazione (determinare cosa è un oggetto), l'Intersection over Union (IoU) viene utilizzata per la localizzazione (determinare dove si trova un oggetto). I moderni rilevatori come YOLO11 e YOLO26 utilizzano una funzione di perdita composita che combina la perdita focale (o le sue varianti come la perdita varifocale) per le probabilità di classe e la perdita IoU per la regressione del bounding box.
  • Focal Loss vs. OHEM: L'Online Hard Example Mining (OHEM) è una strategia più datata che scarta completamente gli esempi facili e si concentra solo su quelli più difficili in un batch. Oggi si preferisce generalmente il Focal Loss perché utilizza un fattore di scala continuo anziché un cutoff rigido, fornendo un segnale di addestramento più fluido e stabile da tutti i dati di addestramento.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora