Confidence
Esplora il ruolo dei confidence score nell'AI. Scopri come filtrare le predizioni, ottimizzare il compromesso precision-recall e implementare Ultralytics YOLO26 per ottenere accuratezza.
Nel campo dell'intelligenza artificiale e del machine learning, un punteggio di confidenza è una metrica che quantifica il livello di certezza che un modello ha riguardo a una previsione specifica. Questo valore varia generalmente da 0 a 1 (o dallo 0% al 100%) e rappresenta la probabilità stimata che l'output dell'algoritmo corrisponda alla verità di riferimento. Ad esempio, in un'attività di rilevamento degli oggetti, se un sistema identifica una regione di un'immagine come una "bicicletta" con una confidenza di 0,92, ciò suggerisce una probabilità stimata del 92% che la classificazione sia corretta. Questi punteggi derivano dall'ultimo livello di una rete neurale, spesso elaborato tramite una funzione di attivazione come Softmax per la categorizzazione multiclasse o la funzione Sigmoid per le decisioni binarie.
Il ruolo della confidenza nell'inferenza#
I punteggi di confidenza sono una componente fondamentale del flusso di lavoro del motore di inferenza e fungono da filtro per distinguere le previsioni di alta qualità dal rumore di fondo. Questo processo di filtraggio, noto come applicazione di una soglia, consente agli sviluppatori di regolare la sensibilità di un'applicazione. Impostando una soglia minima di confidenza, puoi gestire il fondamentale compromesso tra precisione e richiamo. Una soglia più bassa può rilevare più oggetti, ma aumenta il rischio di falsi positivi, mentre una soglia più alta migliora la precisione, ma potrebbe causare la mancata rilevazione di istanze poco evidenti.
Nelle architetture avanzate come Ultralytics YOLO26, i punteggi di confidenza sono essenziali per le tecniche di post-elaborazione come la soppressione non massima (NMS). NMS utilizza questi punteggi per rimuovere i riquadri di delimitazione ridondanti che si sovrappongono significativamente, conservando solo il rilevamento con la probabilità più alta. Questo passaggio garantisce che l'output finale sia pulito e pronto per attività successive come il conteggio degli oggetti o il tracciamento.
Il seguente esempio in Python mostra come filtrare le previsioni in base alla confidenza utilizzando il pacchetto ultralytics:
from ultralytics import YOLO
# Load the latest YOLO26n model
model = YOLO("yolo26n.pt")
# Run inference with a confidence threshold of 0.5 (50%)
# Only detections with a score above this value are returned
results = model.predict("https://ultralytics.com/images/bus.jpg", conf=0.5)
# Inspect the confidence scores of the detected objects
for box in results[0].boxes:
print(f"Class: {box.cls}, Confidence: {box.conf.item():.2f}")Applicazioni nel mondo reale#
I punteggi di confidenza forniscono un livello di interpretabilità indispensabile nei settori in cui viene applicata la visione artificiale (CV). Aiutano i sistemi automatizzati a determinare quando procedere autonomamente e quando attivare avvisi per la revisione umana.
- Guida autonoma: nel settore dell'IA nel settore automobilistico, i veicoli a guida autonoma si affidano alle metriche di confidenza per garantire la sicurezza dei passeggeri. Se un sistema percettivo rileva un ostacolo con bassa confidenza, potrebbe confrontare questi dati con quelli dei sensori LiDAR o del radar per verificare la presenza dell'oggetto prima di eseguire una manovra d'emergenza. Questa ridondanza aiuta a prevenire le "frenate fantasma" causate da ombre o riflessi.
- Diagnostica medica: quando si utilizza l'IA nel settore sanitario, i modelli assistono i professionisti sanitari segnalando potenziali anomalie nei dati di imaging. Un sistema progettato per il rilevamento dei tumori potrebbe evidenziare le regioni con alta confidenza per una diagnosi immediata, mentre le previsioni con confidenza più bassa vengono registrate per un'analisi secondaria. Questo flusso di lavoro con supervisione umana garantisce che l'IA migliori il processo decisionale clinico senza sostituire il giudizio degli esperti.
- Automazione industriale: nella produzione intelligente, i bracci robotici utilizzano i punteggi di confidenza per interagire con gli oggetti sulle linee di assemblaggio. Un robot dotato di IA per la visione potrebbe tentare di afferrare un componente solo se la confidenza del rilevamento supera il 90%, riducendo così il rischio di danneggiare parti delicate a causa di un disallineamento.
Distinguere la confidenza dai termini correlati#
È fondamentale distinguere la confidenza dalle altre metriche statistiche utilizzate nella valutazione dei modelli.
- Confidenza e accuratezza: l'accuratezza è una metrica globale che descrive la frequenza con cui un modello è corretto nell'intero dataset (ad esempio, "Il modello ha un'accuratezza del 92%"). Al contrario, la confidenza è un valore locale e specifico per una previsione (ad esempio, "Il modello è sicuro al 92% che questa specifica immagine contenga un gatto"). Un modello può avere un'accuratezza globale elevata, ma produrre comunque una confidenza bassa nei casi limite.
- Confidenza e calibrazione delle probabilità: un punteggio di confidenza grezzo non sempre corrisponde alla reale probabilità di correttezza. Un modello è "ben calibrato" se le previsioni effettuate con una confidenza di 0,8 sono corrette circa l'80% delle volte. Tecniche come il ridimensionamento di Platt o la regressione isotona vengono spesso impiegate per allineare i punteggi alle probabilità empiriche.
- Confidenza e precisione: la precisione misura la proporzione delle identificazioni positive che erano effettivamente corrette. Sebbene l'aumento della soglia di confidenza aumenti generalmente la precisione, spesso lo fa a scapito del richiamo. Gli sviluppatori devono regolare questa soglia in base alla priorità dell'applicazione: ridurre il numero di oggetti non rilevati oppure minimizzare i falsi allarmi.
Migliorare la confidenza del modello#
Se un modello produce costantemente una confidenza bassa per oggetti validi, spesso ciò segnala una discrepanza tra i dati di addestramento e l'ambiente di distribuzione. Tra le strategie per attenuare questo problema vi è l'aumento dei dati, che amplia artificialmente il dataset variando illuminazione, rotazione e rumore. Inoltre, l'utilizzo della piattaforma Ultralytics per implementare pipeline di apprendimento attivo consente agli sviluppatori di identificare facilmente i campioni con bassa confidenza, annotarli e riaddestrare il modello. Questo ciclo iterativo è fondamentale per creare agenti di IA robusti, in grado di operare in modo affidabile in contesti dinamici e reali.









