Multiple Instance Learning
O aprendizado de múltiplas instâncias treina com conjuntos de instâncias rotulados apenas como um todo, como uma lâmina de patologia com um único diagnóstico, e identifica as instâncias relevantes.
O aprendizado de múltiplas instâncias (MIL) é uma forma de aprendizado de máquina em que os exemplos de treinamento vêm agrupados em conjuntos chamados sacolas, e apenas cada sacola recebe um rótulo; as instâncias individuais dentro dela não recebem rótulos. Uma lâmina de patologia digitalizada com o rótulo “câncer” é uma sacola com milhares de fragmentos de tecido, dos quais talvez apenas alguns apresentem células tumorais; um vídeo de vigilância com o rótulo “incidente” é uma sacola de clipes curtos, a maioria sem ocorrências. O MIL aprende a prever os rótulos das sacolas a partir desses dados e, nesse processo, identifica quais instâncias são responsáveis por eles. É uma forma de supervisão fraca, usada quando rotular cada instância levaria tempo demais para especialistas ou seria impossível.
Thomas Dietterich, Richard Lathrop e Tomás Lozano-Pérez introduziram esse cenário em 1997 para prever a atividade de fármacos. Uma molécula pode se dobrar em muitas formas e se liga a um alvo se pelo menos uma delas se encaixar. Por isso, eles trataram cada molécula como uma sacola de suas formas possíveis, usando apenas a atividade medida da molécula como rótulo.
A hipótese padrão do MIL#
A hipótese clássica para rótulos binários é que uma sacola é positiva se contiver pelo menos uma instância positiva e negativa somente se todas as suas instâncias forem negativas. Atribuir o rótulo da sacola a cada instância, como faria o aprendizado supervisionado comum, classifica incorretamente as muitas instâncias negativas de cada sacola positiva. Em vez disso, o MIL atribui uma pontuação a cada instância e agrega as pontuações em uma única previsão para a sacola. Usar o máximo corresponde exatamente à hipótese padrão: a sacola recebe a pontuação de sua instância mais suspeita, e somente a pontuação dessa instância recebe o sinal de retropropagação do rótulo da sacola.
Este exemplo de PyTorch treina um classificador linear de instâncias com 16.000 sacolas de 20 instâncias aleatórias, em que cada sacola positiva esconde uma instância “testemunha” que difere em 4 dos seus 16 atributos. O treinamento usa apenas os rótulos das sacolas, e 1.000 sacolas de teste verificam tanto as previsões das sacolas quanto se a instância com maior pontuação é a testemunha:
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")O modelo classifica corretamente 0,917 das sacolas de teste e coloca a testemunha em primeiro lugar em 0,960 das sacolas positivas, embora nenhum rótulo de instância tenha sido usado. Essa classificação das instâncias é o que permite aos sistemas MIL apontar os fragmentos ou clipes que fundamentam uma decisão.
Agregação e MIL baseado em atenção#
A agregação pelo máximo depende de uma única instância, então uma instância ruidosa pode mudar a classificação de uma sacola. A agregação pela média usa todas as instâncias, mas dilui um sinal raro; ela se adequa a hipóteses coletivas, em que um rótulo depende da proporção de instâncias que apresentam determinado elemento. Maximilian Ilse, Jakub Tomczak e Max Welling propuseram o MIL profundo baseado em atenção em 2018: uma pequena rede atribui um peso a cada instância, e a representação da sacola é a média ponderada dos atributos das instâncias. O mecanismo de atenção aceita sacolas de qualquer tamanho, ignora a ordem das instâncias e produz pesos que funcionam como um mapa de calor das regiões por trás de uma previsão, de forma semelhante aos mapas de saliência.
As imagens de lâminas inteiras são grandes demais para o treinamento de ponta a ponta, então muitos pipelines de patologia primeiro convertem cada fragmento em um vetor de atributos usando um codificador pré-treinado congelado e treinam apenas a rede de agregação e o classificador com os rótulos das lâminas. Um modelo de classificação de imagens YOLO26 pode atuar como esse codificador: model.embed() retorna um vetor de atributos agregado para cada imagem de entrada, então um lote de fragmentos se torna uma sacola de vetores de instâncias para uma camada de agregação por atenção.
Aplicações#
Na análise de imagens médicas, o MIL elimina a necessidade de patologistas delinearem tumores em lâminas de gigapixels. Gabriele Campanella e colegas do Memorial Sloan Kettering treinaram um sistema MIL com 44.732 imagens de lâminas inteiras de 15.187 pacientes, usando apenas os diagnósticos nos laudos de patologia, e seu estudo de 2019 relatou uma área sob a curva ROC superior a 0,98 para câncer de próstata, carcinoma basocelular e metástases de câncer de mama nos linfonodos.
Em vídeo, Waqas Sultani, Chen Chen e Mubarak Shah trataram cada vídeo de vigilância como uma sacola de segmentos para detecção de anomalias e lançaram o conjunto de dados UCF-Crime, com 1.900 vídeos sem cortes e apenas rótulos no nível do vídeo. Esses rótulos treinam um modelo para atribuir as maiores pontuações de anomalia aos segmentos em que ocorre um incidente. A detecção de objetos com supervisão fraca trata uma imagem como uma sacola de regiões candidatas rotuladas apenas com as classes presentes, e as regiões com as pontuações mais altas tornam-se as caixas delimitadoras previstas. Em todos esses cenários, manter todos os fragmentos ou quadros de uma mesma lâmina, paciente ou vídeo na mesma divisão evita o vazamento de dados que ocorreria ao distribuir instâncias quase idênticas entre os conjuntos de treinamento e teste.
MIL e cenários relacionados#
O aprendizado semissupervisionado combina exemplos totalmente rotulados e não rotulados, enquanto todas as sacolas do MIL são rotuladas, mas nenhuma de suas instâncias recebe rótulo. A classificação multirrótulo atribui várias classes a um exemplo, e os dois métodos se combinam no aprendizado de múltiplas instâncias e múltiplos rótulos. O aprendizado ativo pode ser usado após o MIL, enviando as instâncias com maior pontuação de sacolas positivas aos especialistas quando os rótulos no nível da instância passam a valer o custo.










