Esplora CLIP (Contrastive Language-Image Pre-training) per collegare visione e linguaggio. Scopri come consente l'apprendimento zero-shot e alimenta Ultralytics .
CLIP (Contrastive Language-Image Pre-training) è una rivoluzionaria architettura di rete neurale sviluppata da OpenAI che colma il divario tra dati visivi e linguaggio naturale. A differenza dei tradizionali sistemi di visione artificiale (CV) che richiedono un'etichettatura dei dati laboriosa per un insieme fisso di categorie, CLIP impara a comprendere le immagini addestrandosi su milioni di coppie immagine-testo raccolte da Internet. Questo approccio consente al modello di eseguire l' apprendimento zero-shot, il che significa che può identificare oggetti, concetti o stili che non ha mai visto esplicitamente durante l'addestramento, semplicemente leggendo una descrizione testuale. Mappando le informazioni visive e linguistiche in uno spazio di caratteristiche condiviso, CLIP funge da potente modello di base per un'ampia varietà di attività a valle senza la necessità di un'ampia messa a punto specifica per l'attività .
Il meccanismo principale di CLIP prevede due codificatori paralleli: un codificatore di immagini, tipicamente basato su un Vision Transformer (ViT) o un ResNet, e un Transformer di testo simile a quelli utilizzati nei moderni modelli linguistici di grandi dimensioni (LLM). Attraverso un processo noto come apprendimento contrastivo, il sistema viene addestrato a prevedere quale frammento di testo corrisponde a quale immagine all'interno di un batch.
Durante l'addestramento, il modello ottimizza i propri parametri per avvicinare gli embedding vettoriali delle coppie immagine-testo corrispondenti e allontanare quelle non corrispondenti. Questo crea uno spazio latente multimodale in cui la rappresentazione matematica di un' immagine di un "golden retriever" si trova spazialmente vicino all'embedding testuale di "una foto di un cane". Calcolando la similarità coseno tra questi vettori, il modello può quantificare quanto un'immagine corrisponda a un prompt in linguaggio naturale, consentendo una classificazione e un recupero flessibili delle immagini.
La capacità di collegare visione e linguaggio ha reso CLIP una tecnologia fondamentale nelle moderne applicazioni di IA:
Mentre i rilevatori di oggetti standard sono limitati alle loro classi di addestramento, l’uso di caratteristiche basate su CLIP consente il
rilevamento a vocabolario aperto. Il seguente Python Il codice mostra come utilizzare il
ultralytics pacchetto per detect utilizzando prompt di testo personalizzati:
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()
Per comprendere l'utilità specifica del CLIP è utile distinguerlo dagli altri paradigmi comuni dell'IA: