Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Previsione conforme

Scopri come la previsione conforme fornisce un'incertezza indipendente dalla distribuzione per l'IA. Implementa insiemi di previsione con Ultralytics per garantire risultati affidabili del modello.

La previsione conforme è un quadro statistico nell'ambito dell'apprendimento automatico (ML) che fornisce misure di incertezza indipendenti dalla distribuzione per le previsioni dei modelli. Anziché fornire una previsione a punto singolo — come ad esempio un'etichetta di classe specifica — un predittore conforme fornisce un insieme di previsioni o un intervallo che contiene il valore reale con una probabilità specificata dall'utente (ad es., 90% o 95%). Questo quadro si adatta a qualsiasi modello di intelligenza artificiale (AI) per fornire garanzie statistiche formali senza richiedere modifiche all'architettura del modello. Per un elenco esaustivo di strumenti e ricerche aggiornati, è possibile esplorare il repository Awesome Conformal Prediction.

Come funziona la previsione conforme

Il meccanismo di base consiste nel valutare quanto una nuova previsione sia anomala rispetto agli esempi passati utilizzando un punteggio di non conformità.

  • Addestramento del modello: Innanzitutto, addestrare un modello di riferimento utilizzando un set di dati di addestramento standard.
  • Fase di calibrazione: Elaborare un set di dati di calibrazione separato, tenuto da parte, attraverso il modello addestrato. Calcolare un punteggio di non conformità per ciascuna previsione, come la probabilità inversa nella classificazione delle immagini.
  • Calcolo dei quantili: Determinare il livello di confidenza desiderato (ad es. 95%) e trovare il quantile corrispondente di questi punteggi di calibrazione per costruire gli insiemi di previsione.
  • Applicazione di inferenza: Durante l'inferenza in tempo reale, valutare i nuovi input e includere tutte le etichette possibili i cui punteggi sono inferiori al quantile di calibrazione.

È possibile approfondire le dimostrazioni matematiche di questo approccio nel tutorial " A Gentle Introduction to Conformal Prediction " oppure approfondire gli approcci di previsione delle serie temporali per gestire le incertezze temporali.

Distinguere la previsione conforme dai termini correlati

È fondamentale distinguere questo quadro di riferimento dalle metriche standard utilizzate durante la verifica dei modelli:

Applicazioni nel mondo reale

La previsione conforme è indispensabile in settori ad alto rischio, dove è fondamentale conoscere i punti deboli del modello.

  • Diagnostica medica: Quando si utilizza l'IA in ambito sanitario per analizzare le scansioni, un modello potrebbe fornire una serie di diagnosi plausibili anziché un unico risultato, potenzialmente errato. Ciò garantisce che i medici prendano in considerazione tutte le possibilità plausibili, a sostegno dei recenti studi sulla medicina genomica e sull'imaging affidabili.
  • Guida autonoma: Nell'ambito dell'intelligenza artificiale applicata ai sistemi automobilistici, l'applicazione di intervalli di previsione al rilevamento degli oggetti genera una regione di confidenza spaziale intorno a un pedone, consentendo ai sistemi frenanti del veicolo di tenere conto in modo sicuro dei movimenti più sfavorevoli.

Implementazione dei set di previsione

Librerie come MAPIE (Model Agnostic Prediction Interval Estimator) offrono strumenti integrati per Python, e nelle attività di regressione si ricorre spesso alla regressione quantilica conforme. È inoltre possibile implementare una logica di previsione conforme di base utilizzando le probabilità di modelli avanzati come Ultralytics . L'esempio seguente crea un insieme di previsioni utilizzando le probabilità di classificazione di YOLO26, imitando la logica di includere le classi principali fino al raggiungimento di una soglia cumulativa.

from ultralytics import YOLO

# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0

# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5

for idx in sorted_indices:
    class_name = results[0].names[idx]
    class_prob = probs.data[idx].item()

    prediction_set.append((class_name, round(class_prob, 3)))
    cumulative_prob += class_prob

    # Stop adding to the set once we reach the 95% coverage threshold
    if cumulative_prob >= target_coverage:
        break

print(f"95% Prediction Set: {prediction_set}")

Lo sviluppo di sistemi affidabili richiede pratiche di gestione dei dati solide per evitare che la deriva dei dati comprometta la calibrazione. Strumenti come la Ultralytics semplificano il processo di raccolta di nuovi set di dati di classificazione, di riaddestramento dei modelli e di gestione sicura della loro implementazione. Per saperne di più sulla cura di dati bilanciati, consulta la nostra guida su come comprendere la distorsione dei set di dati, oppure track ultimi progressi presentati alla conferenza annuale COPA.

Costruiamo insieme il futuro dell'intelligenza artificiale!

Inizia il tuo viaggio con il futuro del machine learning