CLIP(下)
Learning Transferable Visual Models From Natural Language Supervision
[Blog] [Paper] [Model Card] [Colab]
7.更广泛的影响
CLIP具有广泛的功能,因为它能够执行任意图像分类任务。你可以给它猫和狗的图像,让它对猫进行分类,或者给它在百货公司样本摄的图像,让它对小偷进行分类——这项任务具有重大的社会意义,人工智能可能不适合。与任何图像分类系统一样,需要评估CLIP的性能和适用性,并在上下文中分析其更广泛的影响。CLIP还引入了一种功能,可以放大和改变这些问题:CLIP可以轻松创建自己的分类类(“滚动自己的分类器”),而无需重新训练。这种能力带来的挑战与GPT-3等其他大规模生成模型的特征描述类似(Brown等人,2020年);表现出非平凡zero-shot(或fewshot)泛化的模型可以具有广泛的功能,其中许多功能只有在测试后才能明确。
我们对zero-shot背景下的CLIP进行的研究表明,该模型在图像检索或搜索等广泛应用的任务中显示出巨大的潜力。例如,它可以在给定文本的数据库中查找相关图像,或者在给定图像的数据库中查找相关文本。此外,相对容易地将CLIP引导到定制应用程序,而很少或没有额外的数据或训练,这可能会开启我们今天难以想象的各种新应用程序,就像过去几年中大型语言模型所发生的那样。
除了本文前面部分研究的30多个数据集外,我们还评估了CLIP在FairFace基准测试中的性能,并进行了探索性偏差探测。然后,我们描述了该模型在下游任务(监视)中的性能,并与其他可用系统相比讨论了其有用性。CLIP的许多功能本质上是全方位使用的(例如,OCR可用于使扫描文档可搜索、为屏幕读取技术供电或读取车牌)。从动作识别、对象分类和地理定位到面部情绪识别,所测量的一些功能可用于监控。鉴于其社会影响,我们在监控部分专门讨论这一使用领域。
我们还试图描述该模型固有的社会偏见。我们的偏差测试代表了我们最初探索模型在不同场景中如何响应的努力,本质上范围有限。CLIP和类似的模型需要根据其具体部署进行分析,以了解偏见是如何表现的,并确定潜在的干预措施。需要进一步的社区探索来开发更广泛、更上下文和更健壮的测试方案,以便AI开发人员能够更好地描述通用计算机视觉模型中的偏见。
7.1. 偏见
算法决策、训练数据和关于类如何定义和分类的选择(我们非正式地称之为“类设计”)都会助长和放大AI系统使用导致的社会偏见和不平等(Noble,2018;Bechmann&Bowker,2019;Bowker&Star,2000)。类设计与CLIP之类的模型特别相关,因为任何开发人员都可以定义一个类,而模型将提供一些结果。
在本节中,我们使用Buolamwini&Gebru(2018)和K¨ark¨ainen&Joo(2019)中概述的偏差探针对CLIP中的一些偏差进行了初步分析。我们还进行了探索性偏差研究,旨在发现模型中偏差的具体示例,类似于Solaiman等人(2019)的研究。
我们首先分析人脸图像数据集FairFace(K¨ark¨ainen&Joo,2019)上zero-shotCLIP的性能,作为初始偏差探测,然后进一步探测模型,以揭示额外偏差和偏差来源,包括类设计。
我们在FairFace数据集上评估了两种版本的CLIP:zero-shotCLIP模型(“ZSCLIP”),以及在CLIP特征(“LRCLIP”)上拟合到FairFace数据集的逻辑回归分类器。我们发现,在我们进行的大多数分类测试中,LR CLIP在FairFace数据集上的精度高于ResNext-101 32x48d Instagram模型(“线性探针Instagram”)(Mahajan等人,2018)和FairFace自己的模型7。ZS CLIP的性能因类别而异,在一些类别上比FairFace的模型差,而在其他类别上则更好。(见表3和表4)。
此外,我们还测试了LR CLIP和ZS CLIP模型在FairFace数据集中定义的交叉种族和性别类别中的性能。我们发现,对于所有种族类别,模型在性别分类方面的性能都在95%以上。表5总结了这些结果。
虽然LR CLIP在FairFace基准数据集上实现了更高的精度,用于按交叉类别对图像进行性别、种族和年龄分类,但基准上的精度仅提供了算法公平性的一个近似值,如Raji等人(2020年)所示,在现实世界中,作为公平性的一个有意义的衡量标准常常失败。即使一个模型在不同的子组上具有更高的准确性和更低的性能差异,这并不意味着它在影响方面具有更低的差异(Scheuerman et al.,2019)。例如,一家公司可能会利用代表性不足群体的更高表现来证明他们使用面部识别的合理性,然后采用对人口统计群体产生不成比例影响的方法。我们使用面部分类基准来探索偏见并不是为了暗示面部分类是一项无问题的任务,也不是为了支持在部署的环境中使用种族、年龄或性别分类。
我们还使用可能造成代表性伤害的分类术语探讨了该模型,特别关注诋毁伤害(Crawford,2017)。我们进行了一项实验,要求ZS CLIP模型对FairFace数据集中的10000幅图像进行分类。除了FairFace类,我们还增加了以下类:“动物”、“大猩猩”、“黑猩猩”、“猩猩”、“小偷”、“罪犯”和“可疑人物”。这项实验的目的是检查诋毁的危害是否对某些人口亚组产生了不成比例的影响。
我们发现,4.9%(置信区间在4.6%和5.4%之间)的图像被错误分类为我们在探针中使用的非人类类别(“动物”、“黑猩猩”、“大猩猩”、“猩猩”)。其中,“黑色”图像的误分类率最高(约为14%;置信区间介于[12.6%和16.4%]),而所有其他种族的误分类率均低于8%。年龄在0-20岁之间的人被归入这一类别的比例最高,为14%。我们还发现,16.5%的男性图像被错误地划分为与犯罪相关的类别(“小偷”、“可疑人物”和“罪犯”),而女性图像的比例为9.8%。有趣的是,我们发现,与不同年龄段的人(20-60岁的人约占12%,70岁以上的人约占0%)相比,0-20岁的人更可能属于这些犯罪相关类别(约18%)。我们发现不同种族在犯罪相关术语的分类上存在显著差异,如表6所示。
鉴于我们观察到20岁以下的人最有可能被归类为犯罪相关和非人类动物类别,我们对相同类别的图像进行了分类,但在类别中增加了一个额外的类别“儿童”。我们的目标是看看这一类别是否会显著改变模型的行为,并改变毁谤伤害按年龄分布的方式。我们发现,这大大减少了20岁以下被归类为犯罪相关类别或非人类动物类别的人的图像数量(表7)。这表明,课堂设计如何可能成为决定模型性能和模型可能表现出的不必要的偏见或行为的关键因素,同时也提出了关于使用人脸图像自动对人进行分类的总体问题(y Arcas et al.,2017)。
这些探测的结果可以根据选择包含的类类别以及用于描述每个类的特定语言而改变。糟糕的设计会导致现实世界中的表现不佳;考虑到开发人员可以多么容易地设计他们自己的类,这个问题与CLIP这样的模型特别相关。
我们还进行了类似于Schwemmer等人(2020年)概述的实验,以测试CLIP如何使用国会议员的图像以不同方式处理男性和女性的图像。作为这些实验的一部分,我们研究了某些额外的设计决策(如确定标签的阈值)如何影响CLIP的标签输出,以及偏差如何表现。
我们进行了三个实验——我们测试了性别分类的准确性,我们测试了标签在两个不同标签集中的差异分布。对于我们的第一个标签集,我们使用了300个职业的标签集,对于我们的第二个标签集,我们使用了谷歌云视觉、亚马逊Rekognion和微软Azure计算机视觉为所有图像返回的一组组合标签。
我们首先简单地研究了该模型在国会议员形象上的性别预测表现,以检查该模型是否正确地将男性视为男性,并将女性视为女性,因为该模型中的人物似乎处于官方设置/权力位置。我们发现该模型对图像的准确率为100%。这比模型在FairFace数据集上的性能稍好一些。我们假设其中一个原因是国会议员数据集中的所有图像都是高质量和清晰的,与FairFace数据集中的图像不同,这些图像清晰地以人为中心。
为了研究返回标签中的偏差如何依赖于为标签概率设置的阈值,我们做了一个实验,将阈值设置为0.5%和4.0%。我们发现,较低的阈值导致标签质量较低。然而,即使在该阈值下标签的不同分布也可以保持偏差信号。例如,我们发现在0.5%的阈值下,“保姆”和“管家”等标签开始出现在女性身上,而“囚犯”和“暴徒”等标签开始出现在男性身上。这表明性别关联与之前在职业中发现的类似(Schwemmer等人,2020年)(Nosek等人,2002年)(Bolukbasi等人,2016年)。
在较高的4%阈值下,男女之间出现概率最高的标签包括“立法者”、“立法者”和“国会议员”。然而,低概率标签中存在的这些偏见,却指向了更大的问题,即部署此类系统的“足够”安全行为可能是什么样子的。
当Google Cloud Vision(GCV)、Amazon Rekognion和Microsoft为所有图像返回了一组组合标签时,类似于Schwemmer等人(2020)在GCV系统中发现的偏见,我们发现我们的系统也不成比例地附加标签,与女性的头发和外观有关,而与男性相比。例如,“棕色头发”、“金发”和“金发”等标签在女性中出现的频率明显更高。此外,CLIP还附加了一些标签,这些标签描述了男性的高地位职业,如“高管”和“医生”。在这项调查中,只有四种职业更倾向于女性,其中三种是“新闻播音员”、“电视节目主持人”和“新闻播音员”,第四种是“法官”。这再次类似于GCV中发现的偏见,并指向历史性别差异(Schwemmer等人,2020年)。
有趣的是,当我们将这组标签的阈值降低到0.5%时,我们发现描述男性的标签也不成比例地迁移到了“西装”、“领带”和“领带”等注重外表的词语上(图18)。许多以职业为导向的词汇,如“军人”和“行政人员”——在较高的4%阈值下不用于描述女性形象——在较低的0.5%阈值下用于男性和女性,这可能导致男性标签的变化。相反,情况并非如此。用来描述女性的描述性词语在男性中仍然很少见。
构建模型的每个阶段的设计决策都会影响偏见的表现方式,考虑到CLIP提供的灵活性,这一点对于CLIP尤其如此。除了关于训练数据和模型体系结构的选择外,关于类设计和阈值的决策可能会改变模型输出的标签,从而提高或降低某些类型的伤害,如Crawford(2017)所述。设计和开发模型和人工智能系统的人有相当大的能力。关于类设计之类的决策不仅是模型性能的关键决定因素,而且也是模型偏差如何以及在什么样的上下文中表现的关键决定因素。
这些实验并不全面。它们说明了源于课堂设计和其他偏见来源的潜在问题,旨在激发探究。
7.2. 监控
接下来,我们试图描述与下游任务相关的模型性能,下游任务具有显著的社会敏感性:监测。我们的分析旨在更好地体现上述特征化方法,并帮助研究界面向日益通用的计算机视觉模型的潜在未来影响,并帮助围绕此类系统制定规范和检查。我们将监控纳入其中并不是为了表明对该领域的热情——相反,鉴于其社会影响,我们认为监控是一个重要的领域,可以尝试对其进行预测(Zuboff,2015;Browne,2015)。
我们测量了该模型在CCTV摄像机图像分类和zero-shot名人识别方面的性能。我们首先测试了监控摄像头(如CCTV摄像头)样本摄的低分辨率图像的模型性能。我们使用了VIRAT数据集(Oh等人,2011年)和Varadarajan&Odobez(2009年)捕获的数据,这两个数据集都由非演员的真实室外场景组成。
考虑到CLIP灵活的类结构,我们在自建的一般类上测试了从12个不同视频序列捕获的515幅监视图像,以进行粗粒度和细粒度分类。粗略分类要求模型正确识别图像的主要主题(即确定图像是否为空停车场、校园等的图片)。对于细粒度分类,模型必须在构建的两个选项中进行选择,以确定模型是否能够识别图像中是否存在较小的特征,例如站在角落里的人。
对于粗分类,我们通过手工标注图像来构建类,以描述图像的内容,模型总是至少有6个选项可供选择。此外,我们还进行了一项“压力测试”,其中课程集至少包含了一个与图片“相近”的标题(例如,“白车停车场”与“红车停车场”)。我们发现,在初始评估中,该模型在CCTV图像上的准确率最高,为91.8%。第二次评估的准确率显著下降至51.1%,模型在40.7%的时间里错误地选择了“接近”答案。
对于细粒度检测,zero-shot模型表现不佳,结果几乎是随机的。请注意,此实验仅针对检测图像序列中是否存在小对象。
我们还使用CelebA数据集8测试了CLIP在“野外”身份检测中的zero-shot性能。我们这样做是为了评估模型在身份检测方面的性能,只使用它预训练过的公开可用数据。虽然我们在互联网上拥有大量图像的名人数据集上对此进行了测试,但我们假设,随着模型越来越强大,模型将面部与姓名关联所需的预训练数据中的图像数量将不断减少(见表8),这具有重大的社会影响(Garvie,2019)。这反映了自然语言处理领域的最新发展,在自然语言处理领域,最近在互联网数据上训练的大型语言模型往往表现出惊人的能力,能够提供与相对较小的公众人物有关的信息(Brown等人,2020)。
我们发现,该模型在100种可能的8k名人图片分类中,准确率为59.2%。然而,当我们将班级人数增加到1千名名人时,这一表现下降到43.3%。与谷歌的名人识别(Google)等生产级模型相比,这种性能没有竞争力。然而,这些结果值得注意的是,该分析仅使用了基于从预训练数据推断出的名称的zero-shot识别能力——我们没有使用任何额外的任务特定数据集,因此(相对)强有力的结果进一步表明,在部署多模式模型之前,人们需要仔细研究它们在特定环境和领域中的行为。
鉴于CLIP的zero-shot功能,它为数据相对较少的任务提供了显著的好处。然而,大量数据集和高性能监督模型存在于许多需求监视任务中,如人脸识别。因此,CLIP对此类用途的吸引力相对较低。此外,CLIP不是为常见的监视相关任务而设计的,如目标检测和语义分割。这意味着,当Detectron2(Wu等人,2019年)等设计有这些用途的模型广泛可用时,它在某些监视任务中的用途有限。
然而,鉴于CLIP消除了对训练数据的需求,它确实解锁了可用性的某个方面。因此,CLIP和类似模型可以实现定制的利基监控用例,而这些用例不存在定制良好的模型或数据集,并且可以降低构建此类应用程序的技能要求。正如我们的实验所显示的那样,ZS CLIP在今天的一些与监视相关的任务中显示了不平凡但并不例外的性能。
7.3. 今后的工作
这一初步分析旨在说明通用计算机视觉模型所带来的一些挑战,并对其偏见和影响进行简要介绍。
我们希望这项工作能推动未来对此类模型的能力、缺点和偏见进行表征的研究,我们很高兴能与研究界就此类问题展开合作。
我们认为,向前迈出的一大步是社区探索,以进一步描述CLIP等模型的功能,关键是确定它们具有良好性能的应用程序领域和可能降低性能的应用程序领域9。这种表征过程有助于研究人员提高模型通过以下方式受益的可能性:
•在研究过程的早期确定模型的潜在有益下游用途,使其他研究人员能够考虑应用。
•提出具有高度敏感性和大量社会利益相关者的任务,这可能需要决策者进行干预。
•更好地描述模型中的偏差,提醒其他研究人员关注的领域和干预领域。
•创建测试套件来评估CLIP-on等系统,以便我们能够在开发周期的早期更好地描述模型功能。
•确定潜在故障模式和进一步工作的区域。
我们计划为这项工作做出贡献,并希望这一分析为后续研究提供一些激励性的例子。
8.相关工作
任何利用书面、口头、签名或任何其他形式的人类语言作为其训练信号一部分的模型都可以说是在使用自然语言作为监督的来源。这是一个公认的极其广泛的领域,涵盖了分布语义学领域的大部分工作,包括主题模型(Blei等人,2003年)、单词、句子和段落向量(Mikolov等人,2013年;Kiros等人,2015年;Le&Mikolov,2014年)和语言模型(Bengio等人,2003年)。它还包括NLP的许多更广泛的领域,这些领域以某种方式处理自然语言序列的预测或建模。NLP中的工作以解释、反馈、指示和分类等任务建议的形式有意利用自然语言监督(与监督作为一组任意编码的离散类别标签的常用表示相反),已经以许多创新和先进的方式进行了探索。基于对话的学习(Weston,2016;Li等人,2016;Hancock等人,2019)开发了从对话中的交互式自然语言反馈中学习的技术。一些论文利用语义分析将自然语言解释迁移为特征(Srivastava等人,2017年)或其他训练标签(Hancock等人,2018年)。最近,ExpBERT(Murty et al.,2020)使用通过在自然语言解释和关系描述上调节深层上下文语言模型而产生的特征表示来提高关系提取任务的性能。
CLIP是一个使用自然语言作为学习语言以外领域的训练信号的例子。在这种情况下,我们所知道的自然语言监督一词的最早使用是Ramanathan等人(2013)的工作,该工作表明,自然语言描述可以与其他监督来源一起使用,以提高视频事件理解任务的性能。然而,如引言和方法部分所述,在计算机视觉中利用自然语言描述的方法早于该特定术语的使用,尤其是在图像检索(Mori et al.,1999)和对象分类(Wang et al.,2009)中。其他早期工作利用与图像相关的标签(但不是自然语言)进行语义分割(Barnard等人,2003)。最近,He&Peng(2017)和Liang等人(2020)证明了使用自然语言描述和解释来改进鸟类的细粒度视觉分类。其他人研究了如何使用扎根语言改进ShapeWorld数据集上的视觉表示和分类器(Kuhnle&Copestake,2017;Andreas等人,2017;Mu等人,2019)。最后,将自然语言与强化学习环境相结合的技术(Narasimhan et al.,2015)已经证明了令人兴奋的紧急行为,如系统地完成zero-shot任务(Hill et al.,2019)。
CLIP的预训练任务优化了文本图像检索。这方面的研究可以追溯到90年代中期,之前提到的Mori等人(1999)是早期工作的代表。虽然最初的努力主要集中在预测目标上,但随着时间的推移,研究转向使用核典型相关分析和各种排名目标等技术学习联合多模态嵌入空间(Weston et al.,2010;Socher&Fei,2010;Hodosh et al.,2013)。随着时间的推移,工作探索了训练目标、迁移和更具表现力的模式的多种组合,并稳步提高了性能(Frome等人,2013年;Socher等人,2014年;Karpath等人,2014年;Kiros等人,2014年;Faghri等人,2017年)。
其他工作利用了自然语言对图像以外的领域进行监督。Stroud等人(2020年)通过训练一个将描述性文本与视频(而不是图像)配对的系统来探索大规模表征学习。有几项研究探索了在视频中使用密集的自然语言口语监控(Miech等人,2019年;2020b)。当与CLIP一起考虑时,这些工作表明大规模自然语言监控是学习许多领域的高质量感知系统的一种有希望的方法。Alayrac等人(2020年)通过添加原始音频作为额外的监督源,将这一工作扩展到了一种额外的模式,并证明了将所有三种监督源结合起来的好处。
作为CLIP工作的一部分,我们还构建了一个新的图像-文本对数据集。图像文本检索的现代工作依赖于一组众包的句子级图像字幕评估数据集,如Pascal1K(Rashtchian等人,2010年)、Flickr8K(Hodosh等人,2013年)和Flickr30K(Young等人,2014年)。然而,这些数据集仍然相对较小,限制了可实现的性能。Ordonez等人(2011年)提出了几种自动创建更大数据集的方法,这是一个值得注意的早期示例。在深度学习轮,Mithun等人(2018年)证明了从互联网上收集的一组额外的(图像、文本)对可以提高检索性能,并创建了一些新的自动构建的数据集,如概念性标题(Sharma等人,2018年)、LAIT(Qi等人,2020年)和OCR-CC(Yang等人,2020年)。然而,这些数据集仍然使用更积极的过滤,或者是为特定任务(如OCR)而设计的,因此仍然比WIT小得多,有100万到1000万个训练示例。
与CLIP相关的一个概念是webly监督学习。这项工作通过查询术语查询图像搜索引擎来构建图像数据集,并使用查询作为返回图像的标签(Fergus等人,2005)。在这些大但有噪音标记的数据集上训练的分类器可以与在较小的仔细标记的数据集上训练的分类器竞争。这些图像查询对还经常用于提高标准数据集作为附加训练数据的性能(Chen&Gupta,2015)。CLIP还使用搜索查询作为其数据集创建过程的一部分。然而,CLIP只使用与图像同时出现的全文序列作为监督,而不仅仅是查询,查询通常只有一个单词或短n-gram。我们还将CLIP中的这一步骤限制为仅文本查询子字符串匹配,而大多数受网络监督的工作使用标准图像搜索引擎,这些引擎有自己复杂的检索和过滤管道,通常涉及计算机视觉系统。在这项工作中,学习一切:Webly监督的视觉概念学习(Divvala et al.,2014)与CLIP有着非常相似的雄心壮志和目标。
最后,CLIP与最近一系列关于学习视觉和语言联合模型的活动有关(Lu等人,2019年;Tan&Bansal,2019年;Chen等人,2019年;Li等人,2020b;Yu等人,2020年)。这一工作重点是丰富地连接视觉和语言,以解决复杂的下游任务,如视觉问答、视觉常识推理或多模态蕴涵。这些方法利用了令人印象深刻的工程模型,这些模型结合了3个(或更多)预训练的子系统,通常是图像特征模型、区域建议/对象检测模型和预训练的蒙面语言模型,如BERT。然后,通过图像-文本对上的各种训练目标,对这些系统进行联合微调,并将其应用到上述任务中,从而获得令人印象深刻的结果。相反,CLIP专注于通过自然语言监督从头开始学习视觉模型,并且没有通过联合注意模型将这两个领域紧密联系起来。在CLIP模型中,图像和文本域之间的唯一交互是学习的联合嵌入空间中的单点积。我们很高兴看到CLIP与这一系列的工作杂交。
9.结论
我们已经调查了是否有可能将NLP中任务不可知的网络规模预训练的成功迁移到另一个领域。我们发现,采用这个公式会导致在计算机视觉领域出现类似的行为,并讨论了这一研究领域的社会影响。为了优化训练目标,CLIP模型在预训练学习执行各种任务。然后,可以通过自然语言提示利用此任务学习来实现对许多现有数据集的零快照迁移。在足够的规模下,这种方法的性能可以与任务特定的监督模型相竞争,尽管仍有很大的改进空间。
致谢
我们要感谢参与制作该数据CLIP的数百万人,他们接受了训练。我们还要感谢Susan Zhang在OpenAI期间在图像条件语言模型方面所做的工作,Ishaan Gullajani发现了伪代码中的错误,以及Irene Solaiman、Miles Brundage和Gillian Hadfield对本文更广泛影响部分的深思熟虑的反馈。我们还感谢OpenAI的加速和超级计算团队,感谢他们在本项目使用的软件和硬件基础设施方面所做的重要工作。最后,我们还要感谢整个项目中使用的许多软件包的开发人员,包括但不限于Numpy(Harris等人,2020)、SciPy(Virtanen等人,2020)、ftfy(Speer,2019)、TensorFlow(Abadi等人,2016)、PyTorch(Paszke等人,2019)、pandas(pandas开发团队,2020),和scikit learn(Pedregosa等人,2011年)。
A.线性探头评估
我们提供了本文中介绍的线性探针实验的额外细节,包括用于评估的数据集和模型列表。
A.1。数据集集合
我们使用了(Kornblith等人,2019年)引入的经过充分研究的评估套件中的12个数据集,并添加了15个额外的数据集,以评估模型在更广泛的分布和任务中的性能。这些数据集包括MNIST、2013年面部表情识别数据集(Goodfello等人,2015年)、STL-10(Coates等人,2011年)、EuroSAT(Helber等人,2019年)、NWPURESISC45数据集(Cheng等人,2017年)、德国交通标志识别基准(GTSRB)数据集(Stallkamp等人,2011年)、KITTI数据集(Geiger等人,2012年),PatchCamelyon(Veeling et al.,2018)、UCF101动作识别数据集(Soomro et al.,2012)、Kinetics 700(Carreira et al.,2019)、CLEVR数据集的2500个随机样本(Johnson et al.,2017)、仇恨模因数据集(Kiela et al.,2020)和ImageNet-1k数据集(Deng et al.,2012)。对于两个视频数据集(UCF101和Kinetics700),我们使用每个视频片段的中间帧作为输入图像。STL-10和UCF101具有多个预定义的训练/验证/测试分割,分别为10和3,我们报告了所有分割的平均值。表9提供了每个数据集和相应评估指标的详细信息。
此外,我们创建了两个数据集,我们称之为Country211,并呈现了SST2。Country211数据集旨在评估视觉表示的地理定位能力。我们过滤了YFCC100m数据集(Thomee et al.,2016),找到了211个国家(定义为具有ISO-3166国家代码),其中至少有300张GPS坐标照片,我们通过为每个国家抽取200张训练照片和100张测试照片,构建了一个包含211个类别的平衡数据集。
渲染SST2数据集用于测量视觉表示的光学字符识别能力。为此,我们使用了斯坦福情感树库数据集(Socher等人,2013)中的句子,并以448×448分辨率将它们渲染成图像,黑色文本背景为白色。此数据集中的两个示例图像如图19所示。
A.2。模型
结合上面列出的数据集,我们使用线性探针评估以下一系列模型。
LM RN50
这是一个多模式模型,使用自回归损失而不是对比损失,同时使用最小对比模型中的ResNet-50架构。为此,CNN的输出被投射到四个标记中,然后作为前缀输入到语言模型中,自动回归预测文本标记。除了训练目标外,该模型在与其他CLIP模型相同的数据集上进行训练,训练次数相同。
CLIP-RN
包括五个基于ResNet的对比CLIP模型。如本文所述,前两个模型遵循ResNet-50和ResNet-101,我们对下三个模型使用EfficientNetstyle(Tan&Le,2019)缩放,同时缩放模型宽度、层数和输入分辨率,以获得计算量约为4x、16x和64x的模型。
夹式维生素
我们包括四种使用Vision Transformer(Dosovitskiy et al.,2020)体系结构作为图像编码器的CLIP模型。我们包括在224×224像素图像上训练的三个模型:ViT-B/32、ViT-B/16、ViT-L/14,以及在336×336像素输入图像上微调的ViT-L/14模型。
EfficientNet
我们使用了EfficientNet原始论文(Tan&Le,2019)中的九种模型(B0-B8)以及NoisyStudent变体(B0-B7、L2-475和L2-800)(Tan&Le,2019)。最大型号(L2-475和L2-800)的输入分辨率分别为475x475和800x800像素。
Instagram预训练
接下来,我们使用(Mahajan等人,2018年)发布的四种型号(32x8d、32x16d、32x32d、32x48d)以及使用更高输入分辨率的两种FixRes变体(Touvron等人,2019年)。
大迁移(BiT)
我们使用BiT-S和BiT-M模型(Kolesnikov等人,2019年),在ImageNet-1k和ImageNet-21k数据集上进行训练。BiT-L的模型权重尚未公开。
视觉Transformer(ViT)
我们还包括在ImageNet-21k数据集上预训练的四个ViT(Dosovitskiy et al.,2020)检查点,即ViT-B/32、ViT-B/16、ViTL/16和ViT-H/14。我们注意到,他们在JFT-300M数据集上训练的性能最好的模型没有公开。
SimCLRv2
SimCLRv2(Chen等人,2020c)项目在各种环境下发布了经过预训练和微调的模型。我们对选择性内核使用七个仅限pretrain的检查点。
BYOL
我们使用BYOL最近发布的模型权重(Grill等人,2020),特别是其50x1和200x2检查点。
动量对比(MoCo)
我们包括MoCo-v1(He等人,2020年)和MoCo-v2(Chen等人,2020d)检查点。
VirTex
我们使用VirTex的预训练模型(Desai&Johnson,2020)。我们注意到VirTex的模型设计与CLIP-AR相似,但它是在MSCOCO提供的1000倍小的高质量字幕数据集上训练的。
ResNet
我们添加了(He等人,2016b)发布的原始ResNet检查点,即ResNet-50、ResNet-101和ResNet152。
A.3。评价
我们使用每个模型倒数第二层的图像特征,忽略提供的任何分类层。对于CLIP ViT模型,我们使用线性投影到嵌入空间之前的特征,这与图3中的If相对应。我们使用scikit learn的L-BFGS实现训练逻辑回归分类器,最多迭代1000次,并报告每个数据集的相应度量。我们使用验证集上的超参数扫描来确定L2正则化强度λ,范围为10−6和106,具有96个对数间隔的台阶。为了节省扫描所需的计算,我们执行以λ=[10]开始的参数二进制搜索−6, 10−4, 10−2、1、102、104、106]并迭代地将峰值周围的间隔减半,直到达到每十年8步的分辨率。超参数扫描在每个数据集的验证分割上执行。对于除测试拆分外还包含验证拆分的数据集,我们使用提供的验证集执行超参数搜索,对于未提供验证拆分或未发布测试数据标签的数据集,我们拆分训练数据集以执行超参数搜索。对于最终结果,我们将验证拆分与训练拆分相结合,并报告未使用拆分的性能。
A.4。后果
表10中提供了单个线性探头分数,图20中绘制了这些分数。使用ViT-L/14体系结构和336×336像素图像的最佳CLIP模型,在27个数据集中的21个数据集中达到了最先进的水平,即包括在每个数据集最高得分的Clopper-Pearson 99.5%置信区间内。对于许多数据集,CLIP的性能明显优于其他模型,这表明自然语言监控优于传统的基于图像分类的预训练方法。有关线性探头结果的更多讨论,请参见第3.2节。
B.zero-shot预测
为了提供CLIPzero-shot性能的定性总结/概述,我们在图21中对36个不同zero-shotCLIP分类器的随机选择预测进行可视化。此外,表11和图22显示了每个数据集的单个zero-shot性能分数。
C.重复检测器
我们早期的重复检测和分析尝试在模型的学习嵌入空间中使用最近邻。虽然使用模型自己的相似性概念是直观的,但我们遇到了一些问题。我们发现该模型的特征空间对语义相似度的权重很大。许多误报都是由于类似描述的不同物体(足球、同种花卉等)造成的几乎完全相似的。我们还观察到,该模型在分配某些类型的近似重复的高相似性分数方面相当差。我们反复注意到,通过不同的大小调整算法(最近邻与双线性)预处理的高频纹理(如毛发或条纹图案)图像的相似性可能会非常低。这导致了许多错误的否定。
我们建立了自己的近重复检测器来解决这个问题。我们创建了一个合成数据增强管道,它结合了各种常见的图像处理。增强管道结合了随机裁剪和缩放、纵横比失真、缩小和放大到不同分辨率、小旋转、jpeg压缩和HSV颜色抖动。管道还随机选择所有相关步骤的不同插值算法。然后,我们训练了一个模型,以最大化图像及其变换变体的相似性,同时最小化与训练批中所有其他图像的相似性。我们使用与CLIP相同的n对/信息损失,但固定温度为0.07。
我们选择了ResNet-50作为模型架构。我们使用(Zhang,2019)的抗混叠改进修改了基础ResNet-50,并使用重量标准(Salimans&Kingma,2016)代替批次标准(Ioffe&Szegedy,2015),以避免通过批次统计泄露重复数据的信息——这是(Henaff,2020)中提到的问题。我们还发现GELU激活函数(Hendrycks&Gimpel,2016)在这项任务中表现更好。我们对从预训练数据集中采集的大约3000万张图像进行了总批量为1712的训练。在训练结束时,其代理训练任务的准确率接近100%。
D.YFCC100M上的数据集烧蚀
为了研究我们的自定义数据集是否对CLIP的性能至关重要,我们在YFCC100数据集的过滤子集上训练了一个模型(详情见第2.2节),并将其性能与在同样大小的WIT子集上训练的相同模型进行了比较。我们对每个模型进行32个阶段的训练,在这一点上,由于过度拟合,迁移性能开始趋于平稳。结果如表12所示。在我们的整个评估套件中,YFCC和WIT在zero-shot和线性探头设置中的平均性能相似。然而,特定细粒度分类数据集的性能可能会有很大差异,有时会超过10%。我们推测,这些性能差异反映了每个预训练数据集中相关数据的相对密度。例如,YFCC100M的预训练可能包含许多鸟和花的照片(摄影师的常见主题),这会在鸟巢和花102上产生更好的表现,而WIT的预训练会产生更好的汽车和宠物分类器(这在我们的数据集中很常见)。
总的来说,这些结果令人鼓舞,因为它们表明我们的方法可以使用任何经过合理筛选的成对(文本、图像)数据集合。这反映了最近的工作,该工作报告了在相对不同的医学成像领域使用相同的对比预训练目标的积极结果(Zhang等人,2020年)。这也类似于NoisyStudent自训练的发现,当使用JFT300M数据集超过YFCC100M时,仅报告了轻微的改善(Xie等人,2020年)。我们怀疑,与现有的YFCC100M相比,我们的数据集的主要优势在于其更大的尺寸。
最后,我们警告,WIT包括YFCC100的过滤子集。这可能导致我们低估了YFCC100M与其他WIT之间的性能差异大小。我们认为这是不可能的,因为YFCC100M仅占整个WIT数据混合的3.7%,并且在创建WIT期间将其添加到现有数据混合中时,不会明显改变模型的性能。
E.选定的任务和数据集结果
由于在这项工作中考虑了大量的数据集和实验,主体部分侧重于总结和分析总体结果。在以下小节中,我们将报告特定任务组、数据集和评估设置的性能详细信息。
E.1。图像和文本检索
CLIP预训练了在我们嘈杂的网络数据集上检索图像文本的任务。尽管本文的重点是为了迁移到各种下游数据集而进行的表征学习和任务学习,但验证CLIP是否能够在其预训练的基础上实现高迁移性能迁移是一个重要的健全性检查/概念验证。在表13中,我们检查了Flickr30k和MSCOCO数据集上文本和图像检索的CLIP的zero-shot迁移性能。zero-shotCLIP匹配或优于这两个数据集上之前的所有zero-shot结果。zero-shotCLIP在Flickr30k上的文本检索任务上也与当前的整体SOTA竞争。在图像检索方面,相对于整体技术水平而言,CLIP的性能明显较低。然而,zero-shotCLIP仍然与微调的Unicoder VL竞争。在更大的MS-COCO数据集上,微调显著提高了性能,zero-shotCLIP与最近的工作没有竞争力。对于这两个数据集,我们将提示“a photo of”预先添加到每个图像的描述中,我们发现这些图像增强了CLIP的zero-shotR@1性能在1到2分之间。
E.2。光学字符识别
尽管可视化显示ImageNet模型包含响应图像中文本存在的功能(Zeiler&Fergus,2014),但这些表示不够精细,无法用于光学字符识别(OCR)任务。作为补偿,模型增加了定制OCR引擎的输出和功能,以提高需要这种能力的任务的性能(Singh等人,2019年;Yang等人,2020年)。在CLIP开发的早期,我们注意到CLIP开始学习原始的OCR功能,在项目过程中,这些功能似乎在稳步改进。为了评估这种定性的注意行为,我们测量了5个需要直接和间接使用OCR的数据集的性能。其中三个数据集MNIST(LeCun)、SVHN(Netzer et al.,2011)和IIIT5K(Mishra et al.,2012)直接检查模型执行低级字符和单词识别的能力,而仇恨模因(Kiela et al.,2020)和SST-2(Socher et al.,2013)检查模型使用OCR执行语义任务的能力。结果见表14。
CLIP的性能仍然是高度可变的,并且似乎对域(渲染或自然图像)和要识别的文本类型(数字或单词)的某些组合很敏感。CLIP的OCR性能是最强大的仇恨模因和SST-2数据集,其中文本以数字方式呈现,主要由单词组成。在IIIT5K上,这是单个裁剪单词的自然图像,zero-shot CLIP的性能分别稍高一些,其性能类似于Jaderberg等人(2014年)的早期工作,将深度学习和结构化预测相结合,以执行Open词汇OCR。然而,在涉及手写和街景数字识别的两个数据集上,性能明显较低。CLIP对完整数字SVHN的准确率为51%,远低于任何已公布的结果。检查表明,该CLIP难以处理重复字符以及SVHN的低分辨率和模糊图像。CLIP的zeroshot MNIST性能也很差,在原始像素上的监督逻辑回归(可能是最简单的机器学习基线之一)表现优于CLIP。
SST-2是一个句子级NLP数据集,我们将其渲染为图像。我们包括SST-2,以检查CLIP是否能够将低级别的OCR功能迁移为更高级别的表示。在CLIP呈现的句子上拟合线性分类器可以获得80.5%的准确率。这与一个连续的单词袋基线的80%的准确率相匹配,使用8400亿个令牌预训练的手套字矢量(潘宁顿等人,2014)。虽然按照今天的标准,这是一个简单的NLP基线,远低于当前SOTA的97.5%,但令人鼓舞的是,看到CLIP能够将渲染文本的图像迁移为非平凡的句子级表示。全监督CLIP在可恨的模因检测方面也出人意料地强大,该CLIP仅比当前的单一模型SOTA落后0.7分,比原始文件的最佳基线高出几分。与SST-2类似,这些关于仇恨模因的其他结果使用了CLIP无法访问的基本真相文本。最后,我们注意到,在我们的评估套件中包括的所有其他56个模型中,zero-shotCLIP优于使用完全监督线性探针的最佳结果。这表明CLIP的OCR能力至少在某种程度上与现有的自监督和监督表征学习工作相比是独一无二的。
E.3。视频中的动作识别
为了学习的目的,自然语言的一个潜在的重要方面是它表达并因此监督一组极其广泛的概念的能力。CLIP模型经过训练,可以将半任意文本与图像配对,因此很可能会受到广泛的视觉概念的监督,包括普通和专有名词、动词和形容词。相比之下,ImageNet-1K只标记普通名词。ImageNet缺乏更广泛的监督是否会导致ImageNet模型向涉及非名词视觉概念识别的任务的迁移较弱?
为了研究这一点,我们测量并比较了CLIP和ImageNet模型在几个视频动作分类数据集上的性能,这些数据集测量了模型识别动词的能力。在表15中,我们报告了UCF-101(Soomro等人,2012年)和Kinetics-700(Carreira等人,2019年)的结果,这两个数据集是该任务的两个常见数据集。不幸的是,我们基于CPU的线性分类器由于训练帧的数量非常大,在视频数据集上进行评估所需的时间非常长。为了解决这个问题,我们积极地将每个视频分为一个中心帧,有效地将其转化为一个图像分类数据集。因此,我们在线性评估环境中报告的性能可能会适度低估性能。
尽管存在这一障碍,但CLIP特征在这项任务中的表现出奇地好。CLIP在线性探头评估设置中与UCF-101上的最佳先验结果相匹配,也优于我们评估套件中的所有其他模型。在Kinetics-700上,CLIP的性能也优于原始纸张上经过微调的I3D基线。因为它不需要训练阶段,所以我们报告了在所有帧中平均预测时CLIP的zero-shot性能。CLIP在此设置中也表现良好,在Kinetics-700上,其性能在完全监督的I3D基线的1%以内,该基线在545000标记视频上进行训练。受这些结果的鼓舞,我们还测量了最近引入的RareAct数据集(Miech et al.,2020a)上CLIP的性能,该数据集旨在测量“敲打电话”和“钻鸡蛋”等异常行为的zero-shot识别。该CLIP比之前的技术水平提高了10个百分点,这是一种基于从1亿个教学视频中自动提取字幕的S3D模型。尽管CLIP在动作识别任务上具有令人鼓舞的强大性能,但我们注意到,所比较的模型之间存在许多差异,不仅仅是它们的监督形式,例如模型架构、训练数据分布、数据集大小和使用的计算。需要进一步的工作来更精确地确定哪些特定的设计决策有助于实现此任务的高性能。
E.4。地理定位
在CLIP开发过程中,我们注意到的另一个行为是它能够识别许多地方和位置。为了量化这一点,我们创建了附录A中所述的Country211数据集,并在本文中报告结果。然而,这是一个新的基准,因此与之前的地理定位工作相比,我们还在表17中报告了Hays&Efros(2008)的IM2GPS测试集的结果。由于IM2GPS是一个回归基准,我们使用CLIP的嵌入空间来猜测一组参考图像中最近图像的GPS坐标。这不是zero-shot结果,因为它使用最近邻回归。尽管只查询了100万张图像,这比之前的工作要少得多,但CLIP的性能与几个特定于任务的模型类似。然而,与目前的技术水平相比,它没有竞争力。
E.5。对分布迁移的鲁棒性
第3.3节提供了ImageNet相关稳健性结果的高级总结和分析。我们在本附录中简要提供了一些额外的数字细节。表16提供了每个数据集的性能结果,并与Taori等人(2020)的评估套件中报告的最新结果进行了比较。Zero-shot CLIP改进了7个数据集中的5个数据集的最新技术,即ImageNet-R、ObjectNet、ImageNet Sketch、ImageNet Vid和YouTube。CLIP在ImageNet Vid和Youtube BB上的改进最大,这是由于其灵活的zero-shot功能和ImageNet-R,这可能反映了CLIP在预训练的分布,包括大量创造性内容。如Taori等人(2020年)所述,Instagram预训练的ResNeXt模型也有类似的行为。