Conformal Prediction
Scopri come la conformal prediction fornisce una stima dell'incertezza dell'AI indipendente dalla distribuzione. Implementa prediction set con Ultralytics YOLO26 per garantire risultati affidabili del modello.
La predizione conforme è un framework statistico nell'apprendimento automatico (ML) che fornisce misure dell'incertezza indipendenti dalla distribuzione per le predizioni del modello. Invece di produrre una singola predizione puntuale, ad esempio un'unica etichetta di classe specifica, un predittore conforme produce un insieme o un intervallo di predizione che contiene il valore vero con una probabilità specificata dall'utente (ad esempio, 90% o 95%). Questo framework si applica a qualsiasi modello di intelligenza artificiale (AI) per fornire garanzie statistiche formali senza richiedere modifiche all'architettura del modello. Per un elenco completo di strumenti e ricerche aggiornati, puoi consultare il repository Awesome Conformal Prediction.
Come funziona la predizione conforme#
Il meccanismo fondamentale si basa sulla valutazione di quanto sia insolita una nuova predizione rispetto agli esempi passati, utilizzando un punteggio di non conformità.
- Addestramento del modello: per prima cosa, addestra un modello di base utilizzando un dataset di addestramento standard.
- Fase di calibrazione: passa un dataset di calibrazione separato e tenuto da parte attraverso il modello addestrato. Calcola un punteggio di non conformità per ogni predizione, ad esempio la probabilità inversa nella classificazione delle immagini.
- Calcolo del quantile: determina il livello di confidenza target (ad esempio, 95%) e trova il quantile corrispondente di questi punteggi di calibrazione per costruire gli insiemi di predizione.
- Applicazione durante l'inferenza: durante l'inferenza in tempo reale, valuta i nuovi input e includi tutte le etichette possibili i cui punteggi sono inferiori al quantile di calibrazione.
Puoi approfondire le dimostrazioni matematiche di questo approccio nel tutorial A Gentle Introduction to Conformal Prediction oppure scoprire gli approcci alla previsione di serie temporali per gestire le incertezze temporali.
Distinguere la predizione conforme dai termini correlati#
È fondamentale distinguere questo framework dalle metriche standard utilizzate durante il test del modello:
- Predizione conforme e punteggi di confidenza: un punteggio di confidenza standard riflette la certezza interna del modello, ma spesso è calibrato male e non offre garanzie matematiche. La predizione conforme trasforma questi punteggi grezzi in insiemi garantiti. Per gli aggiustamenti tradizionali, consulta la calibrazione delle probabilità di scikit-learn.
- Predizione conforme e accuratezza: l'accuratezza è una metrica storica globale che descrive quanto spesso un modello sia corretto su un intero dataset, mentre l'inferenza conforme fornisce un intervallo locale e specifico per ogni singola nuova predizione.
Applicazioni nel mondo reale#
La predizione conforme è indispensabile nei settori ad alta criticità, in cui conoscere i punti ciechi del modello è fondamentale.
- Diagnostica medica: quando si utilizza l'AI in ambito sanitario per analizzare scansioni, un modello potrebbe produrre un insieme di diagnosi plausibili invece di un'unica classe potenzialmente errata. In questo modo, i medici possono esaminare tutte le possibilità valide, supportando gli studi recenti sulla medicina genomica e l'imaging affidabili.
- Guida autonoma: nei sistemi automobilistici basati sull'AI, l'applicazione di intervalli di predizione alla rilevazione degli oggetti genera una regione di confidenza spaziale attorno a un pedone, consentendo ai sistemi di frenata del veicolo di tenere conto in sicurezza dei movimenti nel caso peggiore.
Implementazione degli insiemi di predizione#
Librerie come MAPIE (stimatore di intervalli di predizione indipendente dal modello) forniscono strumenti integrati per Python, mentre per i task di regressione si utilizza spesso la regressione quantile conforme. Puoi anche implementare una logica di base per la predizione conforme utilizzando le probabilità di modelli avanzati come Ultralytics YOLO26. L'esempio seguente costruisce un insieme di predizione utilizzando le probabilità di classificazione di YOLO26, simulando la logica che include le classi principali finché non viene raggiunta 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 solide pratiche di gestione dei dati per evitare che il data drift comprometta la calibrazione. Strumenti come la Ultralytics Platform semplificano la raccolta di nuovi dataset di classificazione, il riaddestramento dei modelli e la gestione sicura del deployment del modello. Puoi approfondire la selezione di dati bilanciati nella nostra guida su come comprendere il bias del dataset oppure seguire gli ultimi progressi presentati alla conferenza COPA annuale.









