Sobes.tech
Middle

Cos'è l'architettura CLIP?

sobes.tech AI

Risposta dell'AI

L’architettura CLIP (Contrastive Language–Image Pre-training) è un modello di deep learning sviluppato per collegare immagini e testi in uno spazio di caratteristiche comune.

Componenti principali:

  • Due codificatori: uno per le immagini (solitamente una rete neurale convoluzionale o Vision Transformer), e uno per il testo (transformer).
  • Apprendimento contrastivo: il modello impara ad associare correttamente le coppie di immagini e descrizioni, massimizzando la somiglianza tra loro e minimizzando quella tra non corrispondenti.

Questo permette di usare CLIP per compiti in cui è necessario comprendere la relazione tra informazioni visive e testo, come la ricerca di immagini tramite descrizione o la generazione di descrizioni per immagini.

Esempio di utilizzo:

import clip
import torch
from PIL import Image

model, preprocess = clip.load("ViT-B/32")
image = preprocess(Image.open("example.jpg")).unsqueeze(0)
text = clip.tokenize(["una foto di un gatto", "una foto di un cane"])

with torch.no_grad():
    image_features = model.encode_image(image)
    text_features = model.encode_text(text)

    logits_per_image, logits_per_text = model(image, text)
    probs = logits_per_image.softmax(dim=-1)

print(probs)  # Probabilità di corrispondenza tra immagine e testi

CLIP è ampiamente impiegato in compiti di comprensione e generazione multimodale.