VLP、多模态的早期技术(2)

早期处于视觉-语言vision-language (VL),未涉及预训练。

1. 视觉-语言任务和评测基准

        将VL任务视为机器学习任务,可以将其表述为y = f(x; θ),其中我们的目标是学习一个参数化的VL模型f,通过输入x生成输出y。VL任务可以按照两个维度进行分类:

1)根据x和y的模态性质,VL任务可以分为图像-文本或视频-文本任务。

2)根据f如何生成y,VL任务可以分为以下两类:

  1. VL理解任务,如图像-文本检索和视觉问答(及其变种,视觉推理),需要一个VL模型从给定的候选列表中选择输出,即y是由f从给定的候选列表中选择的;
  2. VL生成任务,如图像描述,需要VL模型来生成输出,即y需要由f生成。

1.1任务举例

1.1 图文检索(Image-text Retrieval)

        图文检索可以分为两个子任务,如下:

  1. 文本到图像检索,即根据输入的文本查询检索相关的图像(如图1.1所示)
  2. 图像到文本检索,即检索可以与图像查询相关联的文字描述。

在两种情况下,模型需要将查询与相应的实例匹配,这些实例来自于一个相对较大的数据库(例如,典型的文本到图像检索任务的数据库包含1000-5000张图片)。衡量指标为Recall@K(K=1、5、10)。常用的数据集包括COCO(Chen等人,2015)和Flickr30K(Plummer等人,2015)。Sun等人(2021)提出将每个数据集的训练、验证和测试集合并,形成一个更大的候选池,模拟通常涉及数十万张图片的现实世界文本到图像检索场景,并根据检索准确率和推理速度评估模型。

1.2 视觉问答和视觉推理

视觉问答:

        视觉问答(Visual Question Answering,简称VQA)是研究社区中最重要的视觉语言任务之一。给定一对图像和问题,VQA要求模型基于图像提供正确的答案。通常有两种设置:(i)多项选择,其中提供了一个小的答案选择集合(例如4/5个答案选项),与图像和问题一起提供;(ii)开放式问题,答案可以是自由形式的,不限于任何预定义的候选答案。然而,为了简化VQA任务,大多数研究将多项选择和开放式VQA都视为分类问题。具体而言,在开放式设置下,从训练集中选择最常见的答案来构建一个答案候选集。例如,VQA数据集的第二个版本,命名为VQAv2(Goyal等人,2017年),包含约3000个答案,可用于为所有问题形成候选答案列表。由于VQA数据集每个图像-问题对包含10个真实答案,因此使用VQA分数(Antol等人,2015年)来评估模型性能。VQA分数定义如下,考虑到人类注释者之间的共识: 

VQA score = min(\frac{ humans that provided that answer}{3}, 1)

        最近的研究还开发了各种VQA基准。例如,Visual Dialog(Das等人,2017年)将单轮VQA扩展到多轮对话场景。TextVQA(Singh等人,2019年)、ST-VQA(Biten等人,2019年)和OCR-VQA(Mishra等人,2019年)收集了与图像中的场景文本相关的问题。VizWiz-QA(Gurari等人,2018年)从视觉障碍人群中收集了现实世界的VQA示例。OK-VQA(Marino等人,2019年)基于图像内容和外部知识设计了问题。另一方面的研究根据原始VQA数据集(Antol等人,2015年;Goyal等人,2017年)设计了不同的诊断数据集,以对VQA模型进行压力测试。例如,VQA-Rephrasing(Shah等人,2019年)揭示了VQA模型对问题中的语言变化的脆弱性。VQA-CP(Agrawal等人,2018年)旨在评估VQA模型中的问题导向语言偏差。Agarwal等人(2020年)提出研究VQA模型对自动语义图像处理的鲁棒性,并测试对干净图像及其相应处理后的图像的问题的预测一致性。

 视觉推理:

        视觉推理是一种VL任务,旨在评估VL模型的特定推理能力。大多数视觉推理任务都被构建为视觉问答(VQA)。例如,GQA(Hudson和Manning,2019b)构建了基于规则的大规模问题,需要多种推理技巧、空间理解和多步推断来产生答案。VQA-LOL(Gokhale等人,2020)通过逻辑组合和语言转换生成问题,以检验模型的逻辑推理能力。Selvaraju等人(2020)开发了一个包含与每个问题相关的感知子问题的数据集,用于原始VQA数据集(Antol等人,2015;Goyal等人,2017b)的新推理划分。Visual Commonsense Reasoning(VCR)(Zellers等人,2019)开发了一个多项选择问题回答数据集,要求对图像内容进行高阶认知和常识推理。其他视觉推理数据集测试了VL模型匹配文本和图像内容的能力。例如,NLVR2(Suhr等人,2019)要求模型确定一个自然语言陈述在一对输入图像上是否为真。Visual Entailment(Xie等人,2019)要求模型预测图像是否在语义上蕴涵其配对的文本。 在所有派生自VQA数据集(Antol等人,2015;Goyal等人,2017b)的数据集上,使用VQA分数来评估模型。准确率是所有其他基准评估指标的默认选择。

