Multiple Instance Learning
L'apprendimento con istanze multiple addestra modelli su gruppi di istanze etichettati solo nel loro insieme, per esempio una diapositiva di anatomia patologica con una sola diagnosi, e individua le istanze chiave.
L'apprendimento multi-istanza (MIL) è una forma di apprendimento automatico in cui gli esempi di training sono raggruppati in insiemi chiamati bag, e solo ogni bag ha un'etichetta, mentre le singole istanze al suo interno non ne hanno una. Un vetrino istologico digitalizzato etichettato «cancro» è un bag composto da migliaia di tasselli di tessuto, di cui forse solo una manciata mostra cellule tumorali; un video di sorveglianza etichettato «incidente» è un bag di brevi clip, la maggior parte delle quali non presenta eventi rilevanti. Il MIL impara a predire le etichette dei bag a partire da dati di questo tipo e, nel processo, quali istanze ne sono responsabili. È una forma di supervisione debole, usata quando etichettare ogni istanza richiederebbe troppo tempo agli specialisti o è impossibile.
Thomas Dietterich, Richard Lathrop e Tomás Lozano-Pérez introdussero questo approccio nel 1997 per predire l'attività farmacologica. Una molecola può assumere molte forme e si lega a un bersaglio se almeno una di esse è compatibile; per questo trattarono ogni molecola come un bag delle sue possibili forme, usando come etichetta solo l'attività misurata della molecola.
L'ipotesi standard del MIL#
L'ipotesi classica per le etichette binarie è che un bag sia positivo se contiene almeno un'istanza positiva e negativo solo se tutte le sue istanze sono negative. Assegnare l'etichetta del bag a ogni istanza, come farebbe il normale apprendimento supervisionato, etichetta erroneamente le numerose istanze negative presenti in ogni bag positivo. Il MIL assegna invece un punteggio a ogni istanza e aggrega i punteggi in un'unica predizione per il bag. Usare il massimo corrisponde esattamente all'ipotesi standard: il bag riceve un punteggio pari a quello della sua istanza più sospetta e solo il punteggio di quell'istanza riceve il segnale di backpropagation dall'etichetta del bag.
Questo esempio PyTorch addestra un classificatore lineare delle istanze su 16.000 bag composti da 20 istanze casuali, in cui ogni bag positivo nasconde un'istanza «testimone» che differisce in 4 delle sue 16 feature. Il training usa solo le etichette dei bag e 1.000 bag di test verificano sia le predizioni dei bag sia se l'istanza con il punteggio più alto è quella testimone:
import torch
torch.manual_seed(0)
n = 17000 # 16,000 training bags and 1,000 test bags, each holding 20 instances with 16 features
bags, labels, witness = torch.randn(n, 20, 16), torch.randint(0, 2, (n,)).float(), torch.randint(0, 20, (n,))
bags[torch.arange(n), witness, :4] += 2.0 * labels[:, None] # a positive bag hides one shifted "witness" instance
scorer = torch.nn.Linear(16, 1) # gives every instance a score
optimizer = torch.optim.Adam(scorer.parameters(), lr=1e-2)
for i in range(0, 16000, 32): # train on 32 bags per step, using bag labels only
bag_logits = scorer(bags[i : i + 32]).squeeze(-1).max(dim=1).values # max pooling: a bag scores as its top instance
loss = torch.nn.functional.binary_cross_entropy_with_logits(bag_logits, labels[i : i + 32])
optimizer.zero_grad()
loss.backward()
optimizer.step()
with torch.no_grad():
scores = scorer(bags[16000:]).squeeze(-1) # one score per test instance
positive = labels[16000:].bool()
bag_accuracy = ((scores.max(dim=1).values > 0) == positive).float().mean()
located = (scores.argmax(dim=1) == witness[16000:])[positive].float().mean()
print(f"Bag accuracy: {bag_accuracy:.3f}, witness ranked first in {located:.3f} of positive bags")Il modello classifica correttamente 0,917 dei bag di test e assegna il primo posto all'istanza testimone in 0,960 dei bag positivi, sebbene non sia mai stata usata alcuna etichetta di istanza. Questa capacità di classificare le istanze consente ai sistemi MIL di indicare i tasselli o le clip alla base di una decisione.
Pooling e MIL basato sull'attenzione#
Il max pooling si basa su una sola istanza, quindi un'unica istanza rumorosa può ribaltare la classificazione di un bag. Il mean pooling usa tutte le istanze, ma attenua un segnale raro; è invece adatto alle ipotesi collettive, in cui un'etichetta dipende dalla proporzione di istanze che mostrano un certo fenomeno. Nel 2018 Maximilian Ilse, Jakub Tomczak e Max Welling proposero il MIL profondo basato sull'attenzione: una piccola rete assegna un peso a ogni istanza e la rappresentazione del bag è la media ponderata delle feature delle istanze. Il meccanismo di attenzione gestisce bag di qualsiasi dimensione, ignora l'ordine delle istanze e produce pesi che fungono da mappa di calore delle regioni alla base di una predizione, in modo simile alle mappe di salienza.
Le immagini di vetrini interi sono troppo grandi per addestrare un modello end-to-end, quindi molte pipeline di anatomia patologica trasformano prima ogni tassello in un vettore di feature con un encoder preaddestrato congelato e addestrano il classificatore e la rete di pooling solo sulle etichette dei vetrini. Un modello di classificazione delle immagini YOLO26 può svolgere il ruolo di encoder: model.embed() restituisce un vettore di feature aggregato per ogni immagine di input, così che un batch di tasselli diventi un bag di vettori di istanza per una testa con pooling basato sull'attenzione.
Applicazioni#
Nell'analisi di immagini mediche, il MIL evita che gli anatomopatologi debbano delineare i tumori su vetrini da gigapixel. Gabriele Campanella e colleghi del Memorial Sloan Kettering hanno addestrato un sistema MIL su 44.732 immagini di vetrini interi provenienti da 15.187 pazienti, usando solo le diagnosi riportate nei referti di anatomia patologica; nel loro studio del 2019 hanno riportato un'area sotto la curva ROC superiore a 0,98 per il cancro alla prostata, il carcinoma basocellulare e le metastasi del cancro al seno nei linfonodi.
Nel campo dei video, Waqas Sultani, Chen Chen e Mubarak Shah hanno trattato ogni video di sorveglianza come un bag di segmenti per il rilevamento delle anomalie e hanno rilasciato il dataset UCF-Crime, composto da 1.900 video non tagliati con sole etichette a livello di video; questi dati addestrano un modello ad assegnare il punteggio di anomalia più alto ai segmenti in cui si verifica un incidente. Il rilevamento di oggetti con supervisione debole tratta un'immagine come un bag di regioni candidate etichettate solo con le classi presenti; le regioni con il punteggio più alto diventano le bounding box predette. In tutti questi casi, mantenere tutti i tasselli o fotogrammi dello stesso vetrino, paziente o video nella medesima suddivisione evita il data leakage che si verificherebbe distribuendo istanze quasi identiche tra i set di training e di test.
Il MIL e gli approcci correlati#
L'apprendimento semi-supervisionato combina esempi etichettati completamente ed esempi non etichettati, mentre in ogni bag MIL il bag è etichettato ma nessuna delle sue istanze lo è. La classificazione multilabel assegna più classi a un solo esempio; le due tecniche si combinano nell'apprendimento multi-istanza multilabel. L'apprendimento attivo può affiancare il MIL, inviando agli esperti le istanze con il punteggio più alto dei bag positivi quando il costo delle etichette a livello di istanza diventa giustificato.










