《Knowledge Graph Enhanced Multimodal Transformer for Image-Text Retrieval》中文校对版

文章汉化系列目录



《知识图谱增强的多模态Transformer用于图文检索》

摘要

 图文检索是一项基础的跨模态任务,旨在对齐图像和文本模态之间的表示空间。现有的跨模态图文检索方法为图像和文本独立生成嵌入,引入基于交互的网络进行跨模态推理,然后通过使用匹配度量实现检索。然而,它们忽略了每种模态内部粗粒度和细粒度表示之间的语义关系,未能捕捉到不同模态表示的一致性,这影响了跨模态表示的语义学习,并使得在语义空间中对齐模态变得困难。因此,这些先前的工作不可避免地面临低检索精度或高计算成本的问题。本文中,我们没有直接融合两个跨模态的异构空间,而是提出了一种多模态知识增强的多模态Transformer网络框架,将粗粒度和细粒度表示学习结合到一个统一的框架中,捕捉目标之间的对齐信息,构建全局语义图,最终在语义空间中对齐多模态表示。在我们的方法中,图像生成语义和空间图来表示视觉信息,而句子则根据单词之间的语义关系生成文本图,并用于模态内图网络推理。随后,生成的全局和局部嵌入被融合到增强的多模态Transformer框架中,通过利用多模态知识图中的先验隐含语义信息,来有效实现跨模态交互过程。此外,与简单地将单词与图像区域匹配相比,我们的方法提出了一种双向细粒度匹配方法,用于筛选图像和文本中的显著区域和词汇,去除干扰噪声信息,实现双向细粒度配对,从而捕捉细粒度的双向表示信息,使模型能够生成更具区分性的表示。最后,结合基于全局和局部跨模态相似性的粗到细推理方法,我们通过使用两个广泛使用的数据集评估我们的方法,证明了该方法能够显著优于现有的最先进算法。
在这里插入图片描述

图1. 模态内和模态间检索对应关系示意图。现有模型通常聚合每个模态表示中的模态内关系。与之不同的是,所提出的模型整合了模态内关系和模态间关系,以探索跨不同模态的粗粒度和细粒度关系。

I.引言

 图文检索与各种计算机视觉任务和机器学习方法密切相关,例如图像字幕生成【1】、文本生成图像【2】、多模态机器翻译【3】以及场景图生成【4】。最近,许多研究致力于计算机视觉和自然语言处理的交叉领域,导致对高效图文检索技术的需求不断增长。然而,视觉场景和文本描述在分布和表示上存在不一致性和异质性,这使得测量图像和文本之间的语义相似性变得极具挑战性。图文检索包括两个密切相关的任务:文本到图像的检索和图像到文本的检索。前者旨在根据文本查询从候选集选择最相关的图像,而后者旨在从候选句子集中为一幅图像找到最具描述性的句子。大量的研究工作专注于这一领域并取得了显著进展。我们大致将以往的工作分为三类:粗粒度检索、细粒度检索以及视觉-语言预训练。
