🚀 CLIP模型卡片
CLIP模型由OpenAI的研究人员开发,用于研究计算机视觉任务中的鲁棒性因素,同时也用于测试模型以零样本方式泛化到任意图像分类任务的能力。该模型并非用于通用模型部署,研究人员若要部署类似CLIP的模型,需先仔细研究其在特定部署环境中的能力。
🚀 快速开始
使用transformers
库调用CLIP模型的示例代码如下:
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("openai/clip-vit-large-patch14")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-large-patch14")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=["a photo of a cat", "a photo of a dog"], images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = logits_per_image.softmax(dim=1)
✨ 主要特性
- 跨模态学习:CLIP能够学习图像和文本之间的关联,通过对比损失最大化(图像,文本)对的相似度。
- 零样本学习:可以在没有特定任务训练数据的情况下进行图像分类。
📦 模型详情
模型日期
2021年1月
模型类型
属性 |
详情 |
模型类型 |
基础模型使用ViT - L/14 Transformer架构作为图像编码器,使用掩码自注意力Transformer作为文本编码器。这些编码器通过对比损失进行训练,以最大化(图像,文本)对的相似度。原始实现有两个变体:一个使用ResNet图像编码器,另一个使用视觉Transformer。本仓库使用的是视觉Transformer变体。 |
训练数据 |
模型在公开可用的图像 - 文本数据上进行训练,通过抓取一些网站和使用常用的现有图像数据集(如YFCC100M)组合而成。大部分数据来自互联网抓取。 |
文档
📚 模型使用
预期用途
- 主要预期用户:该模型主要面向AI研究人员,旨在帮助他们更好地理解和探索零样本、任意图像分类。
- 主要用途:研究人员可借助该模型深入了解计算机视觉模型的鲁棒性、泛化能力以及其他特性、偏差和限制。
非预期使用场景
- 部署使用:目前,模型的任何部署使用场景(无论是否商业用途)均不在预期范围内。除非对模型在特定、固定类别分类法下进行了全面的领域内测试,否则不建议在受限环境中进行图像搜索等非部署使用场景。因为安全评估表明,鉴于CLIP在不同类别分类法下的性能差异,需要进行特定任务测试。
- 特定领域:涉及监控和人脸识别领域的使用场景,无论模型性能如何,均不在预期范围内。因为目前缺乏确保其公平使用的测试规范和检查,使用人工智能进行此类任务可能为时过早。
- 语言限制:由于模型仅在英语上进行训练和评估,其使用应限于英语使用场景。
🔧 性能与限制
性能
CLIP在广泛的计算机视觉数据集基准测试中进行了评估,涵盖从OCR到纹理识别再到细粒度分类等多种任务。论文描述了模型在以下数据集上的性能:
- Food101
- CIFAR10
- CIFAR100
- Birdsnap
- SUN397
- Stanford Cars
- FGVC Aircraft
- VOC2007
- DTD
- Oxford - IIIT Pet dataset
- Caltech101
- Flowers102
- MNIST
- SVHN
- IIIT5K
- Hateful Memes
- SST - 2
- UCF101
- Kinetics700
- Country211
- CLEVR Counting
- KITTI Distance
- STL - 10
- RareAct
- Flickr30
- MSCOCO
- ImageNet
- ImageNet - A
- ImageNet - R
- ImageNet Sketch
- ObjectNet (ImageNet Overlap)
- Youtube - BB
- ImageNet - Vid
限制
- 任务表现:CLIP在某些任务上存在困难,如细粒度分类和物体计数。
- 公平性和偏差:CLIP在公平性和偏差方面存在问题,其性能和特定偏差可能显著取决于类别设计以及对包含和排除类别的选择。
- 测试方法:在测试CLIP时,使用线性探针评估其性能可能会低估模型的实际表现。
偏差与公平性
- 类别设计影响:CLIP的性能和特定偏差显著依赖于类别设计以及对类别包含和排除的选择。
- 实验结果:通过将Fairface中的人物图像分类到与犯罪相关和非人类动物类别中,测试了CLIP的某些诋毁风险,发现存在显著的种族和性别差异,且这些差异会根据类别构建方式而变化。
- 分类准确率:使用Fairface数据集对CLIP在性别、种族和年龄分类上的性能进行测试,发现性别分类在所有种族中的准确率>96%,其中“中东”准确率最高(98.4%),“白人”最低(96.5%);种族分类平均约93%,年龄分类约63%。
📄 反馈
若您有关于模型的问题或建议,请使用此Google表单。