Multiple Instance Learning
L’apprentissage à instances multiples s’entraîne sur des ensembles d’instances étiquetés uniquement dans leur globalité, comme une lame d’anatomopathologie associée à un seul diagnostic, et repère les instances clés.
L’apprentissage multi-instance (MIL) est une forme d’apprentissage automatique dans laquelle les exemples d’entraînement sont regroupés en sacs, et seul chaque sac porte une étiquette, pas les instances individuelles qu’il contient. Une lame histologique numérisée étiquetée « cancer » est un sac composé de milliers de tuiles de tissu, dont peut-être une poignée montrent des cellules tumorales ; une vidéo de surveillance étiquetée « incident » est un sac de courts clips, dont la plupart ne montrent rien de particulier. Le MIL apprend à prédire les étiquettes des sacs à partir de ces données et, ce faisant, à déterminer quelles instances en sont responsables. Il s’agit d’une forme de supervision faible, utilisée lorsque l’annotation de chaque instance prendrait trop de temps aux spécialistes ou est impossible.
Thomas Dietterich, Richard Lathrop et Tomás Lozano-Pérez ont introduit ce cadre en 1997 pour prédire l’activité de médicaments. Une molécule peut prendre de nombreuses formes et se lie à une cible si au moins l’une d’elles s’y adapte ; ils ont donc traité chaque molécule comme un sac de ses formes possibles, avec pour seule étiquette l’activité mesurée de la molécule.
L’hypothèse MIL standard#
L’hypothèse classique pour les étiquettes binaires veut qu’un sac soit positif s’il contient au moins une instance positive, et négatif uniquement si toutes ses instances sont négatives. Attribuer l’étiquette d’un sac à chacune de ses instances, comme le ferait l’apprentissage supervisé ordinaire, revient à mal étiqueter les nombreuses instances négatives de chaque sac positif. Le MIL attribue plutôt un score à chaque instance et agrège les scores pour produire une prédiction unique pour le sac. Prendre le maximum correspond exactement à l’hypothèse standard : le score du sac est égal à celui de son instance la plus suspecte, et seule cette instance reçoit le signal de rétropropagation issu de l’étiquette du sac.
Cet exemple PyTorch entraîne un évaluateur linéaire d’instances sur 16 000 sacs de 20 instances aléatoires, où chaque sac positif cache une instance « témoin » qui diffère sur 4 de ses 16 caractéristiques. L’entraînement utilise uniquement les étiquettes des sacs, et 1 000 sacs de test vérifient les prédictions des sacs ainsi que si l’instance au score le plus élevé est le témoin :
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")Le modèle classe correctement 0.917 des sacs de test et place le témoin en première position dans 0.960 des sacs positifs, bien qu’aucune étiquette d’instance n’ait jamais été utilisée. Ce classement des instances permet aux systèmes MIL d’indiquer les tuiles ou les clips à l’origine d’une décision.
Agrégation et MIL fondé sur l’attention#
L’agrégation par maximum s’appuie sur une seule instance ; une instance bruitée peut donc faire basculer un sac. L’agrégation par moyenne utilise toutes les instances, mais dilue un signal rare ; elle convient aux hypothèses collectives, où une étiquette dépend de la proportion d’instances présentant un élément donné. En 2018, Maximilian Ilse, Jakub Tomczak et Max Welling ont proposé le MIL profond fondé sur l’attention : un petit réseau attribue un poids à chaque instance, et la représentation du sac est la moyenne pondérée des caractéristiques des instances. Le mécanisme d’attention prend en charge des sacs de toute taille, ignore l’ordre des instances et produit des poids qui servent de carte thermique des régions à l’origine d’une prédiction, à l’instar des cartes de saillance.
Les images de lames entières sont trop volumineuses pour un entraînement de bout en bout. De nombreux pipelines de pathologie convertissent donc d’abord chaque tuile en vecteur de caractéristiques avec un encodeur préentraîné gelé, puis n’entraînent que le réseau d’agrégation et le classificateur sur les étiquettes des lames. Un modèle de classification d’images YOLO26 peut jouer le rôle de cet encodeur : model.embed() renvoie un vecteur de caractéristiques agrégé par image d’entrée, de sorte qu’un lot de tuiles devient un sac de vecteurs d’instances pour une tête d’agrégation par attention.
Applications#
En analyse d’images médicales, le MIL évite aux anatomopathologistes de devoir délimiter les tumeurs sur des lames de plusieurs gigapixels. Gabriele Campanella et ses collègues du Memorial Sloan Kettering ont entraîné un système MIL sur 44 732 images de lames entières provenant de 15 187 patients, en utilisant uniquement les diagnostics des comptes rendus anatomopathologiques. Leur étude de 2019 a rapporté une aire sous la courbe ROC supérieure à 0,98 pour le cancer de la prostate, le carcinome basocellulaire et les métastases du cancer du sein dans les ganglions lymphatiques.
Pour la vidéo, Waqas Sultani, Chen Chen et Mubarak Shah ont traité chaque vidéo de surveillance comme un sac de segments pour la détection d’anomalies et ont publié le jeu de données UCF-Crime, composé de 1 900 vidéos non découpées annotées uniquement au niveau de la vidéo, qui servent à entraîner un modèle à attribuer le score d’anomalie le plus élevé aux segments où se produit un incident. La détection d’objets à supervision faible traite une image comme un sac de régions candidates étiquetées uniquement par les classes présentes ; les régions aux scores les plus élevés deviennent les boîtes englobantes prédites. Dans tous ces contextes, conserver toutes les tuiles ou images d’une même lame, d’un même patient ou d’une même vidéo dans le même sous-ensemble évite la fuite de données qui surviendrait si des instances presque identiques étaient dispersées entre les ensembles d’entraînement et de test.
Le MIL et les cadres apparentés#
L’apprentissage semi-supervisé combine des exemples entièrement étiquetés et non étiquetés, tandis que chaque sac MIL est étiqueté, mais aucune de ses instances ne l’est. La classification multilabel attribue plusieurs classes à un même exemple, et les deux approches se combinent dans l’apprentissage multi-instance multilabel. L’apprentissage actif peut compléter le MIL en envoyant aux experts les instances ayant les scores les plus élevés dans les sacs positifs, lorsque leur annotation individuelle justifie son coût.










