Multiple Instance Learning
El aprendizaje de múltiples instancias se entrena con bolsas de instancias etiquetadas solo en conjunto, como una lámina de patología con un único diagnóstico, y encuentra las instancias clave.
El aprendizaje con instancias múltiples (MIL) es una forma de aprendizaje automático en la que los ejemplos de entrenamiento se agrupan en bolsas y solo cada bolsa tiene una etiqueta, mientras que sus instancias individuales no la tienen. Una imagen digitalizada de una muestra histopatológica etiquetada como «cáncer» es una bolsa de miles de fragmentos de tejido, de los cuales quizá solo unos pocos muestran células tumorales; un vídeo de vigilancia etiquetado como «incidente» es una bolsa de clips cortos, la mayoría sin sucesos destacables. MIL aprende a predecir las etiquetas de las bolsas a partir de esos datos y, en el proceso, a identificar qué instancias son responsables de ellas. Es un tipo de supervisión débil, que se utiliza cuando etiquetar cada instancia llevaría demasiado tiempo a los especialistas o resulta imposible.
Thomas Dietterich, Richard Lathrop y Tomás Lozano-Pérez introdujeron este planteamiento en 1997 para predecir la actividad de fármacos. Una molécula puede adoptar muchas formas, y se une a una diana si al menos una de ellas encaja; por eso, trataron cada molécula como una bolsa de sus posibles formas, cuya única etiqueta era la actividad medida de la molécula.
El supuesto estándar de MIL#
El supuesto clásico para las etiquetas binarias establece que una bolsa es positiva si contiene al menos una instancia positiva y negativa solo si todas sus instancias son negativas. Copiar la etiqueta de una bolsa a cada instancia, como haría el aprendizaje supervisado ordinario, clasifica incorrectamente las numerosas instancias negativas de cada bolsa positiva. En cambio, MIL asigna una puntuación a cada instancia y agrupa las puntuaciones en una predicción para la bolsa. Tomar el máximo coincide exactamente con el supuesto estándar: la bolsa obtiene la puntuación de su instancia más sospechosa y solo la puntuación de esa instancia recibe la señal de retropropagación de la etiqueta de la bolsa.
Este ejemplo de PyTorch entrena un clasificador lineal de instancias con 16 000 bolsas de 20 instancias aleatorias, donde cada bolsa positiva oculta una instancia «testigo» que difiere en 4 de sus 16 características. El entrenamiento utiliza solo las etiquetas de las bolsas, y 1000 bolsas de prueba comprueban tanto las predicciones de las bolsas como si la instancia con mayor puntuación es la testigo:
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")El modelo clasifica correctamente 0.917 de las bolsas de prueba y sitúa la instancia testigo en primer lugar en 0.960 de las bolsas positivas, aunque nunca se haya utilizado ninguna etiqueta de instancia. Esta clasificación de instancias es lo que permite a los sistemas MIL señalar los fragmentos o clips que sustentan una decisión.
Agrupación y MIL basada en la atención#
La agrupación por máximo depende de una sola instancia, por lo que una instancia ruidosa puede cambiar la bolsa. La agrupación por media utiliza todas las instancias, pero diluye una señal poco frecuente; además, se adapta a supuestos colectivos, en los que una etiqueta depende de la proporción de instancias que muestran algo. En 2018, Maximilian Ilse, Jakub Tomczak y Max Welling propusieron el aprendizaje profundo MIL basado en la atención: una red pequeña asigna un peso a cada instancia, y la representación de la bolsa es la media ponderada de las características de las instancias. El mecanismo de atención admite bolsas de cualquier tamaño, ignora el orden de las instancias y genera pesos que sirven como mapa de calor de las regiones que sustentan una predicción, de forma muy similar a los mapas de saliencia.
Las imágenes de portaobjetos completos son demasiado grandes para entrenar el modelo de extremo a extremo, por lo que muchos procesos de patología convierten primero cada fragmento en un vector de características mediante un codificador preentrenado congelado y entrenan solo la red de agrupación y el clasificador con las etiquetas de las imágenes. Un modelo de clasificación de imágenes YOLO26 puede actuar como ese codificador: model.embed() devuelve un vector de características agrupado por cada imagen de entrada, por lo que un lote de fragmentos se convierte en una bolsa de vectores de instancia para una capa de agrupación por atención.
Aplicaciones#
En el análisis de imágenes médicas, MIL elimina la necesidad de que los patólogos delimiten tumores en imágenes de portaobjetos de varios gigapíxeles. Gabriele Campanella y sus colegas del Memorial Sloan Kettering entrenaron un sistema MIL con 44 732 imágenes de portaobjetos completos de 15 187 pacientes usando únicamente los diagnósticos de los informes de patología, y su estudio de 2019 comunicó un área bajo la curva ROC superior a 0.98 para el cáncer de próstata, el carcinoma basocelular y las metástasis de cáncer de mama en los ganglios linfáticos.
En vídeo, Waqas Sultani, Chen Chen y Mubarak Shah trataron cada vídeo de vigilancia como una bolsa de segmentos para la detección de anomalías y publicaron el conjunto de datos UCF-Crime, con 1900 vídeos sin recortar y solo etiquetas a nivel de vídeo, para entrenar un modelo que asigne la puntuación de anomalía más alta a los segmentos en los que se produce un incidente. La detección de objetos con supervisión débil trata una imagen como una bolsa de regiones candidatas etiquetadas únicamente con las clases presentes, y las regiones con mayor puntuación se convierten en las cajas delimitadoras predichas. En todos estos casos, mantener todos los fragmentos o fotogramas de una misma imagen, paciente o vídeo en la misma partición evita la fuga de datos que se produciría al repartir instancias casi idénticas entre los conjuntos de entrenamiento y prueba.
MIL y planteamientos relacionados#
El aprendizaje semisupervisado combina ejemplos completamente etiquetados y sin etiquetar, mientras que todas las bolsas de MIL tienen etiqueta, pero ninguna de sus instancias la tiene. La clasificación multietiqueta asigna varias clases a un ejemplo, y ambas técnicas se combinan en el aprendizaje multinstancia y multietiqueta. El aprendizaje activo puede complementar MIL: cuando las etiquetas a nivel de instancia justifican su coste, se envían a los expertos las instancias con mayor puntuación de las bolsas positivas.










