Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Perdita focale

Scopri come Focal Loss risolve lo squilibrio delle classi nel deep learning. Impara a implementarlo con Ultralytics per concentrarti sugli esempi difficili e migliorare l'accuratezza del modello.

La perdita focale è una funzione obiettivo specializzata utilizzata principalmente nel deep learning per affrontare la sfida di un grave squilibrio di classe. In molte attività di visione artificiale, come il rilevamento di oggetti, il numero di esempi di sfondo (campioni negativi ) supera significativamente gli oggetti di interesse (campioni positivi). I metodi standard, come la diffusa Cross-Entropy Loss, trattano tutti gli errori allo stesso modo, il che spesso causa il sovraccarico del modello a causa dell'enorme volume di daticlassify . Focal Loss modifica il calcolo standard della perdita per ridurre il peso di questi esempi facili, costringendo l' algoritmo di ottimizzazione a concentrare la sua capacità di apprendimento su esempi "difficili", ovvero gliclassify rari eclassify che sono cruciali per le prestazioni del modello .

Il meccanismo della messa a fuoco

L'innovazione principale di Focal Loss risiede nella sua capacità di scalare dinamicamente la penalità assegnata a ciascun campione in base alla confidenza del modello. In un tipico scenario di apprendimento supervisionato, un rilevatore potrebbe valutare migliaia di posizioni candidate in un'immagine. Poiché la maggior parte di queste posizioni non contiene oggetti, una funzione di perdita standard accumula molti piccoli segnali di errore da questi negativi facili, che possono soffocare il segnale prezioso proveniente dalle poche istanze positive.

Focal Loss introduce un fattore di modulazione che riduce il contributo della perdita all'aumentare della fiducia nella classe corretta . Ciò significa che se un modello è già sicuro al 99% che una patch di sfondo sia effettivamente sfondo, la perdita per quella patch viene ridotta quasi a zero. Di conseguenza, i pesi del modello vengono aggiornati principalmente sulla base dei campioni classificati erroneamente o di quelli in cui il modello è incerto. Questo approccio mirato è essenziale per l'addestramento di rilevatori di oggetti ad alte prestazioni in un'unica fase come YOLO26, consentendo loro di raggiungere un'elevata precisione senza richiedere fasi di campionamento complesse.

Applicazioni nel mondo reale

La gestione di dati di addestramento sbilanciati è fondamentale per implementare sistemi di IA robusti in ambienti in cui la sicurezza e la precisione sono fondamentali.

  • L'intelligenza artificiale nel settore sanitario: in campi come l'analisi delle immagini mediche, identificare le patologie è spesso paragonabile alla ricerca di un ago in un pagliaio. Ad esempio, in una risonanza magnetica alla ricerca di piccole lesioni, il tessuto sano potrebbe costituire oltre il 99% dei pixel. Un modello standard potrebbe massimizzare la semplice accuratezza prevedendo "sano" ovunque, tralasciando la diagnosi critica. Focal Loss consente al sistema di sopprimere il segnale proveniente dall'abbondante tessuto sano e dare priorità all'apprendimento delle caratteristiche sottili delle anomalie, migliorando così il richiamo per rilevamenti salvavita.
  • Veicoli autonomi: I sistemi di percezione per le auto a guida autonoma devono detect gli utenti della strada detect , come pedoni o ciclisti, su sfondi complessi costituiti da edifici, strade e cielo. Mentre lo sfondo è facilmente riconoscibile, gli ostacoli piccoli o distanti rappresentano una sfida significativa. Utilizzando la Focal Loss, l'intelligenza artificiale nelle applicazioni automobilistiche può garantire che lo stack di percezione non ignori questidetect , mantenendo gli standard di sicurezza anche quando i pericoli occupano solo una piccola parte del campo visivo.

Implementazione con Ultralytics

Il ultralytics La libreria include implementazioni ottimizzate di funzioni di perdita avanzate per supportare modelli all'avanguardia. Mentre il Piattaforma Ultralytics configura automaticamente questi iperparametri per un addestramento ottimale, gli sviluppatori possono anche accedere direttamente a questi componenti per ricerche personalizzate .

L'esempio seguente mostra come inizializzare Focal Loss utilizzando il ultralytics pacchetto di utilità e calcola l'errore per una serie di previsioni.

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

Distinzione dai concetti correlati

Comprendere dove si colloca la perdita focale nel panorama più ampio della misurazione degli errori aiuta a selezionare la strategia giusta per specifiche attività di visione artificiale.

  • Perdita focale vs. perdita di entropia incrociata: L'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, matematicamente torna all'entropia incrociata standard. La differenza fondamentale è la capacità della perdita focale di ridurre automaticamente il peso dei negativi facili , rendendola superiore per i set di dati sbilanciati come COCO.
  • Perdita focale vs. IoU : Mentre la perdita focale è progettata per la classificazione (determinare cosa sia un oggetto), IoU viene utilizzata per la localizzazione (determinare dove si trovi un oggetto). I moderni rilevatori utilizzano una funzione di perdita composita che combina la perdita focale per le probabilità di classe e metriche IoU per la regressione del bounding box.
  • Focal Loss vs. Dice Loss: Dice Loss è un'altra tecnica utilizzata per gestire lo squilibrio, principalmente nelle attività di segmentazione delle immagini. Mentre Focal Loss opera su singoli pixel o campioni in base alla confidenza, Dice Loss ottimizza la sovrapposizione tra le regioni previste e quelle reali a livello globale. È comune vedere entrambi utilizzati insieme in complessi flussi di lavoro di segmentazione.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora