Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Few-Shot Learning

O aprendizado com poucos exemplos (FSL) reconhece novas classes a partir de um pequeno número de exemplos rotulados, usando aprendizado métrico, meta-aprendizado, ajuste fino ou prompting.

A aprendizagem com poucos exemplos (FSL) consiste em aprender uma tarefa nova, geralmente reconhecer novas classes, com apenas alguns exemplos anotados por classe, normalmente entre 1 e 10. A aprendizagem supervisionada padrão precisa de centenas ou milhares de imagens anotadas por classe, que são caras ou impossíveis de recolher para defeitos raros, doenças raras ou um produto lançado ontem. Os métodos de aprendizagem com poucos exemplos reduzem essa diferença recorrendo a conhecimento prévio: um modelo pré-treinado com muitos dados relacionados já produz características que separam bem as novas classes, pelo que bastam alguns exemplos para as definir. A mesma ideia surge nos modelos de linguagem, em que alguns exemplos resolvidos no prompt orientam o modelo para uma nova tarefa sem qualquer treino.

Tarefas N-way K-shot#

Os problemas de aprendizagem com poucos exemplos descrevem-se como N-way K-shot: N novas classes, cada uma com K exemplos anotados. Estes exemplos anotados formam o conjunto de suporte, e o modelo é avaliado pela forma como classifica um conjunto de consulta separado de exemplos das mesmas N classes. Assim, numa tarefa 5-way 1-shot, o modelo recebe um exemplo de cada uma de cinco classes que nunca viu e tem de classificar novas imagens nessas classes. A aprendizagem one-shot é o caso K = 1, e a aprendizagem zero-shot é K = 0, em que as classes são descritas por texto ou atributos em vez de exemplos. Os benchmarks de investigação avaliam o desempenho em classes excluídas do treino, como Omniglot, com 1,623 caracteres manuscritos de 50 alfabetos, e miniImageNet, com 100 classes do ImageNet de 600 imagens cada.

Abordagens à aprendizagem com poucos exemplos#

Os métodos de aprendizagem por métricas treinam uma rede para mapear imagens para embeddings em que os exemplos da mesma classe ficam próximos uns dos outros, pelo que uma consulta recebe o rótulo dos exemplos de suporte mais semelhantes. As redes prototípicas calculam a média dos embeddings de suporte de cada classe para obter um protótipo e atribuem a consulta ao protótipo mais próximo, sem necessidade de novo treino quando surge uma classe nova.

Outras abordagens adaptam os pesos do modelo ou a respetiva entrada:

  • Meta-aprendizagem: Treina com milhares de pequenas tarefas simuladas, extraídas de classes base, para que o modelo aprenda a adaptar-se. A meta-aprendizagem independente do modelo (MAML) aprende uma inicialização a partir da qual alguns passos de gradiente no conjunto de suporte de uma nova tarefa produzem bons pesos.
  • Transferência e ajuste fino: pré-treine um backbone em um conjunto de dados grande e, em seguida, treine apenas uma nova cabeça de classificação, ou a rede inteira com uma taxa de aprendizado baixa, no conjunto de suporte. Essa linha de base simples compete com métodos dedicados de meta-aprendizado em benchmarks few-shot padrão, e a sondagem linear de grandes modelos pré-treinados continua sendo uma forte linha de base few-shot.
  • Prompts para modelos de base: Os grandes modelos de linguagem executam novas tarefas com alguns exemplos incluídos no prompt, sem atualizar os pesos; o GPT-3 demonstrou esta capacidade em mais de duas dezenas de benchmarks de linguagem. Os modelos de visão usam prompts visuais, como caixas de exemplo, da mesma forma.

Deteção de objetos com poucos exemplos e prompts visuais#

A deteção acrescenta localização ao problema de aprendizagem com poucos exemplos: o modelo tem de encontrar todas as instâncias de uma classe em que não foi treinado. YOLO26 também é a base do YOLOE-26, uma variante de vocabulário aberto cujo codificador de prompts visuais transforma caixas de exemplo num embedding de classe e, em seguida, deteta e segmenta objetos correspondentes em novas imagens, sem treino. As caixas que partilham um ID de classe são combinadas num único prompt, pelo que dois exemplos de uma classe constituem um conjunto de suporte 2-shot. Este exemplo usa duas pessoas numa imagem como conjunto de suporte e procura-as noutra imagem:

import numpy as np
from ultralytics import YOLOE
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor

# Checkpoint YOLOE-26 que aceita prompts visuais
model = YOLOE("yoloe-26s-seg.pt")

# Conjunto de suporte: duas caixas de exemplo de uma classe (pessoas) na imagem de referência
boxes = np.array([[221.52, 405.8, 344.98, 857.54], [669.47, 392.19, 809.72, 877.04]])
support = {"bboxes": boxes, "cls": np.array([0, 0])}

# Consulta: encontrar objetos semelhantes aos exemplos noutra imagem, sem treino
results = model.predict(
    "https://ultralytics.com/images/zidane.jpg",
    refer_image="https://ultralytics.com/images/bus.jpg",
    visual_prompts=support,
    predictor=YOLOEVPSegPredictor,
)
result = results[0]
result.save(filename="few_shot_result.jpg")

Os prompts visuais agrupam exemplos sem lhes atribuir nomes, pelo que as correspondências nos resultados recebem os rótulos object0, object1 e assim sucessivamente, um nome por ID de classe.

Aplicações no mundo real#

  • Inspeção de fabrico: Um novo tipo de defeito, como uma fissura numa peça recentemente introduzida, pode surgir apenas algumas vezes antes de os inspetores quererem sinalizá-lo; a deteção com poucos exemplos ou a deteção de anomalias permite adicioná-lo sem um grande conjunto de dados novo.
  • Imagiologia médica: As doenças raras têm poucas tomografias anotadas, por isso os modelos de análise de imagens médicas adaptam características pré-treinadas a novos achados com base num pequeno conjunto de casos anotados por especialistas.
  • Retalho e robótica: As lojas acrescentam produtos novos e os robôs encontram constantemente objetos novos; algumas fotografias de referência permitem que um sistema reconheça cada um deles na prateleira ou na garra.
  • Aprendizagem por transferência: A prática mais abrangente de reutilizar conhecimento de uma tarefa noutra. A aprendizagem com poucos exemplos é o caso extremo de escassez de dados, e a transferência é a ferramenta mais comum.
  • Meta-aprendizagem: Uma estratégia de treino que ensina a aprender e uma das várias formas de resolver problemas de aprendizagem com poucos exemplos. A aprendizagem com poucos exemplos designa o próprio cenário do problema.
  • Prompts com poucos exemplos: Adapta um modelo congelado através de exemplos na entrada durante a inferência, enquanto a afinação com poucos exemplos altera os pesos do modelo usando o mesmo pequeno conjunto de exemplos.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina