英文

模型卡片:CLIP

免责声明:模型卡片修改自官方CLIP存储库,可以在 here 找到。

模型详情

CLIP模型是由OpenAI的研究人员开发的,用于了解计算机视觉任务中的鲁棒性的影响因素。该模型还用于测试模型以零样本方式在任意图像分类任务中的泛化能力。它不是为了一般的模型部署而开发的-要部署像CLIP这样的模型,研究人员首先需要仔细研究它们与特定上下文的能力相关性。

模型日期

2021年1月

模型类型

该模型使用ViT-B/32 Transformer架构作为图像编码器,并使用掩码自注意力Transformer作为文本编码器。这些编码器经过训练,通过对比损失来最大化(图像,文本)对的相似性。

原始实现有两个变种:一个使用ResNet图像编码器,另一个使用Vision Transformer。本存储库使用Vision Transformer变种。

文档

与Transformers一起使用

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

模型用途

预期用途

该模型旨在成为研究社区的研究成果。我们希望这个模型能够使研究人员更好地理解和探索零样本、任意图像分类的能力、偏差和约束等方面。我们还希望它能够用于跨学科研究,分析这种模型可能产生的潜在影响-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的性能,而有证据表明线性探针可能低估模型的性能。

偏见和公平性

我们发现CLIP的性能-以及它所表现出的具体偏差-可能会显著取决于类别设计和选择以包括和排除哪些类别。我们通过将来自 Fairface 的人的图像分类为与犯罪相关和非人类动物类别,测试了CLIP的某些种类的贬低风险。我们发现在种族和性别方面存在显著的差异。此外,我们发现这些差异可能会因类别的构建方式而变化。(详细信息在论文的更广泛影响部分中有所描述)。

我们还使用公平面数据集(我们默认使用在公平面数据集中构建的种族类别)测试了CLIP在性别、种族和年龄分类上的性能,以评估在不同人口统计学中的性能质量。我们发现,在所有种族中,性别分类的准确率均大于96%,'Middle Eastern'的准确率最高(98.4%),'White'的准确率最低(96.5%)。此外,CLIP在种族分类方面的平均准确率为约93%,年龄分类为约63%。我们对性别、种族和年龄分类以及贬低性任务的评估仅是为了评估模型在不同人群中的性能,并展示潜在风险,并不意味着对这些任务的认可/热情。

反馈

有关模型的问题或评论,请发送至何处

请使用 this Google Form