Multiple Instance Learning
Beim Multiple Instance Learning wird mit Gruppen von Instanzen trainiert, die nur als Ganzes beschriftet sind – etwa mit einem Pathologiebild, dem eine einzelne Diagnose zugeordnet ist. Das Modell findet dabei die entscheidenden Instanzen.
Multiple Instance Learning (MIL) ist eine Form des maschinellen Lernens, bei der Trainingsbeispiele in Gruppen, sogenannten Bags, vorliegen. Nur jede Bag hat ein Label, nicht aber die einzelnen darin enthaltenen Instanzen. Ein digitalisierter Pathologie-Schnitt mit dem Label „Krebs“ ist eine Bag aus Tausenden Gewebekacheln, von denen vielleicht nur einige Tumorzellen zeigen; ein Überwachungsvideo mit dem Label „Vorfall“ ist eine Bag aus kurzen Clips, von denen die meisten ereignislos sind. MIL lernt, die Labels solcher Bags vorherzusagen und dabei zu erkennen, welche Instanzen dafür verantwortlich sind. Es handelt sich um eine Form des schwach überwachten Lernens, die eingesetzt wird, wenn es zu lange dauern würde oder unmöglich wäre, jede Instanz einzeln zu labeln.
Thomas Dietterich, Richard Lathrop und Tomás Lozano-Pérez führten diesen Ansatz 1997 zur Vorhersage der Wirkstoffaktivität ein. Ein Molekül kann viele Formen annehmen und bindet an ein Ziel, wenn mindestens eine davon passt. Daher behandelten sie jedes Molekül als Bag seiner möglichen Formen und verwendeten nur die gemessene Aktivität des Moleküls als Label.
Die standardmäßige MIL-Annahme#
Die klassische Annahme für binäre Labels lautet: Eine Bag ist positiv, wenn sie mindestens eine positive Instanz enthält, und nur dann negativ, wenn alle ihre Instanzen negativ sind. Würde man jeder Instanz das Label ihrer Bag zuweisen, wie es beim gewöhnlichen überwachten Lernen geschähe, erhielten die vielen negativen Instanzen in jeder positiven Bag falsche Labels. Stattdessen bewertet MIL jede Instanz und fasst die Bewertungen zu einer Vorhersage für die gesamte Bag zusammen. Die Verwendung des Maximums entspricht genau der Standardannahme: Die Bewertung einer Bag entspricht der ihrer verdächtigsten Instanz, und nur diese Instanz erhält das Signal der Backpropagation aus dem Bag-Label.
Dieses PyTorch-Beispiel trainiert einen linearen Instanzbewerter anhand von 16.000 Bags mit jeweils 20 zufälligen Instanzen. In jeder positiven Bag ist eine „Zeugen“-Instanz verborgen, die sich bei 4 ihrer 16 Merkmale unterscheidet. Das Training verwendet ausschließlich Bag-Labels; 1.000 Test-Bags prüfen sowohl die Vorhersagen für die Bags als auch, ob die Instanz mit der höchsten Bewertung die Zeugen-Instanz ist:
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")Das Modell klassifiziert 0,917 der Test-Bags korrekt und stuft die Zeugen-Instanz bei 0,960 der positiven Bags an erster Stelle ein, obwohl nie ein Instanzlabel verwendet wurde. Durch diese Rangfolge der Instanzen können MIL-Systeme auf die Kacheln oder Clips verweisen, die einer Entscheidung zugrunde liegen.
Pooling und auf Aufmerksamkeit basierendes MIL#
Max-Pooling stützt sich auf eine einzelne Instanz, sodass eine verrauschte Instanz eine Bag umkippen kann. Mean-Pooling nutzt jede Instanz, schwächt aber ein seltenes Signal ab und eignet sich für kollektive Annahmen, bei denen ein Label vom Anteil der Instanzen abhängt, die etwas Bestimmtes zeigen. Maximilian Ilse, Jakub Tomczak und Max Welling schlugen 2018 tiefes, auf Aufmerksamkeit basierendes MIL vor: Ein kleines Netzwerk weist jeder Instanz ein Gewicht zu, und die Repräsentation der Bag ist der gewichtete Mittelwert der Instanzmerkmale. Der Aufmerksamkeitsmechanismus verarbeitet Bags beliebiger Größe, ignoriert die Reihenfolge der Instanzen und erzeugt Gewichte, die als Heatmap der für eine Vorhersage maßgeblichen Bereiche dienen – ähnlich wie Saliency Maps.
Ganzobjekt-Schnittbilder sind zu groß, um sie durchgängig zu trainieren. Deshalb wandeln viele Pathologie-Pipelines zunächst jede Kachel mit einem eingefrorenen, vortrainierten Encoder in einen Merkmalsvektor um und trainieren anhand der Schnittbild-Labels nur das Pooling-Netzwerk und den Klassifikator. Ein YOLO26-Modell zur Bildklassifizierung kann diese Encoderfunktion übernehmen: model.embed() gibt einen aggregierten Merkmalsvektor je Eingabebild zurück, sodass ein Stapel von Kacheln zu einer Bag von Instanzvektoren für einen Attention-Pooling-Kopf wird.
Anwendungen#
Bei der medizinischen Bildanalyse macht MIL es überflüssig, dass Pathologen Tumore auf Gigapixel-Schnitten umranden. Gabriele Campanella und Kollegen am Memorial Sloan Kettering trainierten ein MIL-System anhand von 44.732 Ganzobjekt-Schnittbildern von 15.187 Patienten, wobei sie nur die Diagnosen in den Pathologieberichten verwendeten. Ihre Studie von 2019 berichtete für Prostatakrebs, Basalzellkarzinom und Brustkrebsmetastasen in Lymphknoten eine Fläche unter der ROC-Kurve von über 0,98.
Bei Videos behandelten Waqas Sultani, Chen Chen und Mubarak Shah jedes Überwachungsvideo als Bag von Segmenten zur Anomalieerkennung und veröffentlichten den UCF-Crime-Datensatz mit 1.900 ungeschnittenen Videos, die nur Labels auf Videoebene haben. Damit wird ein Modell darauf trainiert, den Segmenten, in denen ein Vorfall geschieht, die höchste Anomaliebewertung zuzuweisen. Bei schwach überwachter Objekterkennung gilt ein Bild als Bag möglicher Regionen, die nur mit den darin enthaltenen Klassen gekennzeichnet sind; die am höchsten bewerteten Regionen werden als vorhergesagte Begrenzungsrahmen ausgegeben. Bei all diesen Ansätzen verhindert es Daten-Leakage, wenn alle Kacheln oder Frames eines Schnittbilds, Patienten oder Videos in derselben Aufteilung bleiben. Andernfalls könnten nahezu identische Instanzen auf Trainings- und Testdaten verteilt werden.
MIL und verwandte Ansätze#
Beim teilüberwachten Lernen werden vollständig gelabelte und ungelabelte Beispiele kombiniert; bei MIL sind alle Bags gelabelt, aber keine ihrer Instanzen. Bei der Mehrfachklassifizierung erhält ein Beispiel mehrere Klassen, und beides wird beim Multi-Instance-Multi-Label-Lernen kombiniert. Aktives Lernen kann auf MIL folgen und die am höchsten bewerteten Instanzen positiver Bags an Fachleute weiterleiten, wenn sich Instanzlabels lohnen.










