给定的 columnmapping 与源或目标中的任意列均不匹配_闻歌研究 | 图文自动匹配任务研究调研...

认知计算部

作为中科闻歌的基础研究部门,认知计算部依托于中科闻歌多年来积累的媒体大数据、高性能云计算平台以及高素质技术人才,致力于将认知计算技术应用到广泛的业务场景中并推动前沿技术发展,研究方向包括但不限于自然语言处理、计算机视觉、认知心理学、数据挖掘等。

1

简介

图文匹配任务主要研究的是如何衡量图片与 文本在语义层面上的相似性。在研究初期,常用的技术方法是分别对图片和文本使用两个不同的网络进行学习,然后通过全连接网络将图片和文本特征转化到同一个语义空间,使用余弦相似性或者欧氏距离来衡量两者的匹配程度。匹配网络学习的目标是将正确的图片和文本对之间的相似性打分显著高于错误的图片和文本对。对于图片特征抽取模块,可以使用CNN网络(比如VGG[1],ResNet[2],EfficientNet[3])提取图片特征;对于文本特征抽取模块,可以使用RNN网络(比如LSTM[4],GRU[5])或者BERT[6]等提取文本特征。下面将详细介绍图文匹配经典模型及近年来多模态BERT在图文匹配领域的一些研究进展。

2

图文匹配模型

目前基于对象共现来学习图像和文本的对应关系的图文匹配方法,大致可以分为两种:全局对应和局部对应。全局对应主要学习整个图像和句子之间的对应关系,局部对应主要学习图像局部区域和单词之间的对应关系。

2.1

全局对应

全局对应将整个图像和句子映射到一个通用语义空间来进行图文匹配[7-9]。Kiros等人[7]首次尝试使用深度卷积神经网络(CNN)对图像进行编码和递归神经网络网络(RNN)对句子进行编码,然后使用Hinge-based Triplet Ranking Loss作为距离度量指标度量图像与文本的匹配程度。Faghri等人[8] 在Triplet Loss函数中利用了hard negatives,并显著改善了匹配效果。Peng等人[10]和Gu等人[11]将生成过程结合到跨模态特征嵌入中,以学习全局抽象特征和局部层次特征。

2.2

局部对应

局部对应是在图像局部区域和单词的水平上考虑潜在的视觉语言对应关系。Lee 等人[12]提出SCAN模型,使用目标检测网络Faster R-CNN[13]检测和编码图像区域,提取其特征,使用Bi-GRU模型提取句子中每个单词的特征,最后通过堆叠交叉型的注意力机制(Stack Crossing Attention)得到图像和文本的匹配程度(如图1所示)。

16c4085d69c8e149cc2cf857f2bd1a84.png

图1 SCAN示意图

Stacked Cross Attention 的输入有两个:一个是图像特征 , 每一个图像特征编码了图像中的一个区域; 另外一个是单词特征 每一个单词特征编码了句子中的一个单词。输出是图像文本对之间的相似性得分。该模型涉及两个阶段的注意力计算。

给定图像及其个检测框,一个带有个单词的句子,第一阶段注意力。首先计算所有检测框和单词对之间的余弦相似性:

其中,代表第个检测框和第个单词之间的相似性,代表第个检测框的特征向量,  代表第个单词的特征向量。对相似矩阵进行归一化,得到 。然后,用对应图像区域计算每个单词的权重,对每个单词的词向量进行加权组合,最终得到加权后的文本表示。单词的权重计算公式为:

加权后的文本表示为:

其中,  表示第个检测框对应的加权的文本表示。

第二阶段的注意力计算是给定加权的文本表示, 确定每一个图像区域的重要性。第个检测框和对应的加权文本的相似性计算公式如下:

最后把 个检测框的相似性进行加权叠加,就得到图像和文本 之间的相似性,计算公式如下:

