Explore o CLIP (Contrastive Language-Image Pre-training) para unir visão e linguagem. Saiba como ele permite o aprendizado zero-shot e alimenta Ultralytics .
CLIP (Contrastive Language-Image Pre-training) é uma revolucionária arquitetura de rede neural desenvolvida pela OpenAI que preenche a lacuna entre dados visuais e linguagem natural. Ao contrário dos sistemas tradicionais de visão computacional (CV) que exigem uma rotulagem de dados trabalhosa para um conjunto fixo de categorias, o CLIP aprende a compreender imagens através do treino em milhões de pares de imagens e textos recolhidos na Internet. Esta abordagem permite que o modelo execute aprendizagem zero-shot, o que significa que ele pode identificar objetos, conceitos ou estilos que nunca viu explicitamente durante o treinamento, simplesmente lendo uma descrição de texto. Ao mapear informações visuais e linguísticas em um espaço de recursos compartilhado, o CLIP serve como um poderoso modelo de base para uma ampla variedade de tarefas downstream, sem a necessidade de um extenso ajuste fino específico para cada tarefa .
O mecanismo central do CLIP envolve dois codificadores paralelos: um codificador de imagens, normalmente baseado num Vision Transformer (ViT) ou num ResNet, e um Transformer de texto semelhante aos utilizados nos modernos modelos de linguagem de grande dimensão (LLMs). Através de um processo conhecido como aprendizagem contrastiva, o sistema é treinado para prever qual o fragmento de texto que corresponde a qual imagem dentro de um lote.
Durante o treino, o modelo otimiza os seus parâmetros para aproximar as incorporações vetoriais dos pares imagem-texto correspondentes e afastar os pares não correspondentes. Isso cria um espaço latente multimodal onde a representação matemática de uma imagem de um «golden retriever» está localizada espacialmente perto da incorporação de texto para «uma foto de um cão». Ao calcular a similaridade coseno entre esses vetores, o modelo pode quantificar o quão bem uma imagem corresponde a um prompt de linguagem natural, permitindo uma classificação e recuperação flexíveis de imagens.
A capacidade de ligar a visão e a linguagem tornou o CLIP uma tecnologia fundamental nas aplicações modernas de IA:
Enquanto os detetores de objetos padrão estão limitados às suas classes de treino, a utilização de funcionalidades baseadas em CLIP permite a
detecção de vocabulário aberto. O seguinte Python O código demonstra como usar o
ultralytics pacote para detect usando prompts de texto personalizados:
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model utilizing CLIP features
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes using natural language text prompts
model.set_classes(["person wearing sunglasses", "red backpack"])
# Run inference on an image to detect the text-defined objects
results = model.predict("travelers.jpg")
# Display the results
results[0].show()
É útil diferenciar o CLIP de outros paradigmas comuns de IA para compreender a sua utilidade específica: