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

Zero-Shot Learning

A aprendizagem zero-shot reconhece classes sem exemplos rotulados, associando as entradas a descrições textuais. Abrange CLIP, deteção de vocabulário aberto e limitações.

O aprendizado zero-shot (ZSL) é a capacidade de um modelo reconhecer classes para as quais não viu exemplos de treinamento rotulados. Em vez de exemplos, o modelo recebe uma descrição de cada nova classe, como uma lista de atributos ou, em sistemas modernos, o nome da classe como texto, e compara as entradas com essas descrições em um espaço compartilhado de embeddings. O aprendizado supervisionado padrão só consegue predizer as classes presentes nos rótulos de treinamento, então adicionar uma categoria exige coletar e rotular novos dados e treinar novamente. Um modelo zero-shot adiciona uma categoria quando seu nome é incluído. O CLIP da OpenAI, treinado com 400 milhões de pares de imagem e legenda, igualou a precisão do ResNet-50 supervisionado original no ImageNet sem usar nenhuma das 1,28 milhão de imagens de treinamento rotuladas do ImageNet.

Como funciona o aprendizado zero-shot#

O aprendizado zero-shot transfere conhecimento por meio de um espaço semântico que conecta classes conhecidas e desconhecidas. Os primeiros métodos descreviam cada classe com atributos definidos por humanos, como "listrado", "tem cascos" e "vive em pradarias", e treinavam modelos para predizer esses atributos. Assim, um animal nunca visto durante o treinamento podia ser reconhecido como a classe cujos atributos correspondiam aos dele. Os modelos de visão e linguagem substituíram os atributos criados manualmente por linguagem natural. O CLIP treina um codificador de imagens e um codificador de texto com aprendizado contrastivo, para que imagens e legendas correspondentes recebam embeddings semelhantes. Para classificar, ele gera um embedding para uma solicitação de cada classe candidata, como "uma foto de uma zebra", gera o embedding da imagem e escolhe a classe com a maior similaridade do cosseno:

Como o classificador é construído a partir de texto durante a inferência, a lista de classes pode mudar a cada solicitação. O mesmo padrão se aplica a modelos de linguagem grandes (LLMs), nos quais a solicitação zero-shot consiste em fornecer apenas uma instrução ao modelo, sem exemplos resolvidos, conforme definido no artigo do GPT-3.

Detecção de objetos zero-shot#

Os detectores de vocabulário aberto ampliam o aprendizado zero-shot de imagens inteiras para objetos individuais. Eles pontuam cada região candidata comparando-a com embeddings de texto das classes solicitadas, de modo que podem encontrar objetos fora de qualquer conjunto fixo de rótulos, como um produto específico em um arquivo de vídeos. O YOLO-World aplica essa abordagem a modelos YOLO de tempo real. O YOLOE-26 da Ultralytics, uma versão de vocabulário aberto do YOLO26, codifica cada nome de classe passado para set_classes() com um codificador de texto MobileCLIP2 e retorna caixas e máscaras de segmentação de instâncias para essas classes sem novo treinamento:

from ultralytics import YOLOE

# Checkpoint YOLOE-26 que aceita solicitações de texto
model = YOLOE("yoloe-26s-seg.pt")

# Nomeie as classes durante a inferência, neste caso com palavras que não são rótulos do COCO
model.set_classes(["city bus", "sneakers", "glasses"])

# Detecte e segmente as classes nomeadas
results = model.predict("https://ultralytics.com/images/bus.jpg")
result = results[0]
result.save(filename="zero_shot_result.jpg")

A primeira chamada de set_classes() baixa o codificador de texto. Para detecção de objetos, "zero-shot" significa que o modelo não recebeu caixas rotuladas para uma classe, embora o nome da classe possa ter aparecido nos dados de imagem e texto usados para pré-treinar seus codificadores. A Ultralytics Platform anota automaticamente conjuntos de dados de detecção com detectores zero-shot e modelos de linguagem visual, e o VLM Leaderboard compara a precisão com que cada um encontra objetos em imagens do mundo real.

Aplicações#

  • Busca visual e moderação: Bibliotecas de mídia e plataformas de conteúdo encontram imagens que correspondem a uma consulta de texto ou sinalizam novas categorias de conteúdo, sem treinar um classificador para cada consulta.
  • Robótica: Um robô orientado a buscar "a caneca azul" consegue localizar uma categoria de objeto que nunca foi treinado para detectar.
  • Vida selvagem e biodiversidade: O BioCLIP, treinado com mais de 10 milhões de imagens de todo o reino da vida, classifica espécies zero-shot a partir dos nomes e ganhou o prêmio de melhor artigo de estudante no CVPR 2024.
  • Imagens médicas: Modelos treinados com radiografias associadas a laudos radiológicos escritos podem sinalizar achados que nunca foram anotados como rótulos explícitos de treinamento.

Desafios#

A precisão zero-shot costuma ser inferior à de um modelo treinado com exemplos rotulados das mesmas classes, sobretudo para categorias especializadas ou de granularidade fina cujos nomes são raros em textos da web. No aprendizado zero-shot generalizado, em que as imagens de teste podem pertencer a classes conhecidas e desconhecidas, os modelos favorecem as classes com que foram treinados, e estudos de benchmark descobriram que, nesse cenário, a precisão nas classes desconhecidas cai acentuadamente. Os resultados também dependem da formulação, o que torna a engenharia de prompts parte da classificação zero-shot: a precisão do CLIP no ImageNet aumentou 1.3% quando o nome simples da classe foi substituído pelo prompt "uma foto de {label}."

  • Aprendizado few-shot: Aprende novas classes com poucos exemplos rotulados por classe, geralmente de 1 a 10. O aprendizado zero-shot é o caso com zero exemplos e uma descrição.
  • Aprendizado one-shot: O caso de aprendizado few-shot com exatamente um exemplo rotulado por classe, muitas vezes correspondido por similaridade de embeddings.
  • Aprendizado por transferência: Reutiliza um modelo pré-treinado em uma nova tarefa, geralmente ajustando-o com dados rotulados. O aprendizado zero-shot transfere conhecimento pelo espaço compartilhado de texto e imagem, sem treinamento adicional.
  • Prompting visual: Especifica o alvo com uma imagem de exemplo ou uma caixa em vez de palavras, o que ajuda com objetos difíceis de nomear, como uma peça ou um logotipo específico.

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