CLIP模型详细讲解

模态嵌入
在多模态学习中,经常面对不同类型的数据,例如文本、图像、音频和视频等,每种数据类型都有其特有的属性和结构,无法直接进行比较和计算。模态嵌入的目标是将这些不同类型的数据转换为相同维度的向量,使它们可以在同一空间中进行比较和计算,这种通用的向量表示有助于构建更加灵活和强大的人工智能系统,能够跨越不同模态数据之间的界限,从而提高系统的性能和泛化能力。

摘要

最先进的计算机视觉系统使用一组固定的目标类别来进行训练。这种受限制的监督形式限制了他们的通用性和可用性,因为需要额外的标记数据来指定任何其他视觉概念。直接从关于图像的原始文本中学习是一种有前途的替代方法,它利用了更广泛的监督来源。我们证明了,在从互联网上收集的4亿对数据集上,预测图像文本对之间的对应关系是一种高效且可扩展的从头学习SOTA图像表示的方法。在预训练之后,自然语言被用来指代已经被学习到的视觉概念,或者用于描述新的视觉概念,使模型能够以零样本转移的方式应用到下游任务中。

介绍

在网络规模的文本集合中,现代预训练方法所能获得的总体监督超过了高质量人群标记的NLP数据集,但是在计算机视觉等其他领域,在人群标记的数据集上预训练模型仍然是标准做法,直接从网络文本中学习的可扩展与训练方法能否在计算机视觉领域取得类似的突破。
目前,使用自然语言监督进行图像表示学习的研究仍然不多见,这有可能是因为在共同基准上的表现远低于替代方法。一系列的工作表现了从有限数量监督的金标签学习和几乎无限数量的原始文本中学习之间的中间立场,这些弱监督模型与最近直接从自然语言学习图像表示的探索之间的一个重要区别是尺度。

方法

在这里插入图片描述
CLIP模型的预训练和测试流程一致,如上图所示,在同时输入文本和图像对的情况下,只有对角线上的位置才是真值。CLIP模型的基本原理是通过对比学习让模型区分正样本和负样本,本质上是通过分类这一方式实现的。
为了实现这一目标,CLIP使用了一个多模态编码器,它由两个子编码器组成:图像编码器可以是基于卷积神经网络(CNN)或者视觉变换器(ViT)的模型;文本编码器则是一个基于Transformer的模型。作者通过一个线性投影将每个编码器的表示映射到多模态嵌入空间。通过联合训练图像编码器和文本编码器来最大化批次中的N个真实对的图像和文本嵌入的余弦相似度,同时最小化 N 2 − N N^2-N N2N个错误对的余弦相似度。通过上述的余弦相似度来衡量图像和文本之间的匹配程度

自然语言监督

我们方法的核心是从自然语言中包含的监督中学习感知的思想。我们强调,这一系列工作的共同点不是所使用的特定方法的任何细节,而是对自然语言作为训练信号的理解。从自然语言学习比其他训练方法有几个潜在的优势。

  1. 在自然语言上的方法可以被动地从互联网上海量文本中蕴含中的监督中学习。
  2. 自然语言不仅仅学习一个表示,还将该表示与语言联系起来,从而实现零样本迁移。

生成一个足够大的数据集

自然语言监督的一个主要动机是互联网上公开提供的大量数据。由于现有的数据集没有充分反应这种可能性,我们构建了一个新的数据集,该数据集来自互联网上各种公开来源的四亿(图像,文字)对,为了尽可能广泛的涵盖一组可是改了,我们把搜索(图像,文字)对,作为构造过程的一部分,其中文字属于在英文版维基百科中出现至少100次的所有单词中构成的500000查询中的一个。为了保证类别的平衡,我们在每个类别中增加20000个(图像,文字)对。

选择高效的预训练方式

最先进的计算机视觉系统通常使用非常大的计算量,同时我们发现训练效率是成功扩展自然语言监督的关机,因此我们选择了基于这个指标的最终预训练方式。
在我们最初的方法中,联合训练了一个图像CNN网络和文本转换器,从头开始预测图像的标签,但是在有效扩展该方法时出现了困难,他的学习速度很慢。我们发现关键点在于,它试图预测每幅图像所伴随的文本的确切单词,因为与图像共同出现的描述,评论和相关文本种类繁多,所以这是一项艰巨的任务。最近在图像对比表示学习方面的工作发现,对比学习比其等价的预测学习能够学习到更好的表示。注意到这些现象,我们探索训练一个系统,预测整个文本与哪个图像匹配,而不是文本中确切的单词

给定一个批次N个(图像、文字)对,CLIP被训练用来预测在一个批次中实际发生的NxN个可能的(图像、文字)对,CLIP学习一个多模态嵌入空间,通过联合训练一个图像编码器和文本编码器来最大化N个真是对的图像和文本嵌入的余弦相似度,同时最小化 N 2 − N N^2 -N N2N个嵌入的余弦相似度。
由于我们预训练的数据集规模很大,过拟合不是一个主要的问题,我们从头开始训练CLIP,而无需使用ImageNet权重或具有预训练权重对文本编码器进行初始化。我们仅使用线性投影将每个编码器的表示映射到多模态嵌入空间

选择和缩放模型

我们为图像编码器考虑了两种不同的架构,首先,我们使用ResNet-50作为图像编码器的基本架构,并且使用注意力池化机制替换了全局平局池化层。注意力池化机制由单层,transformer-style的多头注意力;对于第二种架构,我们尝试了最近引入的视觉转换器,我们在transformer之间添加了一个额外的层归一化操作去融合patch和位置嵌入,并且采用了一个轻微不同的初始化策略。

文本编码器采用了 Transformer架构, 为了提高计算效率,最大序列长度上限为76,文本序列用[SOS]和[EOS]标记括起来,并且在[EOS]符号处变换器的最高层的激活被视为文本的特征表示,该特征表示被层归一化,然后线性投影到多模式嵌入空间中。我们发现CLIP的性能对文本编码器的容量不太敏感

CLIP模型注意力可视化

本次选取了VIT-B/32模型进行注意力可视化情况,但发现没有明显的规律
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值