Kaiyang Zhou, Jingkang Yang, Chen Change Loy, Ziwei Liu
Large pre-trained vision-language models like CLIP have shown great potential in learning representations that are transferable across a wide range of downstream tasks. Different from the traditional representation learning that is based mostly on discretized labels, vision-language pre-training aligns images and texts in a common feature space, which allows zero-shot transfer to a downstream task via prompting, i.e., classification weights are synthesized from natural language describing classes of interest. In this work, we show that a major challenge for deploying such models in practice is prompt engineering, which requires domain expertise and is extremely time-consuming -- one needs to spend a significant amount of time on words tuning since a slight change in wording could have a huge impact on performance. Inspired by recent advances in prompt learning research in natural language processing (NLP), we propose Context Optimization (CoOp), a simple approach specifically for adapting CLIP-like vision-language models for downstream image recognition. Concretely, CoOp models a prompt's context words with learnable vectors while the entire pre-trained parameters are kept fixed. To handle different image recognition tasks, we provide two implementations of CoOp: unified context and class-specific context. Through extensive experiments on 11 datasets, we demonstrate that CoOp requires as few as one or two shots to beat hand-crafted prompts with a decent margin and is able to gain significant improvements over prompt engineering with more shots, e.g., with 16 shots the average gain is around 15% (with the highest reaching over 45%). Despite being a learning-based approach, CoOp achieves superb domain generalization performance compared with the zero-shot model using hand-crafted prompts.
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Facial Recognition and Modelling | MORPH Album2 | MAE | 5.09 | CoOp |
| Facial Recognition and Modelling | MORPH Album2 | MAE (16 shot) | 3.23 | CoOp |
| Facial Recognition and Modelling | MORPH Album2 | MAE (2 shot) | 4.5 | CoOp |
| Facial Recognition and Modelling | MORPH Album2 | MAE (4 shot) | 3.81 | CoOp |
| Facial Recognition and Modelling | MORPH Album2 | MAE (8 shot) | 3.57 | CoOp |
| Face Reconstruction | MORPH Album2 | MAE | 5.09 | CoOp |
| Face Reconstruction | MORPH Album2 | MAE (16 shot) | 3.23 | CoOp |
| Face Reconstruction | MORPH Album2 | MAE (2 shot) | 4.5 | CoOp |
| Face Reconstruction | MORPH Album2 | MAE (4 shot) | 3.81 | CoOp |
| Face Reconstruction | MORPH Album2 | MAE (8 shot) | 3.57 | CoOp |
| 3D | MORPH Album2 | MAE | 5.09 | CoOp |
| 3D | MORPH Album2 | MAE (16 shot) | 3.23 | CoOp |
| 3D | MORPH Album2 | MAE (2 shot) | 4.5 | CoOp |
| 3D | MORPH Album2 | MAE (4 shot) | 3.81 | CoOp |
| 3D | MORPH Album2 | MAE (8 shot) | 3.57 | CoOp |
| 3D Face Modelling | MORPH Album2 | MAE | 5.09 | CoOp |
| 3D Face Modelling | MORPH Album2 | MAE (16 shot) | 3.23 | CoOp |
| 3D Face Modelling | MORPH Album2 | MAE (2 shot) | 4.5 | CoOp |
| 3D Face Modelling | MORPH Album2 | MAE (4 shot) | 3.81 | CoOp |
| 3D Face Modelling | MORPH Album2 | MAE (8 shot) | 3.57 | CoOp |
| 3D Face Reconstruction | MORPH Album2 | MAE | 5.09 | CoOp |
| 3D Face Reconstruction | MORPH Album2 | MAE (16 shot) | 3.23 | CoOp |
| 3D Face Reconstruction | MORPH Album2 | MAE (2 shot) | 4.5 | CoOp |
| 3D Face Reconstruction | MORPH Album2 | MAE (4 shot) | 3.81 | CoOp |
| 3D Face Reconstruction | MORPH Album2 | MAE (8 shot) | 3.57 | CoOp |
| Age Estimation | MORPH Album2 | MAE | 5.09 | CoOp |
| Age Estimation | MORPH Album2 | MAE (16 shot) | 3.23 | CoOp |
| Age Estimation | MORPH Album2 | MAE (2 shot) | 4.5 | CoOp |
| Age Estimation | MORPH Album2 | MAE (4 shot) | 3.81 | CoOp |
| Age Estimation | MORPH Album2 | MAE (8 shot) | 3.57 | CoOp |