multimodal contrastive learning clip
**CLIP: Contrastive Language-Image Pretraining — learning unified image-text embeddings for zero-shot classification**
CLIP (OpenAI, 2021) trains image and text encoders jointly on 400M image-caption pairs via contrastive learning: matching image-caption pairs have similar embeddings; non-matching pairs are pushed apart. This simple objective yields powerful zero-shot transfer: classify images without task-specific training.
**Contrastive Objective and Dual Encoders**
Objective: maximize similarity of matching (image, text) pairs, minimize similarity of mismatched pairs. Symmetric cross-entropy loss: L = -log(exp(sim(i,t))/Σ_j exp(sim(i,j))) - log(exp(sim(i,t))/Σ_k exp(sim(k,t))) where sim = cosine similarity in embedding space scaled by learnable temperature. Dual encoders: separate ViT (vision transformer) for images, Transformer for text. No shared parameters → modular, enabling cross-modal generalization.
**Zero-Shot Classification**
At test time: embed candidate class names ('dog', 'cat', 'bird') via text encoder → embeddings c_1, c_2, c_3. Embed test image via image encoder → embedding i. Classification: argmax_j [i · c_j / (||i|| ||c_j||)] (cosine similarity). Remarkably effective: CLIP achieves competitive ImageNet accuracy without seeing ImageNet examples during training. Transfer to new domains (medical imaging, satellite) via text prompt engineering.
**Embedding Space and Retrieval**
CLIP embedding space enables image-text retrieval: given query image, retrieve similar text descriptions (image→text search); given text, retrieve similar images (text→image search). Applications: image search engines, content moderation (embedding-based classification), artistic style transfer via prompt tuning.
**Limitations**
Counting/spatial reasoning: CLIP struggles with 'how many X' questions (spatial quantification). Bias: inherits internet-scale bias (gender stereotypes, geographic underrepresentation). Prompt engineering: performance sensitive to text prompt phrasing ('a photo of a X' vs. 'X'). Distribution shift: CLIP trained on internet data may underperform on specialized domains without adaptation.
**CLIP Variants and Scaling**
ALIGN (Google): similar contrastive objective, different scale. SigLIP (sigmoid loss variant): improves stability and scaling. OpenCLIP: open-source CLIP variants trained on open datasets (LAION). CLIP fine-tuning: linear probing (freeze encoders, train classification head—80% of ImageNet accuracy) or adapter modules (parameter-efficient fine-tuning). Prompt learning (CoOp): learn prompt embeddings directly, achieving higher accuracy than fixed prompts.