🚀 模型卡片:CLIP
CLIP模型由OpenAI的研究人员开发,旨在探究计算机视觉任务中影响鲁棒性的因素,同时测试模型以零样本方式泛化到任意图像分类任务的能力。它并非为通用模型部署而设计,研究人员若要部署类似CLIP的模型,需先仔细研究其在特定部署环境中的能力。
🚀 快速开始
此模型卡片取自并修改自官方CLIP仓库,原文可在此处找到。
✨ 主要特性
- 跨模态学习:通过对比损失最大化(图像,文本)对的相似度,实现图像和文本的跨模态理解。
- 零样本学习:能够在未进行特定任务训练的情况下,对图像进行分类。
📦 安装指南
暂未提供相关安装步骤。
💻 使用示例
基础用法
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
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 # this is the image-text similarity score
probs = logits_per_image.softmax(dim=1) # we can take the softmax to get the label probabilities
📚 详细文档
模型详情
模型日期
2021年1月
模型类型
该模型使用ViT - B/32 Transformer架构作为图像编码器,使用掩码自注意力Transformer作为文本编码器。这些编码器通过对比损失进行训练,以最大化(图像,文本)对的相似度。
原始实现有两个变体:一个使用ResNet图像编码器,另一个使用视觉Transformer。本仓库使用的是视觉Transformer变体。
相关文档
模型使用
预期用途
此模型是为研究社区提供的研究成果。希望该模型能帮助研究人员更好地理解和探索零样本、任意图像分类任务。也期望它可用于跨学科研究,分析此类模型的潜在影响。CLIP论文中包含了对潜在下游影响的讨论,可作为此类分析的示例。
主要预期用户
主要预期用户为AI研究人员。
主要使用场景
研究人员主要将该模型用于更好地理解计算机视觉模型的鲁棒性、泛化能力以及其他特性、偏差和限制。
非预期使用场景
- 部署使用:目前,模型的任何部署用例(无论是否商业用途)都不在预期范围内。除非对模型在特定、固定的类别分类法下进行了全面的领域内测试,否则不建议用于非部署用例,如图像搜索。因为安全评估表明,考虑到CLIP在不同类别分类法下的性能差异,非常有必要进行特定任务测试。所以,在未经测试和无约束的情况下部署模型,目前可能会带来危害。
- 监控和人脸识别:无论模型性能如何,涉及监控和人脸识别领域的用例始终不在预期范围内。因为目前缺乏确保人工智能公平使用的测试规范和检查机制,将其用于此类任务可能还为时过早。
- 非英语语言:由于模型未针对英语以外的语言进行专门训练和评估,其使用应限于英语用例。
数据
该模型在公开可用的图像 - 字幕数据上进行训练。数据通过抓取一些网站和使用常用的现有图像数据集(如YFCC100M)组合而成。大部分数据来自互联网抓取,这意味着数据更能代表与互联网联系最紧密的人群和社会,往往偏向于发达国家以及年轻男性用户。
数据使命声明
构建此数据集的目标是测试计算机视觉任务中的鲁棒性和泛化能力。因此,重点是从不同的公开互联网数据源收集大量数据。数据收集方式大多是非干预性的,但仅抓取了有政策禁止过度暴力和成人图像的网站,并对这类内容进行了过滤。不打算将此数据集用作任何商业或部署模型的基础,也不会发布该数据集。
性能和局限性
性能
在广泛的计算机视觉数据集基准测试中评估了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的性能,有证据表明线性探针可能会低估模型性能。
偏差和公平性
发现CLIP的性能及其表现出的特定偏差,在很大程度上取决于类别设计以及对包含和排除类别的选择。通过将Fairface中的人物图像分类到与犯罪相关和非人类动物类别中,测试了CLIP在某些诋毁风险方面的表现。发现了显著的种族和性别差异,并且这些差异会根据类别构建方式而变化(详细内容见论文的更广泛影响部分)。
还使用Fairface数据集测试了CLIP在性别、种族和年龄分类上的性能(默认使用Fairface数据集中构建的种族类别),以评估其在不同人群中的性能质量。发现性别分类在所有种族中的准确率均超过96%,其中“中东人”的准确率最高(98.4%),“白人”的准确率最低(96.5%)。此外,CLIP的种族分类平均准确率约为93%,年龄分类平均准确率约为63%。使用评估来测试性别、种族和年龄分类以及诋毁危害,只是为了评估模型在不同人群中的性能并揭示潜在风险,并非为了支持此类任务。
反馈
发送问题或评论的途径
请使用此谷歌表单。
信息表格
属性 |
详情 |
模型类型 |
该模型使用ViT - B/32 Transformer架构作为图像编码器,使用掩码自注意力Transformer作为文本编码器,通过对比损失训练以最大化(图像,文本)对的相似度。原始实现有ResNet图像编码器和视觉Transformer两个变体,本仓库使用视觉Transformer变体。 |
训练数据 |
在公开可用的图像 - 字幕数据上训练,通过抓取一些网站和使用常用现有图像数据集(如YFCC100M)组合而成,大部分数据来自互联网抓取。 |