Explore o Zero-Shot Learning (ZSL) para detect classify sem dados de treino. Saiba como Ultralytics YOLO permite a deteção em tempo real de vocabulário aberto.
A aprendizagem zero-shot (ZSL) é um paradigma de aprendizagem automática que permite que modelos de inteligência artificial reconheçam, classify ou detect que nunca encontraram durante a sua fase de treino. Na aprendizagem supervisionada tradicional, um modelo requer milhares de exemplos rotulados para cada categoria específica que precisa identificar. O ZSL elimina essa dependência rígida ao aproveitar informações auxiliares — normalmente descrições de texto, atributos semânticos ou incorporações— para preencher a lacuna entre classes vistas e não vistas. Essa capacidade permite que os sistemas de inteligência artificial (IA) sejam significativamente mais flexíveis, escaláveis e capazes de lidar com ambientes dinâmicos, nos quais a coleta exaustiva de dados para todos os objetos possíveis é impraticável.
O mecanismo central do ZSL envolve a transferência de conhecimento de conceitos familiares para conceitos desconhecidos usando um espaço semântico partilhado. Em vez de aprender a reconhecer uma «zebra» apenas memorizando padrões de pixels de listras pretas e brancas, o modelo aprende a relação entre características visuais e atributos semânticos (por exemplo, «forma semelhante a um cavalo», «padrão listrado», «quatro patas») derivados do processamento de linguagem natural (NLP).
Esse processo geralmente depende de modelos multimodais que alinham representações de imagem e texto . Por exemplo, pesquisas fundamentais como o CLIP da OpenAI demonstram como os modelos podem aprender conceitos visuais a partir da supervisão da linguagem natural. Quando um modelo ZSL encontra um objeto nunca visto, ele extrai as características visuais e as compara com um dicionário de vetores semânticos. Se as características visuais se alinharem com a descrição semântica da nova classe, o modelo pode classify corretamente, realizando efetivamente uma previsão "zero-shot". Essa abordagem é fundamental para os modelos básicos modernos que se generalizam em vastas matrizes de tarefas.
A aprendizagem zero-shot está a impulsionar a inovação em vários setores, permitindo que os sistemas generalizem além dos seus dados de treino iniciais.
O modelo Ultralytics YOLO exemplifica o Zero-Shot Learning em ação. Ele permite que os utilizadores definam classes personalizadas dinamicamente em tempo de execução, sem retreinar o modelo. Isso é conseguido conectando uma espinha dorsal de detecção robusta a um codificador de texto que compreende a linguagem natural.
Python a seguir demonstra como usar YOLO para detect que não faziam parte explicitamente de um
conjunto de treino padrão usando o ultralytics pacote.
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model capable of Zero-Shot Learning
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes via text prompts (e.g., specific accessories)
# The model adjusts to detect these new classes without retraining
model.set_classes(["blue backpack", "red apple", "sunglasses"])
# Run inference on an image to detect the new zero-shot classes
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
Para compreender plenamente a ZSL, é útil distingui-la de estratégias de aprendizagem semelhantes utilizadas em visão por computador (CV):
Embora o ZSL ofereça um potencial imenso, ele enfrenta desafios como o problema da mudança de domínio, em que os atributos semânticos aprendidos durante o treinamento não se aplicam perfeitamente à aparência visual de classes não vistas. Além disso, os modelos ZSL podem sofrer de viés, em que a precisão da previsão é significativamente maior para classes vistas em comparação com as não vistas.
Pesquisas de organizações como o Laboratório de IA da Universidade de Stanford e a IEEE Computer Society continuam a abordar essas limitações. À medida que as ferramentas de visão computacional se tornam mais robustas, espera-se que o ZSL se torne um recurso padrão, reduzindo a dependência de enormes esforços de rotulagem de dados. Para equipas que buscam gerenciar conjuntos de dados de forma eficiente antes de implementar modelos avançados, Ultralytics oferece ferramentas abrangentes para anotação e gerenciamento de conjuntos de dados.