粗粒度检索方法 仅基于图像和文本的全局表示计算其全局相似性。早期的研究工作【5】、【6】、【7】、【8】通过直接将完整的图像和文本映射到共享的嵌入空间,实现了两种模态样本之间的相似性。DPC【6】、VSE++【7】及其他研究工作使用双分支深度网络将图像和文本分别映射到嵌入空间。然而,这些方法只能捕捉模态之间的粗粒度对应关系,缺乏视觉和语言之间的细粒度交互。尽管这些方法通常具有快速的推理速度和良好的扩展性,但它们未能缩小复杂图像和文本之间的语义差距。
 近年来,细粒度检索【9】-【13】变得越来越流行,通常引入注意力机制来对齐两个模态中的元素。代表性的方法如SCAN【11】、IMRAM【14】,使用跨模态注意力动态地将每个元素与另一模态中的所有其他元素对齐。由于这些方法在样本间建立了跨模态的部分对应关系,通常在检索性能方面优于粗粒度检索方法。然而,跨模态注意力需要在图像和文本之间进行大量的跨模态计算。这些方法的低计算效率给检索过程增加了负担,导致推理时间增加,灵活性降低。
 以往的方法,如粗粒度和细粒度检索方法,很难在准确性和效率之间取得平衡,粗粒度方法强调效率,而细粒度检索则专注于准确性。此外,先前的方法直接融合了两个异构不同模态的语义空间,忽略了模态之间有效的语义信息交互,导致无法进一步提高检索准确性。为了解决上述跨模态检索效率和准确性的问题,我们提出了一种名为知识图谱增强多模态Transformer(KGEMT)的高效图文检索方法。
 所提出的KGEMT的主要思想如下。对于每个图像或文本样本,设计了一个基于图卷积网络(GCN)【15】的编码器,用于同时学习每个模态中的全局粗粒度特征和局部细粒度特征。为了学习文本和视觉输入共享的公共语义空间,引入了基于多模态知识图谱(MKG)的Transformer框架,以利用MKG中的隐式先验知识,帮助融合来自两种模态的特征。紧凑的全局特征从整体角度描述图像和句子,而局部特征自动对齐以建立图像区域和文本词语之间的联系。此外,使用多模态对比学习来确保图文对的一致性,保证图像和文本在共享嵌入空间中的模态内和模态间的语义一致性。最后,基于学习到的粗粒度和细粒度表示,采用了不同的推理策略,并提出了一种快速且有效的粗到细推理方法用于图文检索。
 我们的主要贡献概括如下:

  • 我们提出了一种名为知识图谱增强多模态Transformer (KGEMT) 的高效图文检索技术。通过同时学习每个模态中的全局粗粒度特征和局部细粒度特征,我们的方法在两个模态之间培养了共享的语义空间,从而促进了用于图文检索的粗到细推理过程。

  • 我们提出了一种创新的粗到细检索策略,结合了粗粒度检索方法和细粒度检索方法。该策略不仅保证了检索效率,还提高了跨模态检索模型的精度和适用性。

  • 我们构建了一个知识增强多模态Transformer,其中融合了多模态知识图谱(MKG)。该方法利用MKG中的潜在先验语义信息,将图像和文本映射到共同的“兴趣嵌入”语义超空间。通过有效融合图文对的相应语义信息,并减少在统一的多模态语义表示中忽略最佳位置的可能性,该方法提高了跨模态检索性能。

  • 我们引入了一种独特的跨模态显著细粒度对齐方法。与传统的单向单词到区域匹配方法相反,我们的方法突出显示了图像和文本中的显著区域和词汇,启用了双向语义匹配。这一突破显著提高了细粒度检索的精度。

  • 我们使用多个基准数据集评估了我们提出的方法。结果表明,我们的方法在检索精度和模型效率方面优于现有的最先进方法。这项工作标志着使用多模态知识图谱技术进行跨模态数据检索的重大进展,为跨媒体数据检索研究开辟了新的道路。

II.相关工作

A. 图文检索

 测量图文语义相似性对于图文检索至关重要。现有的图文检索方法可分为两类:跨交互匹配方法和独立表示匹配方法。VSE++【7】通过在线难例挖掘来提高视觉-语义嵌入的质量。VSRN【13】解决了当前图像表示中缺乏全局语义概念的问题,这些概念存在于图像对应的文本描述中,并通过捕捉场景中的关键对象和语义概念生成增强的视觉表示。PVSE【16】通过结合全局上下文与局部引导的特征,计算实体的多个多样化表示。

B. 粗粒度检索方法

 随着深度学习的发展,端到端的图文检索变得更加流行。Wang等人【5】使用了两个独立的多层感知器处理图像和文本,并采用了结构特征进行目标优化。Zheng等人【6】研究了两个独立的CNN网络架构,分别处理图像和文本,并使用实例损失进行目标优化。Faghri等人【7】提出了一种基于难例挖掘和三元组采样的训练损失。这些方法通过两个独立的网络分支处理全局图像和文本信息,具有推理速度快和易于预计算的优势。然而,它们无法建模对象实例与语言标签之间的细粒度交互,检索精度无法进一步提高。因此,性能在某种程度上受到了限制。

C. 细粒度检索方法

 目前,越来越多的研究工作【9】【10】【11】【12】【13】致力于文本单词与图像区域之间的细粒度对齐。Karpathy等人【9】为每个图像区域和文本单词提取特征,并将它们对齐到一个共同的嵌入空间。Niu等人【10】强调了文本的表示,利用语义树和循环神经网络(RNN)提取文本短语特征。Lee等人【11】引入了图像区域与文本单词之间的多层跨注意力机制,以学习更好的对齐特征。Wang等人【12】基于跨注意力机制,通过门控自适应控制信息传递增强对齐效果。Li等人【13】为图像区域引入了图结构,并应用基于图卷积网络(GCN)的架构来提取特征。Chen等人【14】引入了一种迭代匹配方案,逐步探索这种细粒度的对应关系。Messina等人【17】设计了两个Transformer编码器,分别为图像区域和文本单词提取特征。这些方法主要关注图像和文本的细粒度组件之间的对齐,通常使用跨注意力机制,这需要不同模态之间大量的跨模态计算。虽然这些方法的检索性能良好,但细粒度推理需要更多时间,因此难以在实际应用中实施。

D. 增强的多模态嵌入方法

 现有的多模态知识增强深度学习方法旨在将多模态知识整合到用于各种多模态任务的网络中。Yang等人【18】提出在预训练中进行三元组对比学习,利用来自图像和文本输入的局部和结构信息来促进表示学习。Feng等人【19】提出了一种用于图文检索的方法,该方法利用基于嵌入的多模态知识图谱。然而,当图像中包含文本中未直接描述的对象时,这些方法忽略了多模态隐含关系,从而影响了图像和文本之间建立联系的能力。

III. 方法

 在本节中,我们详细解释了所提出的知识图增强多模态Transformer(KGEMT)架构,如图2所示。我们首先描述图像-文本特征表示模块,该模块分别提取图像特征和文本特征。在模态内图推理模块中,利用基于图的推理方法整合每种模态内的特征。然后,我们引入了模态间Transformer推理和嵌入模块,该模块利用嵌入于 多模态知识图(MKG) 中的先验知识来融合跨模态表示,这些表示来自“兴趣嵌入”超空间。此外,我们描述了图像-文本检索的粗粒度和细粒度检索,并引入了“显著区域”策略,用于细粒度的区域到词语的匹配。最后,我们介绍了模型的训练损失,并引入了一种高效的从粗到细的推理方法。
在这里插入图片描述

图2. 所提框架概述。图像-文本表示模块用于从图像区域和文本词语中提取特征。模态内推理模块整合每个模态内的表示,而基于MKG的多模态Transformer模块对齐图像标记和文本标记。在训练过程中,多模态对比损失和细粒度匹配损失共同优化这些模块以及图像和文本模态的网络结构。

A. 问题表述

 给定一个包含视觉数据实例 V V V 和文本数据实例 T T T 的数据集,跨模态检索的目标是通过构建一个多模态 Transformer 网络,联合学习多模态语义映射 f : ( I i , S i ) = f ( V i , T i , θ T R M ) f: (I_i, S_i) = f(V_i, T_i, \theta_{TRM}) f:(Ii,Si)=f(Vi,Ti,θTRM),以保持跨媒体数据实例之间的潜在语义相似性,其中 V i V_i Vi T i T_i Ti 分别表示输入的图像和文本数据, I i I_i Ii S i S_i Si 分别表示输入图像和文本的实值特征, θ T R M \theta_{TRM} θTRM 是网络参数。由多模态语义映射 f f f 生成的实值特征应该保持跨媒体数据实例之间的潜在语义相似性,使得相似的实例具有相似的特征,而不相似的实例具有不同的特征。

B. 图像和文本表示

1) 图像表示:

