欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 《Contrastive Language-Image Pre-Training with Knowledge Graphs》中文校对版

《Contrastive Language-Image Pre-Training with Knowledge Graphs》中文校对版

2024/10/27 10:40:48 来源:https://blog.csdn.net/buyaotutou/article/details/143256499  浏览:    关键词:《Contrastive Language-Image Pre-Training with Knowledge Graphs》中文校对版

文章汉化系列目录


文章目录

  • 文章汉化系列目录
  • 摘要
  • 1 引言
  • 2 相关工作
  • 3 对比语言-图像预训练 (CLIP)
  • 4 Knowledge-CLIP
    • 4.1 数据准备
    • 4.2 模型架构
    • 4.3 训练目标
  • 5 实验
    • 5.1 实现细节
    • 2、多模态任务
    • 5.3 单模态任务
    • 5.4 消融实验
    • 5.5 特定语义分析
  • 6 结论
  • 7鸣谢


摘要

 近年来,大规模预训练框架快速发展,能够以统一的形式提取多模态表示,并在迁移到下游任务时取得了显著性能。然而,现有方法主要集中在简单的图文对预训练上,而忽视了来自不同模态的概念之间的语义关联。本文提出了一种基于知识的预训练框架,称为Knowledge-CLIP,它将语义信息注入到广泛使用的CLIP模型[38]中。通过在预训练过程中引入基于知识的目标,并利用不同类型的知识图谱作为训练数据,我们的模型能够在视觉和语言中实现更高质量的语义对齐表示,并增强跨场景和模态的推理能力。在多个视觉-语言下游任务上的广泛实验表明,与原始CLIP和其他竞争基准相比,Knowledge-CLIP具有显著的有效性。

1 引言

近年来,大规模视觉-语言预训练引起了广泛的研究兴趣 [9, 26, 38, 72]。与为每个特定任务训练独立模型不同,预训练模型借鉴了人类生物智能系统的类比,试图从多种数据模态中感知世界并处理综合任务。具体而言,它旨在提供一个统一的推理范式,同时学习多模态数据的表示,并能够轻松地迁移到各种下游任务中。得益于从网络中获取大量图文对的便利,视觉-语言预训练可以利用更广泛的监督资源,从而有效提升模型的泛化能力。
早期在视觉-语言预训练方面的尝试主要集中在检测图像中的对象,并将相应的词标记与对象区域对齐 [9, 28, 50]。尽管这些方法有效,但对对象概念的依赖以及预训练对象检测器所需的额外资源对实际应用构成了限制。作为开创性工作之一,CLIP [38] 将预训练数据集的规模扩展至4亿图文对,通过直接匹配原始文本和相应图像来学习表示。通过基于对比的训练方案,CLIP在大词汇量下学习视觉概念,显著提升了模型在多种下游任务中的表现。受CLIP启发,后续研究从多个角度进一步扩展了这一工作,包括数据模态 [72]、下游任务 [57] 和训练数据效率 [19, 44] 等方面。
尽管表现出令人鼓舞的结果,当前的预训练框架也存在一些局限性。具体来说,预训练的数据对以最简单的方式组织,仅通过“匹配”与“不匹配”的描述来表示给定图文对之间的关系。这通常导致模型依赖输入的共现性而非其语义含义的退化情况。我们在图1中给出了一个示例,通过在ImageNet数据集 [10] 上使用模板“a photo of a {}”和“not a photo of a {}”评估CLIP的零样本迁移表现。结果显示,CLIP在两个模板下的输出分布非常相似,表明当前模型未能理解词标记的语义含义。因此,模型的迁移能力受到限制,并且在需要推理能力的任务上(如视觉问答)表现较差。
在这里插入图片描述

图1说明: CLIP未能准确捕捉某些细粒度的语义信息。当提供相反的语义描述时,例如在模板中添加“not”或使用错误的颜色描述图像时,CLIP往往会给出与正确描述类似的分布。最佳效果请使用彩色查看。

为了解决预训练模型在语义感知上的局限性,我们采用知识图谱技术,该技术在自然语言处理领域已被广泛研究 [7, 58]。知识图谱(KG)是一个大规模的语义网络,将实体作为节点,语义关系作为边。通过将数据组织成图结构,知识图谱提供了丰富的信息来描述实体之间的关系,并支持整个图上的推理过程。与普通结构化数据相比,这些优势对各种任务(如问答 [18, 70]、关系预测 [29, 43] 和知识推理 [6, 59])都具有重要价值。近年来,知识图谱在计算机视觉领域也得到了探索,例如场景图 [65] 和语言与图像的整合 [2]。这弥合了知识图谱中不同模态之间的差距,启发我们探索一种新的基于知识的预训练框架,将语义信息注入到简单的图文对中。
本文提出了一种新颖的视觉-语言预训练方法,称为Knowledge-CLIP,通过基于广泛使用的CLIP模型构建知识增强的预训练框架。如图2所示,我们遵循CLIP的结构,分别使用基于Transformer的模型作为图像和文本编码器。这两个编码器将知识图谱中的实体和关系作为输入,提取实体和关系的基础特征。值得注意的是,实体可以是图像或文本形式,而关系始终用语言标记来描述。接着,采用多模态Transformer编码器在关系条件下融合实体特征。通过这种方式,预训练模型被引导聚焦于理解视觉与词汇概念之间的语义关系,从而在视觉和语言模态之间建立强有力的语义连接。
为了进一步提高训练效率并避免预训练过程中巨大的计算成本,我们采用了一种简单的连续学习策略,即基于CLIP的预训练权重对模型进行训练。这样可以在较低的训练资源下高效提升CLIP模型的性能。
我们在三个知识图谱数据集上训练模型,分别是Visual-Genome [24](场景图)、ConceptNet [46](基于语言的图谱)和VisualSem [2](多模态图谱),并且采用部分CLIP的数据集以避免模型遗忘问题。通过知识增强的预训练,Knowledge-CLIP在多种视觉和语言下游任务上相较于原始CLIP模型实现了持续的性能提升。
在这里插入图片描述

图2说明: 我们的框架概览。(A) 给定包含实体 h h h t t t 及其关系 r r r 的数据三元组 ( h , r , t ) (h, r, t) (h,r,t),图像和文本编码器首先提取原始特征,接着多模态编码器处理拼接后的三元组序列,并输出三元组和关系的表示。(B) 我们框架中采用的三类训练目标。

2 相关工作

大规模预训练。 得益于Transformer在视觉 [35, 63, 36] 和语言 [54] 任务中的发展,大规模预训练框架在近年来备受关注,并在计算机视觉和自然语言处理中显示出令人鼓舞的成果。GPT [39] 是语言预训练的开创性工作之一,通过优化序列中前置词的输出概率。BERT [11] 采用了掩码语言模型技术,根据未掩码的词预测被掩码的词。同样,计算机视觉领域也因大规模图像数据集的出现而推动了预训练模型的发展。IGPT [5] 提出了生成预训练技术,并在分类任务中表现优异。MAE [17] 采用了类似于BERT的预训练方案,使用未掩码的区域来预测图像的掩码区域。
多模态预训练不同于上述框架,需对不同数据模态进行对齐。利用从互联网收集的大量图文对,视觉-语言模型在多种下游任务中显著提升了性能。这些方法中采用了多种预训练方案,包括对比学习 [1, 27, 31]、掩码语言模型 [47, 51] 和掩码区域模型 [9]。语义误解问题也在先前的研究中被关注。例如,EICLIP [33] 考虑了电商领域的跨模态检索问题,与本研究观点相似,作者发现CLIP对特定词标记存在偏见,并引入因果推理来对齐文本编码器与电商领域知识。K3M [73] 聚焦于模态缺失和模态噪声问题,将知识模态引入电商任务。DeVLBert [69] 研究了不同模态间的虚假关联,调整了图像和词标记的条件概率。KaleidoBERT [74] 通过引入多种新颖的自监督任务,关注图文连贯性。相比先前方法,我们首次在预训练过程中结合多模态知识图谱,有效增强了模型对视觉与语言概念之间语义关系的感知能力。

知识图谱。 知识图谱最初在自然语言处理领域引入,其嵌入方法成功捕捉了符号(实体和关系)的语义,并在文本理解 [13, 66]、推荐系统 [16, 56] 和自然语言问答 [18, 70] 等广泛实际应用中取得了显著成果。另一方面,场景图是计算机视觉中的一种图结构数据,图像中的视觉概念通过语义关系相连接。场景图注重图像的细粒度语义特征,被广泛应用于场景图生成 [65]、场景图解析 [68] 等任务。除场景图外,知识图谱还被应用于其他计算机视觉任务,包括图像分类 [22]、全景分割 [62] 和图像描述 [71]。基于此,多模态知识图谱近年来受到广泛关注。鉴于不同数据模态之间的自然对齐,多模态知识图谱被广泛应用于基于图的任务,包括链接预测 [3, 30]、实体分类 [61],并在超出图的应用中表现出巨大潜力,如视觉问答 [20, 41] 和推荐系统 [49, 52]。

3 对比语言-图像预训练 (CLIP)

我们首先简要回顾CLIP的模型架构和训练设置。CLIP使用两个独立的模型分别作为图像编码器和文本编码器。对于文本输入,采用一个具有512宽度和8个注意力头的12层Transformer。原始文本首先通过字节对编码(BPE)[40] 转换,词汇量为49,152。文本序列长度上限为76,并在进入文本编码器前加入位置编码。另一方面,CLIP的图像编码器有基于ResNet和Vision Transformer的不同版本。由于后续研究表明Vision Transformer模型性能更佳,本文仅考虑基于Transformer的图像编码器。与文本输入类似,图像首先被划分为小块并加入位置编码。在两个编码器的最后阶段,采用全局池化函数将特征图压缩为单一特征,作为整个图像/文本序列的表示。图像和文本特征的余弦距离作为数据对的相似度。

在训练监督中,采用对比损失来最大化匹配对的相似度,同时最小化不匹配对的相似度。对于一个包含 N N N 个数据对 { I i , T i } i = 1 N \{I_i, T_i\}_{i=1}^N {Ii,Ti}i=1N 的批次,其中 I i I_i Ii T i T_i Ti 分别表示第 i i i 个图像和文本,损失函数可参数化为:

L = − 1 2 ∑ i = 1 N ( log ⁡ exp ⁡ ( cos ⁡ ( f I ( I i ) , f T ( T i ) ) / τ ) ∑ j = 1 N exp ⁡ ( cos ⁡ ( f I ( I i ) , f T ( T j ) ) / τ ) + log ⁡ exp ⁡ ( cos ⁡ ( f I ( I i ) , f T ( T i ) ) / τ ) ∑ j = 1 N exp ⁡ ( cos ⁡ ( f I ( I j ) , f T ( T i ) ) / τ ) ) L = - \frac{1}{2} \sum_{i=1}^N \left( \log \frac{\exp(\cos(f_I(I_i), f_T(T_i)) / \tau)}{\sum_{j=1}^N \exp(\cos(f_I(I_i), f_T(T_j)) / \tau)} + \log \frac{\exp(\cos(f_I(I_i), f_T(T_i)) / \tau)}{\sum_{j=1}^N \exp(\cos(f_I(I_j), f_T(T_i)) / \tau)} \right) L=21i=1N(logj=1Nexp(cos(fI(Ii),fT(Tj))/τ)exp(cos(fI(Ii),fT(Ti))/τ)+logj=1Nexp(cos(fI(Ij),fT(Ti))/τ)exp(cos(fI(Ii),fT(Ti))/τ))

其中 f I f_I fI f T f_T fT 分别对应图像和文本编码器, cos ⁡ ( ⋅ ) \cos(\cdot) cos() 表示输入之间的余弦相似度, τ \tau τ 是一个可学习的温度参数,初始值为0.07。

这种简单的训练框架带来了一些需要解决的问题。首先,由于数据结构简单,预训练框架未能对输入的语义信息建模,导致在需要推理能力的任务上表现较差,例如视觉问答和视觉常识推理。其次,图像和文本特征位于不同的空间,难以建模不同模态间的交互。第三,训练过程中的大量时间和资源消耗限制了从头进行完整预训练的可能性。

4 Knowledge-CLIP

如上所述,CLIP的迁移性和模型性能提升受到一些问题的制约。本文提出了一种基于知识图谱的新型预训练框架,以多个方面改进原始CLIP模型的局限性:(1) 我们在训练数据集中引入知识图谱,通过图结构数据和概念之间的语义关系,使模型能够提取语义特征并在输入间建立语义连接;(2) 在现有的图像和文本编码器之上添加多模态编码器,以融合不同模态的特征并建模输入间的联合分布;(3) 采用基于CLIP预训练模型的连续学习策略,避免预训练过程中的大量计算成本,同时有效提升模型的泛化能力。

我们将在以下各节中详细介绍该框架,总览如图2所示。

4.1 数据准备

