Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Concept Bottleneck Models

I modelli con collo di bottiglia basato sui concetti (CBM) prevedono prima concetti denominati da persone e ricavano da essi l'etichetta, così gli esperti possono esaminare e correggere ogni decisione.

Un modello con collo di bottiglia concettuale (CBM) è una rete neurale che prima predice, a partire dal proprio input, un insieme di concetti denominati dagli esseri umani e poi predice l’etichetta finale usando solo quei concetti. Nel caso di una radiografia del ginocchio, i concetti potrebbero essere il restringimento dello spazio articolare e gli osteofiti; per la foto di un uccello, il colore delle ali e la forma del becco. Poiché ogni previsione passa attraverso questo livello ristretto e dotato di etichette, una persona può vedere quali concetti hanno guidato la decisione e correggere un concetto errato per modificare il risultato: questo rende i CBM una forma di intelligenza artificiale spiegabile (XAI) integrata nell’architettura. Pang Wei Koh, Thao Nguyen, Yew Siang Tang, Stephen Mussmann, Emma Pierson, Been Kim e Percy Liang, di Stanford e Google, hanno introdotto il termine in Modelli con collo di bottiglia concettuale a ICML 2020, mostrando un’accuratezza competitiva rispetto ai modelli standard end-to-end in due attività: valutare il grado di osteoartrosi del ginocchio dalle radiografie e identificare le specie di uccelli.

Come funzionano i modelli a collo di bottiglia concettuale#

Un CBM ha due componenti: un predittore di concetti, che mappa l’input, per esempio un’immagine, in valori dei concetti, e un predittore di etichette, che mappa tali valori nell’output. Koh e colleghi hanno confrontato tre modalità di addestramento:

  • Indipendente: il predittore di concetti apprende dalle annotazioni dei concetti e il predittore di etichette dai concetti reali, ciascuno separatamente.
  • Sequenziale: prima si addestra il predittore di concetti, poi il predittore di etichette apprende dai concetti predetti.
  • Congiunto: entrambe le componenti vengono addestrate insieme su una somma ponderata della perdita sui concetti e della perdita sulle etichette.

Nel dataset Osteoarthritis Initiative, composto da 36.369 radiografie del ginocchio etichettate con il grado di gravità Kellgren-Lawrence, i concetti erano 10 reperti ordinali già valutati dai radiologi, come il restringimento dello spazio articolare, gli osteofiti e la sclerosi ossea. Nel dataset Caltech-UCSD Birds, con 11.788 foto di 200 specie, erano 112 attributi binari, come il colore delle ali e la forma del becco. Ogni esempio di addestramento richiede annotazioni sia dei concetti sia delle etichette: questo è il costo principale dell’approccio.

Il collo di bottiglia consente interventi in fase di test: quando un esperto rileva che un concetto predetto è errato, lo sostituisce con il valore corretto e il predittore di etichette ricalcola l’output. Nell’attività sulle radiografie, fornire i valori reali di appena due concetti ha ridotto l’errore del grado di gravità predetto da oltre 0,4 a circa 0,3 RMSE.

Questo esempio PyTorch addestra un CBM indipendente su dati giocattolo, in cui sei concetti binari generano input rumorosi e l’etichetta dipende soltanto dai concetti; poi misura l’accuratezza delle etichette mentre un esperto fornisce i valori reali dei concetti con il livello di certezza più basso:

import torch
from torch import nn

torch.manual_seed(0)
# Toy data: 6 binary concepts generate noisy 20-D inputs, and the label depends only on the concepts
concepts = torch.randint(0, 2, (3000, 6)).float()
inputs = concepts @ torch.randn(6, 20) + 2 * torch.randn(3000, 20)
labels = (concepts @ torch.tensor([3.0, 2, 2, 1, 1, 1]) >= 5).float()
train, test = slice(0, 2000), slice(2000, None)