1.3 图像描述

        图像描述生成是为给定的图像生成自由形式的文本描述。通常使用基于n-gram重叠的标准文本生成度量(如BLEU(Papineni等,2002)、METEOR(Banerjee和Lavie,2005)、ROUGE-L(Lin,2004)和CIDEr(Vedantam等,2015))来评估描述性能。此外,还使用语义内容匹配度量(例如SPICE(Anderson等,2016))来衡量从除n-gram以外的文本中提取显式语义信息单元的模型生成文本与参考文本之间的相似度。

        如图1.1所示,针对图像描述生成任务提出了两种类型的字幕。流行的数据集主要设计了单句子描述,包括COCO、TextCaps、NoCaps和VizWiz-Captions。在建立具有更详细的多句子描述的数据集方面,已经付出了较少的努力。在建模方面,大多数工作都侧重于单句子描述任务。

2. 任务特定的视觉语言模型

      在大规模VLP时代之前开发的早期VL模型通常解决一个特定的VL任务。这里我们使用VQA作为轴心任务来回顾这些特定于任务的VL模型的架构。 下图是VQA的发展时间。

        

2.0 模型架构

        早期的VL模型通常采用了一种流水线方法。在给定图像-问题对,VQA首先通过预训练的视觉编码器提取视觉特征v = {v_1,...,v_M}。使用文本编码器将输入的问题编码为文本特征w = {w_1,...,w_N}。N可以是问题中的单词数,或者N=1,是对整个问题进行文本表示。M是图像的视觉特征数量,可以是图像区域的数量(例如,M∈[10, 100]),或者网格的数量(例如,M = 14×14),具体取决于所使用的特定视觉编码器。同样地,当提取全局图像表示时,M = 1。然后,文本和视觉特征被输入到一个多模态融合模块中,以生成跨模态表示,然后将其输入到任务特定的输出层(例如,用于VQA任务的分类器)中,以预测答案。如下图。

        其中一个主要的研究重点是多模态融合的注意力设计,我们将其用于对这些模型进行分类,并反映出任务特定模型随时间演化的方式。我们展示了早期的VL模型最终演变成基于Transformer的架构,这与一些早期的VLP模型(例如LXMERT(Tan和Bansal,2019)和ViLBERT(Lu等,2019))相似。

2.1视觉编码器

2.1.1 视觉特征的演变分为4个阶段:

  • (i)具有整个图像的整体视图的全局视觉特征;
  • (ii)网格特征,其利用均匀网格保存局部和空间信息; 网格特征通过大小和形状相同的神经感受野的均匀网格来表示输入图像,因此包含比由全局视觉特征捕获的整体整个图像表示更多的局部信息
  • (iii)从更显著的以对象为中心的图像区域提取的区域特征;目标检测器产生了一组不同大小和长宽比的显著图像区域。区域特征是每个区域提议中提取的汇聚卷积特征。
  • (iv)返回到当用目标检测目标训练时可以捕获类似语义的网格特征

2.1.2 方法

        大多数早期的视觉语言方法采用了一个两阶段的训练流程,其中首先从预训练的视觉编码器中提取视觉特征。有两种类型的视觉编码器:(i)简单的卷积神经网络(CNN)和(ii)一个目标检测器(OD)

CNN

        如:VGGNet。AlexNet,GoogLeNet,ResNet在ImageNet上预训练以提取视觉特征。最早的VQA模型从VGGNet的最后一个全连接层进行全局视觉特征(global visual features)的实验,这一点已经被立即的后续作品所继承.。为了保留原始图像中的空间信息,研究人员使用来自预训练CNN模型的早期层的网格特征(grid features)。网格特征通过大小和形状相同的神经感受野的均匀网格来表示输入图像,因此包含比由全局视觉特征捕获的整体整个图像表示更多的局部信息

OD

        与均匀网格相对应,目标检测器产生了一组不同大小和长宽比的显著图像区域。区域特征是每个区域提议中提取的汇聚卷积特征。Shih等人(2016)是第一篇利用区域特征进行视觉问答(VQA)的工作,其中利用边缘(Zitnick和Dollár,2014)定位这些区域。在视觉语言研究中,最常使用的目标检测模型是在Visual Genome(VG)数据集上预训练的Faster R-CNN模型,该数据集来自BUTD。