不同于原始CLIP使用的简单图文对,我们的模型以知识图谱为输入。知识图谱可以定义为一个有向图 G = { ξ , R , T R } G = \{\xi, R, T_R\} G={ξ,R,TR},其中 ξ \xi ξ R R R 分别表示实体集和关系集, T R T_R TR 表示关系三元组集。一个三元组 ( h , r , t ) ∈ T R (h, r, t) \in T_R (h,r,t)TR 表示实体 h ∈ ξ h \in \xi hξ 与实体 t ∈ ξ t \in \xi tξ 之间存在关系 r ∈ R r \in R rR。如图3所示,我们在三类知识图谱上对模型进行预训练,包括多模态知识图谱、场景图和基于语言的知识图谱。在这些图谱中,关系通过语言标记来描述,而实体在不同模态中以不同形式存在。
在这里插入图片描述

图3说明: 预训练知识图谱数据集的示意图,包括VisualSem [2](多模态图谱)、Visual Genome [24](场景图)和ConceptNet [46](基于语言的图谱)。

对于多模态知识图谱,实体包含说明性图像和语言描述。通过在不同模态下表示相同实体并将其通过关系连接,有助于在视觉和语言概念之间建立语义连接。在实际操作中,每个实体的语言和视觉描述是随机选择的。这样,三元组集 T R T_R TR 包含不同形式,包括 ( Img , Rel , Img ) (\text{Img}, \text{Rel}, \text{Img}) (Img,Rel,Img) ( Img , Rel , Text ) (\text{Img}, \text{Rel}, \text{Text}) (Img,Rel,Text) ( Text , Rel , Text ) (\text{Text}, \text{Rel}, \text{Text}) (Text,Rel,Text),在跨模态之间提供丰富的信息,同时增强了模态内的感知能力。

不同于多模态知识图谱,场景图为每张图像提取视觉概念(主要是对象),并通过预定义的语义关系(如相对位置、动作等)将它们连接。因此,场景图中的实体对应于图像中的特定区域,三元组形式为 ( Img , Rel , Img ) (\text{Img}, \text{Rel}, \text{Img}) (Img,Rel,Img)。我们实际使用选定的图像区域作为输入,并丢弃不相关的部分。由于同一三元组中的两个实体表示同一图像中的不同区域,这迫使模型提取更细粒度的特征。

最后,基于语言的知识图谱通过标记的边连接自然语言中的单词和短语。它仅基于语言模态,三元组形式为 ( Text , Rel , Text ) (\text{Text}, \text{Rel}, \text{Text}) (Text,Rel,Text),帮助在词标记内建立语义对齐。

4.2 模型架构

模型架构和训练框架如图2(A)所示。具体而言,我们首先通过模态特定的分词器将输入处理为序列。语言输入采用BPE分词器 [40],而图像输入则根据ViT [12] 切分为不重叠的图像块并转换为块序列。为了便于处理,我们将图像序列和文本序列的长度分别设为 l I l_I lI l T l_T lT。为保留输入中的相对位置信息,向对应序列加入可学习的位置编码,再送入模型。

接着,采用两个独立的图像编码器 f I ( ⋅ ) f_I(\cdot) fI() 和文本编码器 f T ( ⋅ ) f_T(\cdot) fT() 来从原始输入中提取特征。对于给定三元组 ( h , r , t ) (h, r, t) (h,r,t),实体 h h h t t t 根据其模态(图像或文本)送入对应的编码器。关系 r r r 表示为语言标记,类似于文本实体被送入文本编码器。

相比CLIP的模型结构,我们对框架进行了适应性改进。具体而言,传统CLIP模型在两个编码器的最后一层使用池化函数,将特征图压缩为全局表示。即对于输入 u ∈ R L × d i u \in \mathbb{R}^{L \times d_i} uRL×di(其中 L L L 表示序列长度, d i d_i di 为特征维度),编码器输出可以表示为:

x u = f ( u ) ∈ R L × d o , x ˉ u = Pool ( x u ) ∈ R d o x_u = f(u) \in \mathbb{R}^{L \times d_o}, \quad \bar{x}_u = \text{Pool}(x_u) \in \mathbb{R}^{d_o} xu=f(u)RL×do,xˉu=Pool(xu)Rdo