遵循之前的工作【11】,给定一张图像 I I I,我们使用通过Visual Genome【22】预训练的带有自底向上注意力机制【1】的Faster R-CNN【21】来检测 n i n_i ni 个显著区域,并获得它们的区域特征 R = { r i ∣ i = 1 , . . . , n i , r i ∈ R D } R = \{r_i | i = 1, ..., n_i, r_i \in \mathbb{R}^D\} R={ rii=1,...,ni,riRD}。然后,这些特征通过一个全连接层编码为 D D D 维空间中的表示:

v i = W f × r i + b f , (1) v_i = W_f \times r_i + b_f, \tag{1} vi=Wf×ri+bf,(1)

其中, W f W_f Wf 是全连接层的参数矩阵, b f b_f bf 是偏置向量。通过此过程,图像 I I I 被表示为 I = { v 1 , . . . , v n i } I = \{v_1, ..., v_{n_i}\} I={ v1,...,vni}

文本表示:

在文本表示方面,自然语言处理的发展带来了许多优秀的表示模型。文本可以在句子或词汇层面上进行表示。我们采用广泛使用的预训练模型 BERT【23】来提取两个层次的文本语义信息。对于包含 n t n_t nt 个单词的给定句子 T T T,我们通过 BERT 将其嵌入为 D D D 维特征向量 E n t = { s 1 , . . . , s n t } E_{nt} = \{s_1, ..., s_{n_t}\} Ent={ s1,...,snt}

C. 模态内图推理和嵌入

1) 视觉图:

在描述图像时,我们通常会探索图像中出现的区域或实体之间可能的关系。当图像中存在人物和智能手机时,我们可以假设它们之间存在使用关系。同时,不同区域或实体之间的位置距离也可能影响我们对其关系的认知。为了表示图像中不同区域之间的空间连接和潜在语义连接,我们构建了两个图:一个是空间图 G s p = ( V s p , E s p ) G_{sp} = (V_{sp}, E_{sp}) Gsp=(Vsp,Esp),另一个是语义图 G s e = ( V s e , E s e ) G_{se} = (V_{se}, E_{se}) Gse=(Vse,Ese)。空间图 G s p = ( V s p , E s p ) G_{sp} = (V_{sp}, E_{sp}) Gsp=(Vsp,Esp) 用于表示图像中区域之间的位置关系。我们使用交并比(IoU, Intersection over Union) 来建立两个区域之间的位置关系。空间图 G s p G_{sp} Gsp 的节点集 V s p V_{sp} Vsp 建立在图像表示 V V V 的基础上。边 E s p E_{sp} Esp 的权重 W s p W_{sp} Wsp 取决于配对区域的 IoU。具体来说, I o U i , j IoU_{i,j} IoUi,j 用于表示第 ( i , j ) (i, j) (i,j) 区域对的 IoU,区域对的权重定义如下:
A s p i , j i = { cos ⁡ ( v i , v j ) × I o U i , j , 当  I o U i , j ≥ ξ 0 , 当  I o U i , j < ξ (2) A_{sp_{i,j}}^{i} = \begin{cases} \cos(v_i, v_j) \times IoU_{i, j}, & \text{当 } IoU_{i,j} \geq \xi \\ 0, & \text{当 } IoU_{i,j} < \xi \end{cases} \tag{2} Aspi,ji={ cos(vi,vj)×IoUi,j,0, IoUi,jξ IoUi,j<ξ(2)
其中, cos ⁡ ( ⋅ , ⋅ ) \cos(\cdot, \cdot) cos(,) 是余弦函数, ξ \xi ξ 是阈值。语义图 G s e = ( V s e , E s e ) G_{se} = (V_{se}, E_{se}) Gse=(Vse,Ese) 表示区域特征和区域之间的潜在语义连接。同样, V s e V_{se} Vse 是基于区域特征 V V V 构建的,而 E s e E_{se} Ese 是通过邻接矩阵 W s e W_{se} Wse 表示的图结构中的边集,表示区域之间的连接。按照参考文献【20】,我们使用一个区域关系推理模型来描述图像区域之间的关系:

A i , j s e = ψ ( v i ) T ⋅ ϕ ( v j ) , (3) A_{i,j}^{se} = \psi(v_i)^T \cdot \phi(v_j), \tag{3} Ai,jse=ψ(vi)Tϕ(vj),(3)

其中, ψ ( v i ) = W ψ ⋅ v i \psi(v_i) = W_{\psi} \cdot v_i ψ(vi)=Wψvi ϕ ( v j ) = W ϕ ⋅ v j \phi(v_j) = W_{\phi} \cdot v_j ϕ(vj)=Wϕvj 是两个特征嵌入, W ψ W_{\psi} Wψ W ϕ W_{\phi} Wϕ 是需要学习的参数。语义图 G s e = ( V s e , E s e ) G_{se} = (V_{se}, E_{se}) Gse=(Vse,Ese) 是一个完全连接的图,两个节点之间的边值较大意味着它们之间存在强语义关系。

2) 文本图

对于每个句子,文本图构建为 G t = ( V t , E t ) G_t = (V_t, E_t) Gt=(Vt,Et),其中 V t V_t Vt 基于文本特征 S S S 构建,边权重由矩阵 W t W_t Wt 给定。句子中存在某些可解释的语法依赖关系。通过Stanford CoreNLP【24】,生成一个语法依赖矩阵 W d W_d

### 基于点云的3D场景图生成中的Transformer应用 #### 背景介绍 在基于点云的3D场景图生成领域,Transformer作为一种强大的序列建模工具被广泛研究并应用于处理复杂的几何数据结构。通过引入自注意力机制(Self-Attention),Transformer能够捕捉全局依赖关系,在节点特征提取和边特征生成方面表现出显著优势。 #### Transformer的核心作用 Transformer的主要功能在于其能够有效地学习点云中不同部分之间的相互关系。具体而言,它通过对输入点云进行编码来捕获局部和全局上下文信息[^2]。这种能力使得Transformer非常适合用于构建高质量的3D场景图表示。 #### Graph Embedding Layer (GEL) 和 Semantic Injection Layer (SIL) 在提到的研究工作中,模型设计包含了两个重要组件——Graph Embedding Layer(GEL)以及Semantic Injection Layer(SIL)。 - **Graph Embedding Layer**: 此层负责将原始点云转换成具有语义意义的嵌入向量形式。这些嵌入不仅保留了几何特性还融合了来自其他传感器(如RGB图像)的信息。 - **Semantic Injection Layer**: 这一层进一步增强了由GEL产生的初始嵌入,注入额外的高层次语义理解到每一个节点及其连接边上,从而提升最终预测准确性。 #### Node and Edge Feature Generation 对于节点与边缘特征生成过程来说,利用Transformer架构可以实现更精细且全面的关系表达。例如,在给定一组三维坐标作为输入时,经过多头注意力计算后得到的新表征既考虑到了单个点的重要性也兼顾整体分布模式的影响。 以下是简化代码示例展示如何使用PyTorch框架搭建基本本的Point Cloud Transformer: ```python import torch.nn as nn import torch class PointCloudTransformer(nn.Module): def __init__(self, d_model=512, nhead=8, num_encoder_layers=6): super(PointCloudTransformer, self).__init__() encoder_layer = nn.TransformerEncoderLayer(d_model=d_model, nhead=nhead) self.transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers=num_encoder_layers) def forward(self, src): out = self.transformer_encoder(src.permute(1,0,2)) return out.permute(1,0,2) # Example usage model = PointCloudTransformer() input_tensor = torch.rand((32, 1024, 512)) # Batch size of 32 with 1024 points each having a dimensionality of 512 output = model(input_tensor) print(output.shape) # Should output the same shape as input tensor ``` 此段脚本定义了一个简单的变压器网络实例化对象`PointCloudTransformer`, 它接受批量大小为32的数据集,其中每个样本包含1024个维度均为512维的点位信息,并返回相同形状的结果张量。 #### 总结 综上所述,Transformers因其卓越的能力而成为解决复杂任务的有效手段之一,特别是在涉及大量离散单元间交互分析的情况下更是如此。它们帮助我们更好地理解和描述真实世界环境下的物体布局情况,推动了计算机视觉及相关学科的发展进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值