2eca62288ec99e1e61de28c9ad90c90d.png 在SCAN的基础上,Wang等人[14] 整合了位置嵌入以增强图像和文本的联合嵌入学习,Liu等人[15]则提出消除对应学习中部分不相关的单词和区域。为了学习图像和文本之间的关系和属性的细粒度对应关系,Liu等人[16]进一步提出图结构化匹配网络(GSMN),将对象、关系和属性建模为短语,并通过对这些局部短语进行匹配来共同推断细粒度的对应关系(如图2所示)。 4cf28f09763c92c9ed5243ce3f5474c3.png

图2 GSMN网络

GSMN网络由三个模块组成:(a)特征提取:使用Faster R-CNN 和Stanford CoreNLP分别检测显著区域和解析语义依赖性。(b)图的构造:图的节点是对象、关系或属性,如果任意两个节点在语义上是相关的,则存在边。(c1)节点级匹配:分别学习对象、关系和属性的对应关系。(c2)结构级匹配:将学习到的对应关系传播给邻居节点,以共同推断出细粒度的短语对应关系。

文本构建图: 根据句法分析工具 Stanford CoreNLP 确定文本中的依赖关系,将每个单词设置为图节点, 节点与节点之间是否存在连边取决于它们是否有语义依赖关系。使用 Bi-GRU 模型提取每个单词的特征。矩阵表示边的权重,矩阵表示节点的邻接矩阵。节点与节点之间的相似矩阵为:

其中,表示第个节点和第个节点之间的相似性, 和为节点的特征向量。通过相似矩阵与邻接矩阵的Hadamard积得到权重矩阵,然后进行归化:

图像构建图: 根据 Faster R-CNN 提取图像的显著区域, 并表示成特征向量。将每个图像表示为无向全连接图,图中节点为 Faster R-CNN 提取到的显著区域,每个节点与所有其他节点关联,利用极坐标对图像的空间关系进行建模。为了获得全连接图中边的权重,基于成对显著区域的边界框的中心点计算极坐标  ,并将边的权重矩阵  设置为成对极坐标。

为了判断文本图和视觉图的对应关系,首先进行节点级匹配,即将每个节点与另一个模态图中的节点相关联,学习节点对应关系。然后通过将关联节点传播到邻居节点来进行结构级匹配,学习短语对应关系,从而共同推断出对象、关系和属性的细粒度对应关系。

节点级匹配:首先计算视觉节点和文本节点之间的相似性,表示为 然后沿着视觉轴计算softmax函数,得到视觉节点与每个文本节点的对应关系。

其中, 为文本图的节点特征矩阵, 为视觉图的节点特征矩阵。类比于 BERT 的 multi-head 注意力机制,文章提出一个多块模块,以计算文本节点和加权后的视觉节点的逐块相似性。

将第个文本节点的特征及其对应的加权视觉节点特征划分为  个块,分别表示为  和 ,然后计算对应块的相似性 。第个文本节点的匹配向量可以通过连接所有块的相似性来获得:

“॥”表示拼接操作。同样的,计算文本节点与每个视觉节点的对应关系:

然后由多块模块对每个视觉节点及其关联的文本节点进行处理,生成匹配向量 。

结构级匹配:结构级匹配将节点级匹配向量作为输入,并将这些向量与图的边一起传播到相邻的节点。通过使用GCN对邻域匹配向量进行加和来更新每个节点的匹配向量。

GCN层将应用个内核学习每个节点的匹配向量。最后,根据匹配向量推断出图像到文本和文本到图像的匹配分数:

图像-文本对的整体匹配得分为两个方向上的匹配得分之和:

3

多模态BERT

BERT模型凭借着Transformer强大的特征学习能力以及通过掩码语言模型实现的双向编码,大幅地提高了各项NLP任务的基准表现。鉴于其强大的学习能力,2019年开始逐渐被用到多模态领域。其在多模态领域的相关研究主要分为两个流派:一个是单流模型,即文本信息和视觉信息在一开始便进行了融合;另一个是双流模型,即文本信息和视觉信息一开始先经过两个独立的编码模块,然后再通过互相的注意力机制来实现不同模态信息的融合。下面介绍一些这方面的工作。