其中 f f f 表示特征提取模块, Pool ( ⋅ ) \text{Pool}(\cdot) Pool() 表示池化函数, d o d_o do 为输出维度。尽管这种方法有效,但会导致局部区域的信息丢失,尤其是对于图像输入。因此,我们去除了图像和文本实体的池化函数,以保留局部信息,使用 x u ∈ R L × d o x_u \in \mathbb{R}^{L \times d_o} xuRL×do 作为提取的特征。而关系通常具有较短的序列长度(如一到两个词标记),信息密度低于实体。因此,对于关系输入,我们保留池化函数,使用 x ˉ u ∈ R d o \bar{x}_u \in \mathbb{R}^{d_o} xˉuRdo 作为提取的特征。

这样,我们就提取了定义为 ( x h , x ˉ r , x t ) (x_h, \bar{x}_r, x_t) (xh,xˉr,xt) 的特征,分别对应输入三元组 ( h , r , t ) (h, r, t) (h,r,t) 中的各元素。为了建模三元组中不同元素的联合分布,我们引入多模态编码器 TransEncoder ( ⋅ ) \text{TransEncoder}(\cdot) TransEncoder() 来融合不同来源的特征。具体而言,我们将三元组中的所有特征串联为一个序列,并在序列开头添加头标记 <head>。为强调序列中标记的状态,我们为三元组中的每个元素 h , r , t h, r, t h,r,t 引入额外的可学习编码:

X ( h , r , t ) = [ < head > , x h + PE h , x ˉ r + PE r , x t + PE t ] . X(h, r, t) = [<\text{head}>, x_h + \text{PE}_h, \bar{x}_r + \text{PE}_r, x_t + \text{PE}_t]. X(h,r,t)=[<head>,xh+PEh,xˉr+PEr,xt+PEt].

经过多模态编码器的处理后,头标记 <head> 的特征最终作为整个序列的表示:

Y ( h , r , t ) = TransEncoder ( X ( h , r , t ) ) [ 0 , : ] . Y(h, r, t) = \text{TransEncoder}(X(h, r, t))[0, :]. Y(h,r,t)=TransEncoder(X(h,r,t))[0,:].

同时,从相应标记中提取关系的表示:

R ( h , r , t ) = TransEncoder ( X ( h , r , t ) ) [ 1 + len ( x h ) , : ] . R(h, r, t) = \text{TransEncoder}(X(h, r, t))[1 + \text{len}(x_h), :]. R(h,r,t)=TransEncoder(X(h,r,t))[1+len(xh),:].

4.3 训练目标

鉴于知识图谱的独特数据结构,我们的框架主要采用两类训练目标:基于三元组的损失和基于图的损失(如图2(B)所示)。此外,考虑到框架中采用的连续学习策略,我们还使用知识蒸馏损失。

三元组损失
三元组损失以一批三元组为输入,通过估计三元组元素的联合分布来监督模型训练。受掩码预测技术启发,我们在三元组中掩码特定元素,并借助多模态编码器预测其分布。具体而言,对于输入中缺失某些元素的不完整三元组,可以通过掩码相应特征得到拼接序列,如等式(3)所示。例如,输入 ( h , r , − ) (h, r, -) (h,r,) 的拼接序列表示为:

X ( h , r , − ) = [ < head > , x h + PE h , x ˉ r + PE r , 0 ] . X(h, r, -) = [<\text{head}>, x_h + \text{PE}_h, \bar{x}_r + \text{PE}_r, 0]. X(h,r,)=[<head>,xh+PEh,xˉr+PEr,0].

在此基础上,对于输入集 D = { ( h i , r i , t i ) } i = 1 N D = \{(h_i, r_i, t_i)\}_{i=1}^N D={(hi,ri,ti)}i=1N,我们首先建模实体 t i t_i ti 被掩码时的分布,并通过最小化负对数似然来导出实体-实体损失 (E2E Loss)

− E ( h , r ) ∼ D log ⁡ ( P ( x t ∣ x h , x ˉ r ) ) . -\mathbb{E}_{(h, r) \sim D} \log(P(x_t | x_h, \bar{x}_r)). E(h,r)Dlog(P(xtxh,xˉr)).

我们将 P ( x t ∣ x h , x ˉ r ) P(x_t | x_h, \bar{x}_r) P(xtxh,xˉr) 的分布近似为 P ( x t ) P(x_t) P(xt) P ( x h , x ˉ r ) P(x_h, \bar{x}_r) P(xh,xˉr) 的余弦相似度,定义损失函数为:

L E 2 E = − ∑ i = 1 N log ⁡ ( exp ⁡ ( cos ⁡ ( Y ( − , − , t i ) , Y ( h i , r i , − ) ) / τ ) ∑ j exp ⁡ ( cos ⁡ ( Y ( − , − , t i ) , Y ( h j , r j , − ) ) / τ ) ) . L_{E2E} = - \sum_{i=1}^N \log \left( \frac{\exp(\cos(Y(-, -, t_i), Y(h_i, r_i, -)) / \tau)}{\sum_j \exp(\cos(Y(-, -, t_i), Y(h_j, r_j, -)) / \tau)} \right). LE2E=i=1Nlog(jexp(cos(Y(,,ti),Y(hj,rj,))/τ)exp(cos(Y(,,ti),Y(hi,ri,))/τ)).

我们还建模关系被掩码时的分布,类似地得到实体-关系损失 (E2R Loss)

− E ( h , t ) ∼ D log ⁡ ( P ( x ˉ r ∣ x h , x t ) ) . -\mathbb{E}_{(h, t) \sim D} \log(P(\bar{x}_r | x_h, x_t)). E(h,t)Dlog(P(xˉrxh,xt)).

与E2E损失不同,三元组中的关系定义在一个有限的关系组集中。因此,我们通过一个辅助的两层MLP网络提取关系表示,并将目标建模为从预定义关系标签集 R R R 的分类问题。损失函数定义为:

L E 2 R = − ∑ i = 1 N ∑ r ∈ R 1 ( r = r i ) log ⁡ ( y ( x ˉ r i ) ) , L_{E2R} = - \sum_{i=1}^N \sum_{r \in R} 1(r = r_i) \log(y(\bar{x}_{r_i})), LE2R=i=1NrR1(r=ri)log(y(xˉri)),

其中 y ( x ˉ r i ) = MLP ( R ( h i , − , t i ) ) y(\bar{x}_{r_i}) = \text{MLP}(R(h_i, -, t_i)) y(xˉri)=MLP(R(hi,,ti)),是从多模态编码器输出得到的MLP模型的结果。

基于图的损失
我们利用知识图谱数据集中的图结构,采用图神经网络(GNN)提取实体间更深层的结构信息。通过图中的连接边传播信息,并用聚合特征更新实体表示。具体而言,对于具有 L L L 层的GNN,第 l l l 层的更新函数可表示为:

G ( l ) ( t ) = E { ( h i , r i , t ) ∈ T R } g ( l − 1 ) ( R ( h i , − , t ) ) G ( l − 1 ) ( h i ) , G ( 0 ) ( t ) = Y ( − , − , t ) , G^{(l)}(t) = \mathbb{E}_{\{(h_i, r_i, t) \in T_R\}} g^{(l-1)}(R(h_i, -, t)) G^{(l-1)}(h_i), \quad G^{(0)}(t) = Y(-, -, t), G(l)(t)=E{(hi,ri,t)TR}g(l1)(R(hi,,t))G(l1)(hi),G(0)(t)=Y(,,t),

其中

g ( l ) ( R ( h i , − , t ) ) = W ( l ) R ( h i , − , t ) , g^{(l)}(R(h_i, -, t)) = W^{(l)} R(h_i, -, t), g(l)(R(hi,,t))=W(l)R(hi,,t),

通过关系表示 R ( h i , − , t ) R(h_i, -, t) R(hi,,t) 和一个可学习矩阵 W ( l ) W^{(l)} W(l) 计算聚合权重。最后,通过计算图传播前后实体特征的余弦相似度,定义图-实体损失 (G2E Loss)

L G 2 E = − 1 N ξ ∑ t i ∈ ξ log ⁡ ( exp ⁡ ( cos ⁡ ( Y ( − , − , t i ) , G ( L ) ( t i ) ) / τ ) ∑ t j exp ⁡ ( cos ⁡ ( Y ( − , − , t i ) , G ( L ) ( t j ) ) / τ ) ) . L_{G2E} = - \frac{1}{N_\xi} \sum_{t_i \in \xi} \log \left( \frac{\exp(\cos(Y(-, -, t_i), G^{(L)}(t_i)) / \tau)}{\sum_{t_j} \exp(\cos(Y(-, -, t_i), G^{(L)}(t_j)) / \tau)} \right). LG2E=Nξ1tiξlog(tjexp(cos(Y(,,ti),G(L)(tj))/τ)exp(cos(Y(,,ti),G(L)(ti))/τ)).

