Multiple Instance Learning
Aprende como a Aprendizagem por Instâncias Múltiplas usa rótulos ao nível do saco, agregação de instâncias e supervisão fraca para imagiologia médica, inspeção e classificação.
O Multiple Instance Learning (MIL) é uma abordagem de machine learning em que os exemplos de treino são organizados em grupos chamados bags (sacos), enquanto os elementos dentro de cada bag são chamados instances (instâncias). O modelo recebe um rótulo para o bag inteiro, mas não para cada instância. Por exemplo, uma lâmina de patologia pode ser rotulada como “câncer presente” sem identificar quais regiões da imagem contêm células cancerígenas. O MIL é útil quando a anotação detalhada é cara, ambígua ou indisponível.
Como funciona o Multiple Instance Learning#
No supervised learning convencional, cada exemplo de treino tem o seu próprio rótulo. O MIL altera a unidade de supervisão: o rótulo pertence a um conjunto de exemplos relacionados.
Um bag pode ser um vídeo contendo vários quadros, um documento contendo várias passagens ou uma imagem grande dividida em patches. Cada quadro, passagem ou patch é uma instância. Um modelo MIL típico tem três componentes:
- Um instance encoder converte cada instância numa representação de características numéricas.
- Uma aggregation function combina as representações de instâncias numa única representação de bag.
- Um bag classifier prevê o rótulo do bag a partir dessa representação combinada.
Para classificação binária, o pressuposto tradicional do MIL diz que um bag positivo contém pelo menos uma instância positiva, enquanto cada instância num bag negativo é negativa. Este pressuposto adequa-se a tarefas onde uma pequena região pode determinar o resultado geral. Outros problemas exigem pressupostos coletivos, como prever um rótulo positivo apenas quando várias instâncias mostram evidências de apoio.
Como o MIL aprende a partir de rótulos de bags, é considerado uma forma de weak supervision. Ao contrário da image classification comum, não assume que a imagem completa ou todas as regiões exprimem a classe atribuída. Isto evita copiar incorretamente o rótulo de um bag para todas as instâncias.
Agregação e Importância das Instâncias#
A agregação deve lidar com diferentes tamanhos de bag e geralmente deve ser independente da ordem das instâncias. As estratégias comuns incluem:
- Max pooling: Utiliza o sinal de instância mais forte. Corresponde ao pressuposto de “pelo menos uma instância positiva”, mas pode ser sensível a valores atípicos.
- Mean pooling: Faz a média das evidências em todo o bag. Funciona melhor quando muitas instâncias contribuem, mas pode diluir evidências positivas raras.
- Attention pooling: Aprende com que intensidade cada instância deve influenciar o resultado. Os pesos resultantes podem indicar regiões importantes, embora não sejam garantidamente explicações.
A saída agrupada é convertida numa pontuação de bag, utilizando frequentemente uma função de probabilidade como Softmax. O treino compara esta pontuação com o rótulo do bag e utiliza a backpropagation para atualizar o codificador e o agregador em conjunto.
O MIL otimiza principalmente previsões ao nível do bag. Mesmo quando um modelo atribui alta importância a instâncias específicas, essas pontuações não são automaticamente rótulos de instâncias fiáveis ou localizações precisas.
Aplicações no Mundo Real#
-
Análise de imagens médicas: Uma lâmina de tecido digitalizada pode conter milhares de patches, enquanto o diagnóstico disponível se aplica apenas ao paciente ou à lâmina. O MIL pode processar os patches como instâncias e prever se a lâmina completa contém evidências de doença. Isto é valioso para a medical image analysis porque desenhar limites detalhados em torno de cada região anormal requer o tempo de um especialista. Os NCI Genomic Data Commons AI resources descrevem imagens de lâminas inteiras como entradas para classificação de cancro, deteção de características e previsão de resultados. (gdc.cancer.gov)
-
Inspeção visual industrial: Um componente fabricado pode ser fotografado a partir de vários ângulos ou gravado como uma sequência curta. Os inspetores de qualidade podem rotular a inspeção completa como “defeituosa” sem identificar a vista exata que contém uma fissura ou peça em falta. O MIL pode tratar as vistas como um único bag e aprender qual evidência visual prevê falhas. Se forem necessárias mais tarde localizações precisas de defeitos, as instâncias selecionadas podem ser anotadas para object detection ou instance segmentation.
Configurações de Aprendizagem Relacionadas#
O MIL difere de várias abordagens intimamente relacionadas:
- Weak supervision é a categoria mais ampla que abrange rótulos incompletos, ruidosos ou indiretos. O MIL utiliza especificamente rótulos associados a bags de instâncias.
- Semi-supervised learning combina exemplos rotulados e não rotulados. Os bags de MIL são rotulados, mas as suas instâncias individuais normalmente não são.
- Multi-label learning prevê várias classes para um único exemplo. O MIL descreve como os exemplos são agrupados, pelo que um sistema pode ser simultaneamente multi-instância e multirrótulo.
- Attention mechanisms determinam como a informação é ponderada ou combinada. Podem implementar agregação MIL, mas não definem o MIL por si próprios.
- Object detection requer anotações localizadas, como caixas delimitadoras. O MIL por vezes consegue destacar regiões prováveis, mas o treino ao nível do bag por si só não fornece localizações de objetos verificadas.
Fluxo de Trabalho Prático e Avaliação#
O esboço de inferência seguinte utiliza um Ultralytics YOLO26 classification model para pontuar duas instâncias de imagem e aplica a agregação máxima. Demonstra o conceito de decisão de bag em vez de um modelo MIL treinado em conjunto.
from ultralytics import YOLO
# Treat related images as instances within one bag
sources = [
"https://ultralytics.com/images/bus.jpg",
"https://ultralytics.com/images/zidane.jpg",
]
model = YOLO("yolo26n-cls.pt")
results = model(sources)
# Aggregate evidence for one target class across the bag
target_name = "minibus"
target_id = next(i for i, name in results[0].names.items() if name == target_name)
instance_scores = [float(result.probs.data[target_id]) for result in results]
bag_score = max(instance_scores)
print(f"{target_name} bag probability: {bag_score:.3f}")Uma implementação MIL completa treina um agregador consciente de bags utilizando rótulos de bags. O Ultralytics YOLO suporta classification workflows padrão, enquanto a lógica MIL personalizada é necessária para agrupar instâncias e otimizar a perda ao nível do bag.
Os profissionais devem preservar os limites dos bags durante a criação de lotes, testar múltiplas regras de agregação e evitar que instâncias relacionadas atravessem divisões de conjuntos de dados. Ferramentas como a GroupKFold cross-validation podem manter patches do mesmo paciente, vídeo ou produto juntos. Avalia a precision and recall ao nível do bag e adiciona avaliação ao nível da instância se a localização for importante. A Ultralytics Platform pode apoiar a gestão de conjuntos de dados, anotação, treino de modelos padrão e implementação quando um pipeline MIL é combinado com componentes de deteção, segmentação ou classificação.