3.1

单流模型

单流模型的代表工作有:VisualBERT[17],Unicoder-VL[18],VL-BERT[19]。

VisualBERT[17]和BERT类似,在结构上采用了堆叠的 Transformer。其在一开始就将文字和图片信息通过 Transformer 的自注意力机制进行对齐融合。文字部分的输入为原始的BERT文字输入(词向量+位置编码+片段编码)加上Token/Image编码来表示其是图片或文字,图片部分的输入则是采用通过Faster R-CNN提取的图片区域特征加上相应的位置编码,片段编码和 Token/Image 编码。VisualBERT遵循和BERT一样的流程,先进行预训练,然后在相应的任务上进行微调。它采用了两个预训练任务:第一个是和BERT一样的语言掩码,第二个是文本-图像预测(即判断输入的文本是否为相应图片的描述)。VisualBERT在VQA、VCR、NLVR2和Flickr30k四个视觉语言任务上都达到了最好的表现。

Unicoder-VL[18]模型(如图3所示)在结构上与VisualBERT非常相似,其与 VisualBERT最大的不同在于该模型在输入端对图像的处理。在图像的输入上,它首先通过Faster R-CNN提取区域图像特征,然后将该特征与区域图像在图像中的位置编码进行拼接,再经过一个连接层投影到与语言输入维度相同的空间。该模型在三个任务上进行了预训练,前两个与VisualBERT的预训练任务相同,第三个任务为图像标签预测,即预测区域图像所属物体类别。

fd30bb25cdef141cddbea70afce2c3ac.png

图3 Unicoder-VL模型

VL-BERT[19](如图4所示)在结构上依然采用堆叠的Transformer。图像端的输入由以下几个编码的加和构成:a. Faster R-CNN提取的区域图像特征和该区域在原图像中位置信息的拼接;b. 位置编码;c. 片段编码;d. [IMG] 编码。在文字端该模型的输入为正常BERT文字输入和整个图像特征的加和。该模型在三个任务上进行了预训练,分别为:语言掩码、图像标签分类和语言图像匹配任务。

a195d4fd3bdd7ad3a77f532a17dad1dd.png

图4 VL-BERT模型

3.2

双流模型

双流模型的代表工作有:ViLBERT[20], LXMERT[21]。

基于双流的ViLBERT[20],在一开始并未直接对语言信息和图片信息进行融合,而是先各自经过Transformer的编码器进行编码。分流设计是基于这样一个假设,即语言的理解本身比图像复杂,而且图像的输入本身就是经过Faster R-CNN提取的较高层次的特征,因此两者所需要的编码深度应该是不一样的。当两种模态各自进行编码后,其输出会经过一个共注意力机制模块(如图5所示)。该模块也是基于Transformer的结构,只是在自注意力机制中每个模块都用自己的Query去和另一模块的Value和Key计算注意力,由此来融合不同模块间的信息。该模型在两个任务上进行了预训练。第一个任务是掩码任务,其中语言端和 BERT的语言掩码任务一样,图像端任务的目标是当区域图像被掩盖后,模型对其输出的分类分布能够尽可能与用来提取区域特征的模型(这里是Faster R-CNN)的输出分布一致,因此文章使用KL散度作为目标函数;第二个任务是常规的语言图像匹配任务。

de77c3c9745fe36a5e69df00f1f0f7dd.png

图5 基于Transformer的共注意力模块

LXMERT[21]模型(如图6所示)与ViLBERT一样采用了双流模型,语言与图像在一开始先各自经过独立的编码层进行编码,然后再经过一个模态交互编码层进行语言与图像在语义上的对齐和融合。在交互编码层中,该模型同样也是使用共注意力机制,即自注意力中的Query来自一个模态,而Key和Value来自另一个模态。该编码层过后,图像与语言各自又经过一层自注意力层进一步提取高层特征。该模型的输出有三个部分,一个是语言端的输出,一个是图像端的输出,一个是多模态的输出。该模型在预训练时使用了四个任务:语言掩码任务、图像掩码任务(该任务有两部分,第一部分为预测被掩图像物体类别;第二部分为ROI 特征回归任务,该任务使用L2损失函数)、语言图像匹配任务和图像问答任务。