连续学习
大规模预训练通常需要大量计算资源,因此为了高效注入语义信息,我们基于CLIP的预训练权重对模型进行训练。该初始化加速了模型的收敛,并显著提高了训练效率。然而,直接扩展训练过程会导致遗忘问题,影响原模型性能。为解决这一问题,我们采用以下方案:(1) 除知识图谱数据集外,我们还在多个广泛使用的图文数据集上训练模型,这些数据集的数据分布与CLIP训练数据相似。为了适应预训练框架,我们将原始图文对转换为三元组,设计了特定关系“image of”和“caption of”。(2) 我们使用原始CLIP模型作为教师模型,并采用辅助损失 L K D L_{KD} LKD 测量CLIP和我们模型输出之间的KL距离。

最终,Knowledge-CLIP的预训练目标可表示为:

L = L E 2 E + L E 2 R + L G 2 E + L K D . L = L_{E2E} + L_{E2R} + L_{G2E} + L_{KD}. L=LE2E+LE2R+LG2E+LKD.

5 实验

5.1 实现细节

实验设置。
在所有实验中,我们使用与CLIP [38] 相同的模型结构。文本编码器采用512宽度的12层Transformer模型,图像编码器采用ViT-L/14。文本和图像编码器的初始化权重来自原始CLIP。对于多模态编码器,我们采用了一个4层的Transformer模型,宽度为1024。训练期间,路径丢弃率设置为0.1。由于新增的多模态编码器从随机初始化开始训练,我们降低了CLIP预训练权重的学习率,以实现更平衡的优化步长。Knowledge-CLIP的训练初始学习率为1e-5(图像和文本编码器)和1e-3(多模态编码器),采用带线性预热的余弦学习率调度,并使用权重衰减和梯度裁剪。更多细节请参见附加材料。

预训练数据集。
预训练过程中使用了三个知识图谱数据集。VisualSem [2] 是一个高质量的多模态知识图谱数据集,涵盖视觉和语言概念,包括带有多语言释义、多幅说明性图像和视觉相关关系的实体,包含共计90k节点、130万释义和93.8万图像。该图谱使用13种语义关系连接不同实体,而VisualSem中的实体链接到Wikipedia文章、WordNet [34] 和ImageNet [10]中的高质量图像。

Visual Genome [24] 是一个基于知识的场景图数据集,将结构化的图像概念与语义关系连接,用于各种视觉任务的基准数据集,例如视觉定位和场景图生成。

ConceptNet [46] 是一个知识图谱,通过标记的边将自然语言中的单词和短语相连接。其知识来源于专家创建的资源和众包,仅基于语言模态构建。

除了这三个知识图谱数据集,我们还在两个广泛使用的图文数据集上训练模型,这些数据集与CLIP的训练数据分布相似。我们实际添加了COCO Caption [8] 和CC3M [42] 至训练集,但未加入大规模数据集如CC12M [4] 或YFCC [21],以保持训练效率。

下游任务。
为验证框架的有效性,我们在多种下游任务上进行了实验,包括多模态任务(如文本与图像检索、视觉问答)和单模态任务(如图像分类和自然语言理解)。

2、多模态任务

视觉问答 / 视觉蕴涵
我们还验证了Knowledge-CLIP在其他视觉-语言任务上的有效性,包括VQA [15] 和 SNLI-VE [64]。比较结果见表2。与VILLA [14] 和 ALBEF [26] 等竞争基准相比,基于ViT-L/14的Knowledge-CLIP在所有设置下表现更佳,而较小的模型也取得了有竞争力的结果。与原始CLIP模型相比,我们的预训练模型在下游任务上的迁移能力显著提高,尤其是在VQA等需要推理能力的数据集上。
在这里插入图片描述

图文检索
我们首先在Flickr30k [37] 和COCO Caption [8] 数据集上进行了实验,以展示模型在图文检索任务上的表现。给定图像和文本输入集 X X X Y Y Y,我们使用Knowledge-CLIP提取每个输入的特征,并通过图文对的余弦相似度建模联合概率。表1中总结了Knowledge-CLIP与竞争基准的比较结果。结果显示,模型在两个数据集上均优于原始CLIP,并与OSCAR等竞争基准相当。
在这里插入图片描述

表1:Flockr 30 K和COCO数据集上的微调图像-文本检索结果。最好的结果以蓝色显示,CLIP和我们的方法之间更好的结果以粗体显示。

5.3 单模态任务