讨论:从网格到区域,再回到网格。如上所述,早期的VQA模型探索已经见证了从整体全局视觉特征向带有CNN视觉编码器的网格特征的过渡。受到区域自下而上特征的推崇,目标检测模型很快就主导了视觉编码器的设计。区域特征已经成为VL任务(如VQA和图像解释)中许多后续研究中的事实标准。然而,Jiang等(2020)认为与特征的“格式”(即区域 vs. 网格)相比,视觉特征所代表的语义内容对其有效性更为关键。从与自下而上特征相同数据训练的目标检测模型的CNN主干提取的网格特征可以同样有效,但效率更高,并且可以更容易地进行端到端微调,而区域特征则相对复杂一些。

2.2 文本编码器

2.2.1文本特征分为三个阶段:

  • (i)独立地编码每个词的词袋;
  • (ii)捕获单词依赖性和文本结构的RNN;
  • (iii)使用预先训练的Transformer的更强大的文本表示。

2.2.2 方法:

Bag-of-Words :独立对输入问题的每个单词进行编码,不考虑相邻单词之间的依赖性。单词嵌入的总和或平均值(从头开始学习或从预训练的word2vec中提取)作为输入问题的表示。

RNN:捕获单词依赖关系和文本结构。输入单词被独热编码并通过单词嵌入层(例如,从头学习或从word 2 vec提取或用GLoVe初始化/连接。这些词嵌入由基于RNN的文本编码器或GRU以获得问题的表示。

Transformer:受Transformer成功的启发,在NLP中开始了大规模的预训练,如BERT,研究人员使用预训练的BERT来提取问题表征。

其他:基于CNN的文本编码器。

2.3 多模态融合模块

2.3.1 多模态融合方法分为4个阶段:

  • (i)无注意力的简单融合;
  • (ii)对图像和文本输入之间的多模态对齐的模态间注意力;
  • (iii)捕获单模态关系的模态内注意;
  • (iv)基于Transformer的模型结合了跨模态和模态内注意力。

        多模态融合的目的是建立视觉特征和文本特征之间的交互模型。多模态融合模块的设计一直是VL研究中的重要课题,特别是针对特定任务的VL模型。

无注意力的简单融合:图像和文本特征经由逐元素乘积或求和或级联来融合。更复杂的设计经由LSTM细化融合的图像-文本特征或多模态残差网络

2.3.2 方法

模态间注意力:

        模态间注意力方法旨在捕捉图像和文本输入之间的多模态对齐关系。与简单的融合相比,注意力模型构建了更具信息性的VL-joint表示,因为更高的权重被放在对解决任务更有用的图像区域上。如堆叠注意力、协同注意力、双线性注意力。堆叠注意力网络(Stacked Attention Network,SAN 2016)是第一个验证跨模态注意力在VQA中的有效性的工作,它使用问题作为查询来关注图像特征。Lu等(2016)认为文本上的注意力与图像上的注意力同样重要,并开发了一种协同注意力(co-attention)方法,共同执行基于问题的图像注意力和基于图像的文本注意力。BAN(Kim等,2018)将共同注意力的思想扩展到双线性注意力,考虑了每个问题词和图像区域之间的配对。堆叠多个模态间注意力层也可以视为进行多步推理的一种方式,其中逐层优化注意力分布以聚焦于与问题更相关的区域。

模态内注意力:

       模态内注意力旨在对图像区域或问题词进行关系推理。通过考虑图像中物体区域之间的关系和问题中单词之间的依赖关系,可以通过构建图结构表示来提高视觉问答(VQA)的性能。对于问题,可以通过依赖解析得到一个由单词作为节点的图。对于图像,可以通过利用外部知识(例如场景图)和基于规则的先验知识(例如利用边界框坐标估计两个物体的相对位置)来构建以物体区域为节点的图。另外,还可以从一个全连接的图开始,在模型训练过程中动态修剪和优化节点之间的连接。

Transformer:

        图像(问题)理解不仅可以通过关注其他模态(通过模态间注意),而且还可以通过关注来自当前模态的相关区域(换句话说)(经由模态内注意)来实现。基于Transformer中缩放的点积关注度、MCAN使用自注意单元进行模态内交互(即,区域到区域或单词到单词)和用于密集模态间交互的引导注意单元(例如,字到区域)。MCAN还采用编码器-解码器Transformer架构,其中具有多层自注意的编码器学习自注意问题特征,并且解码器使用所得到的问题特征来学习具有自注意(仅在图像特征上)的堆叠的自注意(仅在图像特征上),随后是引导注意(guided-attention)(将问题特征作为查询来关注图像特征)。

2.4 特定于任务的输出层

      由多模态融合模块计算的跨模态表示被送到特定于任务的输出层以生成模型预测。由于VQA通常被建模为分类问题,因此输出层是由全连接层或多层感知器组成的分类器,随后是softmax层,以预测答案。

参考:Vision-Language Pre-training: Basics, Recent Advances, and Future Trends

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值