41fa80417cf6135b6f5f17877e51638a.png

图6 LXMERT模型

4

总结

本文主要介绍了图文匹配任务及其常用的一些方法,图文匹配任务的核心在于如何更好的融合图像和文本的特征。随着BERT预训练模型在多模态领域的广泛应用,未来多模态预训练模型将会是解决多模态任务的重要方向。

参考文献

[1] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.

[2] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.

[3] Tan M, Le Q V. Efficientnet: Rethinking model scaling for convolutional neural networks[J]. arXiv preprint arXiv:1905.11946, 2019.

[4] Hochreiter, S, and J. Schmidhuber. “Long short-term memory.” Neural Computation 9.8(1997):1735-1780.

[5] Cho K, Van Merriënboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv:1406.1078, 2014.

[6] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.

[7] Kiros, R., Salakhutdinov, R., Zemel, R.S.: Unifying visual-semantic embeddings with multimodal neural language models. arXiv preprint arXiv:1411.2539 (2014)

[8] Faghri, F., Fleet, D.J., Kiros, J.R., Fidler, S.: VSE++: Improved visual-semantic embeddings. arXiv preprint arXiv:1707.05612 (2017)

[9] Wang, L., Li, Y., Lazebnik, S.: Learning deep structure-preserving image-text embeddings. In: CVPR (2016)

[10] Peng, Y., Qi, J., Yuan, Y.: CM-GANs: Cross-modal generative adversarial networks for common representation learning. arXiv preprint arXiv:1710.05106 (2017)

[11] Gu, J., Cai, J., Joty, S., Niu, L., Wang, G.: Look, imagine and match: Improving textual-visual cross-modal retrieval with generative models. In: CVPR (2018)

[12] Lee K H, Chen X, Hua G, et al. Stacked Cross Attention for Image-Text Matching[C]//European Conference on Computer Vision (ECCV). 2018.

[13] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Annual Conference on Neural Information Processing Systems (NeurIPS). 2015: 91-99.

[14] Yaxiong Wang, Hao Yang, Xueming Qian, Lin Ma, Jing Lu, Biao Li, and Xin Fan. Position focused attention network for image-text matching. arXiv preprint arXiv:1907.09748,2019.

[15] Liu C, Mao Z, Liu A A, et al. Focus your attention: A bidirectional focal attention network for image-text matching[C]//Proceedings of the 27th ACM International Conference on Multimedia. 2019: 3-11.

[16] Liu C, Mao Z, Zhang T, et al. Graph Structured Network for Image-Text Matching[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 10921-10930.

[17] Li L H, Yatskar M, Yin D, et al. Visualbert: A simple and performant baseline for vision and language[J]. arXiv preprint arXiv:1908.03557, 2019.

[18] Li G, Duan N, Fang Y, et al. Unicoder-VL: A Universal Encoder for Vision and Language by Cross-Modal Pre-Training[C]//AAAI. 2020: 11336-11344.

[19] Su W, Zhu X, Cao Y, et al. Vl-bert: Pre-training of generic visual-linguistic representations[J]. arXiv preprint arXiv:1908.08530, 2019.

[20] Lu J, Batra D, Parikh D, et al. Vilbert: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks[C]//Advances in Neural Information Processing Systems. 2019: 13-23.

[21] Tan H, Bansal M. Lxmert: Learning cross-modality encoder representations from transformers[J]. arXiv preprint arXiv:1908.07490, 2019.

42b451161fcfc9756bd4a673b849a342.gif

8a289c58023ca03485335dd21a27a06e.png

d7c634bb2462339831705456ba56155c.png

0f9677c0c1d54bfd6ec0a561a866f946.png96bf7678b4a2721d183ea698d87e36b6.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值