# Independent training: inputs -> concepts, and concepts -> label, each against its own ground truth
concept_model, label_model = nn.Linear(20, 6), nn.Linear(6, 1)
optimizer = torch.optim.Adam([*concept_model.parameters(), *label_model.parameters()], lr=0.05)
bce = nn.functional.binary_cross_entropy_with_logits
for _ in range(500):
    optimizer.zero_grad()
    loss = bce(concept_model(inputs[train]), concepts[train]) + bce(label_model(concepts[train])[:, 0], labels[train])
    loss.backward()
    optimizer.step()

with torch.no_grad():
    probs = concept_model(inputs[test]).sigmoid()
    print(f"Concept accuracy: {((probs > 0.5) == concepts[test]).float().mean():.3f}")
    for k in range(4):
        # Test-time intervention: replace the k least certain predicted concepts with their true values
        uncertain = (probs - 0.5).abs().argsort(dim=1)[:, :k]
        fixed = probs.scatter(1, uncertain, concepts[test].gather(1, uncertain))
        accuracy = ((label_model(fixed)[:, 0] > 0) == labels[test].bool()).float().mean()
        print(f"Intervene on {k} of 6 concepts: label accuracy {accuracy:.3f}")

Il predittore di concetti indovina 0.834 dei 6.000 concetti di test e il CBM etichetta correttamente 0.819 dei 1.000 esempi di test. Fornire i valori reali dei concetti meno certi, uno, due e tre per esempio, aumenta l’accuratezza delle etichette a 0.861, 0.915 e 0.951, senza modificare nessuno dei due modelli.

Dove vengono usati i CBM#

I CBM sono adatti ai settori in cui gli esperti ragionano già usando reperti con nomi definiti. Nell’analisi di immagini mediche, lo studio sulle radiografie citato sopra ha usato gli stessi reperti registrati dai radiologi, così un medico può controllarli uno per uno. Il monitoraggio della sicurezza presenta una struttura analoga: un modello Ultralytics YOLO26 addestrato sul dataset Construction-PPE rileva classi con nomi definiti, come helmet, no_helmet, vest e no_boots; una regola di conformità che legge soltanto quei rilevamenti diventa un collo di bottiglia concettuale le cui decisioni possono essere ricondotte a uno specifico elemento mancante.

I lavori successivi hanno allentato il requisito delle annotazioni. I CBM senza etichette generano un elenco di concetti con un modello linguistico e assegnano un punteggio ai concetti con CLIP, estendendo l’approccio a ImageNet senza etichette dei concetti; i CBM post hoc convertono invece un modello già addestrato proiettandone gli embedding su direzioni concettuali.

Limiti#

Gli insiemi di concetti raramente comprendono tutto ciò che determina l’etichetta, e questo limita l’accuratezza di un CBM. Quando il predittore di etichette riceve probabilità dei concetti invece di valori netti, tali probabilità possono contenere informazioni aggiuntive sull’etichetta che vanno oltre il significato di ciascun concetto: un effetto chiamato dispersione dei concetti, che riduce l’affidabilità delle spiegazioni e degli interventi. I modelli con embedding concettuali rappresentano ogni concetto con un vettore appreso, per mantenere alta l’accuratezza e consentire comunque gli interventi. Concetti definiti male o correlati producono spiegazioni inaffidabili, mentre annotazioni distorte dei concetti introducono distorsioni in ogni decisione che ne dipende.

  • Mappe di salienza: evidenziano i pixel che hanno influenzato un modello black box già addestrato. I CBM spiegano le decisioni in termini di concetti con nomi definiti e permettono di modificare tali concetti.
  • Interpretabilità meccanicistica: esegue il reverse engineering delle caratteristiche e dei circuiti appresi autonomamente da un modello addestrato. I CBM fissano in anticipo i concetti intermedi tramite la supervisione.
  • Sondaggio lineare: verifica se un concetto può essere decodificato dalle attivazioni di un modello addestrato senza modificarne il comportamento predittivo. Le sonde concettuali applicate a modelli black box, come TCAV di Been Kim e colleghi, misurano a posteriori l’influenza di un concetto.
  • Ingegneria delle caratteristiche: calcola manualmente le caratteristiche di input a partire dai dati grezzi. Nei CBM, un modello addestrato predice i concetti dagli input grezzi e li supervisiona usando etichette umane.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning