Concept Bottleneck Models
Scopri come i concept bottleneck model migliorano l'AI spiegabile con concetti comprensibili agli esseri umani, l'intervento degli esperti e workflow pratici di visione con Ultralytics YOLO26.
I modelli a collo di bottiglia concettuale (CBMs) sono reti neurali che producono una previsione attraverso un livello intermedio di concetti comprensibili dagli esseri umani. Invece di mappare direttamente un input su un'etichetta finale, un CBM prevede prima attributi significativi, come «ala rossa», «crepa superficiale» o «restringimento articolare», e poi utilizza solo tali attributi per produrre la propria decisione. Questa struttura rende il modello più facile da ispezionare, sottoporre a debug e correggere rispetto a un modello convenzionale a scatola nera.
Come funzionano i modelli a collo di bottiglia concettuale#
Una rete neurale standard rappresenta spesso le informazioni in uno spazio latente opaco. Un CBM sostituisce una parte di questa rappresentazione nascosta con un vettore di concetti le cui dimensioni hanno significati definiti.
La sua pipeline di previsione comprende due fasi principali:
- Un predittore di concetti mappa l'input grezzo, ad esempio un'immagine, su valori concettuali.
- Un predittore del target mappa questi valori concettuali sulla classe o sul punteggio finale.
Ad esempio, un classificatore di uccelli potrebbe prevedere «becco nero», «petto bianco» e «coda lunga» prima di identificare la specie. I concetti possono essere binari, categoriali o continui. In genere vengono appresi tramite apprendimento supervisionato, che richiede che ogni esempio di addestramento includa sia le etichette target sia le annotazioni dei concetti.
Le due fasi possono essere addestrate indipendentemente, in sequenza o congiuntamente. L'addestramento indipendente rende esplicita la separazione, mentre l'addestramento congiunto può bilanciare la qualità dei concetti con le prestazioni sul task finale. In ogni caso, il collo di bottiglia dovrebbe limitare il predittore del target ai concetti dichiarati; altrimenti, informazioni nascoste potrebbero bypassare la spiegazione prevista.
Perché l'interpretabilità e l'intervento sono importanti#
I CBM sono una forma di IA spiegabile intrinseca: la loro struttura interpretabile è integrata nella previsione invece di essere aggiunta successivamente. Ciò differisce dagli strumenti post-hoc, come le mappe di salienza, che stimano ciò che ha influenzato una scatola nera già addestrata.
Il livello dei concetti supporta diverse interazioni utili:
- Gli utenti possono esaminare quali concetti hanno causato una decisione.
- Gli esperti del dominio possono correggere un concetto inaccurato e ricalcolare l'output.
- Gli sviluppatori possono verificare se il predittore del target segue una logica di dominio valida.
- I team possono misurare separatamente l'accuratezza dei concetti e quella del task finale.
Queste funzionalità sono in linea con le indicazioni del NIST sull'IA spiegabile e con i controlli incentrati sull'essere umano descritti nel People + AI Guidebook. Tuttavia, una spiegazione comprensibile non è automaticamente corretta. La fedeltà dei concetti deve essere valutata, non data per scontata.
Applicazioni nel mondo reale#
-
Analisi di immagini medicali: Un modello che esamina una radiografia potrebbe stimare concetti come osteofiti, restringimento dello spazio articolare e sclerosi prima di classificare la gravità della malattia. Un medico può esaminare o correggere questi risultati intermedi invece di ricevere solo un punteggio di gravità. Questa interazione tra essere umano e modello è particolarmente rilevante per i principi di trasparenza della FDA per i dispositivi medici basati sul machine learning.
-
Ispezione visiva nella produzione: Un sistema di visione può identificare concetti come componenti mancanti, crepe, scolorimento o allineamento errato, quindi utilizzarli per decidere se un prodotto supera l'ispezione o richiede una riparazione specifica. Il rilevamento degli oggetti può localizzare componenti e difetti, mentre il classificatore basato sui concetti a valle fornisce una decisione sulla qualità verificabile.
Limitazioni e concetti correlati#
Le etichette dei concetti creano costi aggiuntivi di annotazione dei dati e possono richiedere conoscenze specialistiche. I concetti definiti in modo inadeguato possono essere soggettivi, correlati, incompleti o difficili da riconoscere nell'input. I team dovrebbero creare regole di etichettatura precise e verificare i disaccordi tra gli annotatori.
Altri rischi importanti includono errori nella previsione dei concetti, punteggi non calibrati e la dispersione dei concetti, in cui valori concettuali continui codificano informazioni non intenzionali oltre al significato dichiarato. Le indicazioni sulla calibrazione delle probabilità possono aiutare a determinare se i valori di confidenza dei concetti siano affidabili.
Un CBM è inoltre diverso dall'ingegneria delle feature: le feature progettate sono input calcolati manualmente, mentre i concetti vengono normalmente previsti dai dati grezzi e supervisionati esplicitamente. Non è la stessa cosa del principio del collo di bottiglia informativo, che comprime le rappresentazioni senza richiedere che ogni dimensione sia leggibile dagli esseri umani.
Le prestazioni dei concetti dovrebbero essere verificate su segmenti di dati pertinenti, poiché annotazioni distorte o concetti mancanti possono produrre errori disuguali. Le indicazioni di Google per identificare i bias nel ML e il NIST AI RMF Core forniscono pratiche utili di valutazione e governance.
Creazione di una pipeline di visione pratica#
Un modello Ultralytics YOLO26 può fungere da estrattore visivo di concetti a monte. Il seguente flusso di lavoro della modalità Predict raccoglie le classi degli oggetti rilevati come segnali concettuali candidati:
from ultralytics import YOLO
# Load a pretrained visual concept extractor
model = YOLO("yolo26n.pt")
# Run inference and select the first result
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Convert detected classes into human-readable concept candidates
concepts = {result.names[int(class_id)] for class_id in result.boxes.cls}
print(sorted(concepts))
result.save(filename="concept_candidates.jpg")Questo non è un CBM completo: è ancora necessario addestrare un modello a valle per prevedere il target finale esclusivamente a partire dai concetti selezionati. I team possono utilizzare Ultralytics Platform per annotare dati visivi, addestrare estrattori di concetti, confrontare esperimenti e monitorare i componenti distribuiti. Valuta separatamente l'accuratezza dei concetti, l'accuratezza del target, la calibrazione, il comportamento durante gli interventi e i sottogruppi importanti utilizzando un flusso di lavoro strutturato per la valutazione del modello.