图像分类
为了进一步展示Knowledge-CLIP的泛化能力,我们在ImageNet分类任务 [10] 上比较了预训练模型的性能。比较结果见表3,显示出Knowledge-CLIP在处理视觉任务上也表现出色。我们认为,相较于基准的改进可能归因于预训练数据集中包含的场景图,这些场景图强调了图像中的视觉概念。
在这里插入图片描述

语言理解
我们在广泛使用的GLUE数据集 [55] 上验证了Knowledge-CLIP在语言理解任务上的泛化性能。具体而言,我们在GLUE的7项任务上进行了实验,比较结果总结在表4中。结果表明,Knowledge-CLIP在各任务中达到了与竞争基准相当的表现。此外,对于QQP和MNLI等需要句对匹配的任务,由于预训练数据集中包含语言三元组,Knowledge-CLIP表现出更高的性能。
在这里插入图片描述

表4:GLUE数据集上的微调语言理解结果。最好的结果以蓝色显示,CLIP和我们的方法之间更好的结果以粗体显示。

5.4 消融实验

为了验证我们工作中各组件的有效性,我们精心设计了多种设置,包括:(1) CLIP+连续学习:在我们的知识数据集上训练原始CLIP模型(预训练权重作为初始化);(2) Knowledge-CLIP-(t1, t2, t3):分别移除我们的训练目标,以分析每个损失的贡献。对于所有实验,消融研究中我们采用较小的模型(ViT-B/32)作为CLIP的图像编码器。此外,需要注意的是KD损失在连续学习方案中起着关键作用,若无此损失将导致显著的性能下降,主要由于模型遗忘问题。因此,为了公平比较,所有消融设置中均使用KD损失。
在这里插入图片描述

表5说明: 关于连续学习和训练目标的消融实验。我们在Flickr30K检索任务和VQA任务上报告了实验结果,使用ViT-B/32作为图像编码器。

表5展示了在两个代表性任务上的比较结果,包括Flickr30K的图文检索任务和VQA中的视觉问答任务。消融实验的主要发现如下:

  1. 所有三种训练目标 (E2E, E2R, G2E) 均对提升模型性能有贡献。 移除任一目标进行训练会导致下游任务性能下降。我们认为,E2E、E2R和G2E损失分别从不同的角度促进模型性能:专注于概念的语义理解、实体间复杂关系以及结构信息。因此,这三个目标对于框架来说都是必要的,并分别贡献了性能的提升。

  2. 对比第一行和第二行,我们可以看到仅通过额外的时间和数据训练CLIP模型未能提高泛化性能。 这也表明性能改进主要来源于注入的知识信息,而非连续学习方案。

此外,我们对用于连续学习的KD损失进行了消融研究,结果汇总于表6。移除KD损失后,模型性能下降,表明其在连续学习方案中的重要作用。我们认为这一现象的原因在于模型遭遇了遗忘问题,这是终身学习和连续学习领域中的普遍问题。
在这里插入图片描述

5.5 特定语义分析

我们还在精心挑选的数据上进行了实验,以更好地反映视觉-语言模型如何理解特定类型的输入。具体而言,我们从VQA数据集中选择了包含以下内容的问题:(1) 否定;(2) 颜色属性;(3) 位置属性;(4) 尺寸。表7中总结了CLIP和我们的模型在这些子数据集上的比较结果。可以观察到,我们的模型在这些特别设计的数据集上相较CLIP有一致的提升,且表现显著更佳。
在这里插入图片描述

在包含否定的问题上,我们的模型准确率提升了2.1%。在颜色和位置属性上,模型的改进幅度更大。这些在不同“语义领域”上的比较表明,向当前视觉-语言预训练框架注入知识信息的有效性,实际增强了模型对语义理解的感知能力。

6 结论

本文提出了一种新颖的视觉-语言预训练框架,通过引入知识信息来建模视觉和语言实体之间的语义连接。我们将三类图结构数据集引入训练过程,并采用多模态编码器来建模实体及其语义关系的联合分布。针对多种下游任务的广泛实验,包括多模态、单模态和基于图的任务,验证了模型的迁移和泛化能力。我们的方法当前仅限于将知识信息注入到CLIP模型中,但我们的训练目标和新的知识图谱数据集在技术上也兼容于其他大规模预训练框架。未来,我们将探索进一步应用的可能性。

7鸣谢

本研究得到了国家重点研发计划项目2020 AAA 0105200、国家自然科学基金项目赠款62022048、清华大学国强研究院和北京人工智能研究院的部分支持。我们也感谢High-Flyer AI慷慨捐赠计算资源。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com