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 progettata per risolvere il problema dello squilibrio estremo tra le classi nell'apprendimento automatico. apprendimento automatico, in particolare nel campo della visione artificiale. In molti scenari di rilevamento di oggetti, il numero di esempi di sfondo (negativi) supera di gran lunga il numero di oggetti di interesse (positivi). esempi di sfondo (negativi) supera di gran lunga il numero di oggetti di interesse (positivi). Le funzioni di perdita standard possono possono essere sopraffatte dall'enorme quantità di esempi di sfondo facili da classify , ostacolando la capacità del modello di apprendere gli esempi positivi più difficili. di apprendere gli esempi positivi, più difficili. Focal Loss attenua questo problema scalando dinamicamente la perdita in base alla fiducia della previsione. della previsione, riducendo di fatto la ponderazione degli esempi facili e costringendo il modello a concentrare i suoi sforzi di addestramento sui negativi e sugli errori di classificazione. di addestramento sui negativi difficili e sugli oggetti mal classificati.

Affrontare lo squilibrio di classe

La motivazione principale che sta alla base della perdita focale è il miglioramento delle prestazioni dei rilevatori di oggetti rilevatori di oggetti a uno stadio, come le prime versioni di versioni iniziali di RetinaNet e le architetture moderne come Ultralytics YOLO11. In questi sistemi, il rilevatore esegue la scansione di un'immagine immagine e genera migliaia di posizioni candidate. Poiché la maggior parte di un'immagine è solitamente costituita da sfondo, il rapporto tra sfondo rispetto all'oggetto può spesso essere di 1000:1 o superiore.

Senza un intervento, l'effetto cumulativo dei piccoli errori dovuti all'enorme numero di campioni di sfondo può dominano gli aggiornamenti del gradiente durante retropagazione. Questo fa sì che l'algoritmo di algoritmo di ottimizzazione a dare la priorità alla semplice classificare tutto come sfondo per minimizzare l'errore complessivo, piuttosto che apprendere le caratteristiche sfumate degli oggetti reali. oggetti reali. La perdita focale rimodella la curva di perdita standard per ridurre la penalità per gli esempi di cui il modello è già sicuro. di cui il modello è già sicuro, indirizzando così i pesi del modello pesi del modello per adattarsi ai casi più difficili.

Meccanismo e funzionalità

La perdita focale è un'estensione della perdita Cross-Entropy Loss utilizzata nella classificazione binaria. Introduce un fattore modulante che introduce un fattore modulante che fa decadere il contributo della perdita all'aumentare della fiducia nella classe corretta. Quando un modello incontra un esempio "facile", come ad esempio una zona di cielo chiaro che identifica correttamente come sfondo con alta probabilità, il fattore di modulazione spinge la perdita vicino allo zero. Al contrario, per gli esempi "difficili" esempi in cui la previsione del modello è errata o incerta, la perdita rimane significativa.

Questo comportamento è controllato da un parametro di focalizzazione, spesso indicato come gamma. Regolando questo parametro, gli scienziati dei dati possono regolare l'aggressività con cui la funzione di perdita riduce la ponderazione degli esempi ben classificati. Ciò consente una formazione più stabile formazione più stabile su dati di formazione altamente sbilanciati, con conseguente di dati altamente sbilanciati, con conseguente aumento dell'accuratezza e del richiamo per le classi rare.

Applicazioni nel mondo reale

La capacità di gestire lo squilibrio rende Focal Loss essenziale negli ambienti critici per la sicurezza e ad alta precisione.

  • Guida autonoma: Nel contesto dei veicoli autonomi, un sistema di visione deve detect pedoni, ciclisti e segnali stradali. In un tipico feed video, la maggior parte dei pixel rappresenta la strada, il cielo o gli edifici. strada, il cielo o gli edifici, mentre gli ostacoli critici appaiono in modo limitato. La perdita focale aiuta il sistema di percezione a ignorare gli dati abbondanti della superficie stradale e si concentra sull'identificazione di oggetti dinamici potenzialmente pericolosi che appaiono poco oggetti dinamici potenzialmente pericolosi che appaiono di rado ma ma che rivestono una grande importanza per l'IA L'intelligenza artificiale nelle soluzioni automobilistiche.
  • Diagnostica medica: Nell'analisi delle immagini mediche analisi delle immagini mediche, l'identificazione di anomalie come tumori o fratture è un classico problema di ago nel pagliaio. Una scansione di un cervello sano è composta quasi interamente di tessuto sano, mentre un tumore occupa una frazione minima del volume. L'uso della perdita focale consente ai modelli di I modelli di intelligenza artificiale in ambito sanitario di apprendere dai pochi che rappresentano la patologia senza essere influenzati dalla quantità eccessiva di tessuto sano, migliorando la sensibilità degli strumenti diagnostici. sensibilità degli strumenti diagnostici.

Implementazione con Ultralytics

Il ultralytics fornisce un'implementazione robusta di Focal Loss, che può essere facilmente integrata in pipeline di addestramento personalizzate. L'esempio seguente mostra come inizializzare la funzione di perdita e come calcolare l'errore errore tra i logit di predizione e le etichette della verità a terra.

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}")

Relazione con altri concetti

È utile distinguere la perdita focale dai termini correlati nel panorama delle funzioni di perdita:

  • Perdita focale e perdita di entropia incrociata: La perdita di entropia incrociata è è la funzione di base che tratta tutti gli esempi allo stesso modo. La perdita focale si basa rigorosamente sull'entropia incrociata, aggiungendo il fattore fattore modulante per affrontare lo squilibrio. Se il parametro di messa a fuoco (gamma) viene impostato a 0, Focal Loss torna effettivamente ritorna alla Cross-Entropy standard.
  • Perdita focale vs. perdita IoU : mentre la perdita focale riguarda la classificazione (qual è l'oggetto?), funzioni come Intersezione su Unione (IoU) e le sue varianti (GIoU, CIoU) si occupano di localizzazione (dove si trova l'oggetto? variantiGIoU, CIoU) riguardano la localizzazione (dove si trova l'oggetto?). I moderni rilevatori come YOLO11 utilizzano in genere una funzione di perdita composita, che combina la Perdita focale per la predizione della classe e perdita IoU per la regressione del rettangolo di selezione.
  • Perdita focale vs. perdita varifocale: la perdita varifocale è una ulteriore evoluzione che tratta gli esempi positivi e negativi in modo asimmetrico. Utilizza il punteggio IoU per pesare gli esempi positivi esempi positivi, dando priorità a quelli con una maggiore accuratezza di localizzazione, mentre la perdita focale standard tratta tutti i positivi allo stesso modo.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora