| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 2021: E2E-VLP: End-to-End Vision-Language Pre-training Enhanced by Visual Learning -> 正文阅读 |
|
[人工智能]2021: E2E-VLP: End-to-End Vision-Language Pre-training Enhanced by Visual Learning |
摘要? ? ? ? 大多现有的预训练方法主要采用两阶段训练过程,首先利用一个预训练好的目标检测器来提取基于区域的视觉特征,然后连接图像表示和文本嵌入作为Transformer的输入用于训练。然而,这些方法面临使用特定对象检测器的特定任务的视觉表示来实现通用的跨模态理解,以及两阶段管道的计算效率低下的问题。 ? ? ? ? 本文,我们提出第一个端到端的视觉-语言预训练好的用于V+L理解和生成的模型,命名为E2E-VLP,我们建立了一个统一的Transformer框架来共同学习视觉表示,以及图像和文本之间的语义对齐。我们将目标检测器和图像标注的任务合并到一个统一的Transformer编码-解码器架构的预训练,以增强视觉学习。一组广泛的实验已经在成熟的视觉-语言下游任务上进行,以证明这种新的VLP范式的有效性。 一、介绍? ? ? ? 两阶段的VLP方法存在以下弱点:1)第一步的目标检测模型在特定的视觉数据集上进行训练,如VG数据集,在第二阶段视觉表示没有优化为更通用的跨模态理解,当目标检测模型不能识别某些重要信息时,可能会出现错误传播问题。2)使用目标检测模型提取区域特征非常耗时,因此大多先进模型都是直接在缓存的视觉特征上进行训练和评估,这种做法不仅对模型设计施加了不必要的约束,还面临了预测阶段运行时推理的低效率。 ? ? ? ? 最近一些研究开始重新审视网格特征以进行跨模态理解,并发现网格特征也可以惊人地工作很好,同时使模型设计和训练过程更加简单。一项以前工作Pixel-BERT探索了直接从像素以端到端的方式对网格特征进行预训练,它移除了所有细粒度的视觉预训练任务,这证明对V+L预训练很重要。也有zhang等证明目标检测模型提供的视觉特征在VLP模型中具有重要意义。 ? ? ? ? 为解决这些限制,我们提出一种新的端到端的像素级的视觉-语言预训练范式,即E2E-VLP,通过增强细粒度的视觉学习。预训练期间,E2E-VLP直接从图像像素中,在一个统一的Transformer编码-解码器结构中,共同学习视觉区域特征和跨模态表示。除了典型的掩码语言建模和图像-文本匹配的预训练任务外,我们还利用细粒度的视觉语义学习增强了视觉-语言预训练。具体地,两个端到端任务被进一步纳入:1)目标检测:受DETR的启发,我们将目标检测视为一个直接集预测问题,跨模态Transformer编码器和图像编码器共同学习来融合像素的跨模态数据,而解码器被用来通过预测的和真实对象间的二值匹配来捕获细粒度的视觉信息;2)图像-文本生成:为更好理解图像中的语义,我们还使用成对的文本来指导图像特征的学习。我们使用编码器网络来表示图像,并使用一个从左到右的解码器来生成标注文本,使用标准的自回归语言模型目标,使数据概率最大化。这两个任务可以帮助学习高质量的视觉表示,检测任务可以学习对象级的视觉语义,而图像标注任务可以捕获文本对齐的视觉语义。这两种视觉语义在VLP跨模态融合中具有重要作用。微调期间,E2E-VLP可灵活地应用于编码器模块的视觉-语言理解任务,以及编码-解码器模块的视觉-语言生成任务。 ? ? ? ? 在不同的V+L任务中,我们可以获得惊人的良好性能,并通过但阶段解决方法大大减少了在线推理的时间。 ? ? ? ? 我们在本文中做了以下贡献:1)我们提出第一个端到端的视觉-语言预训练好的模型用于V+L理解和生成,即E2E-VLP,可以用更快的在线推理速度来实现类似的或更优越的性能;2)E2E-VLP是第一个将细粒度的视觉预训练集成到编码-解码器结构中的模型,这为设计高级视觉和语言预训练任务铺平了道路;3)我们通过目标检测和图像标注的视觉学习来增强跨模态融合,实验上证明了这对视觉-语言的预训练是有效的。 二、相关工作? ? ? ? 目前的VLP模型主要采用两步训练管道,包括用对象检测器提取语义视觉特征,并训练跨模态的预训练模型,以对齐文本和视觉特征。在这种方法中,主要有两大方向进行视觉-语言的预训练,第一种使用单流的transformer结构在一个统一的语义空间中建模图像和文本表示,如VLBERT、UNITER和OSCAR;相反,另一种采用双流transformer结构,首先分别编码图像和文本模态,然后将跨模态表示与另一个transformer网络融合,如LXMERT、ERNIE-ViL。这些方法是直接在缓存的视觉特征上进行训练和评估的,这对模型设计施加了不必要的限制,并使端到端视觉语言的预训练变得困难。Pixel-BERT以端到端的方式用网格特征进行预训练,然而,由于学习到的网格特征的特点,端到端预训练是在没有对象级视觉任务的情况下进行的,这对于对齐跨模态表示之间的语义非常重要。 ? ? ? ? 本文,我们着重于用更细粒度的视觉语义学习来增强端到端的视觉-语言预训练。将目标检测任务和图像标注任务纳入到预训练阶段,以进一步提高细粒度的视觉-语言理解和生成能力。 三、E2E-VLP预训练3.1 模型结构? ? ? ? 如图1所示,受DETR、ViT Transformer等的启发,我们使用transformer编码-解码器架构进行跨模态学习,并使用一个简单的CNN主干模块作为图像编码器,从像素中提取视觉表示,以实现更灵活的网络设计。我们以端到端的方式共同训练整个框架,以便同时学习通用的视觉表示和高级的跨模态对齐。设计了不同的V+L预训练任务,进一步提高了跨模态理解和生成能力。 ?3.1 输入表示? ? ? ? 模型输入是一个图像和与它相关的文本,我们首先介绍了表示文本序列和原始图像像素作为Transformer输入的方法。 ? ? ? ? 句子嵌入? ?每个句子通过WordPiece tokenizer分为子单词序列,然后与BERT类似,每个标记wi都被分配了三种嵌入:标记、段嵌入和位置嵌入。这三个嵌入被求和并进行层归一化,表示为嵌入向量Eemb={eCLS, e1,…,em, eSEP},其中[CLS]和[SEP]是BERT中的特殊标记。 ? ? ? ? 图像表示? ? 为改善图像表示的泛化性,我们从像素中学习来表示图像,而不是使用边界框。像素特征由CNN视觉主干如ResNet学习,从初始图像vimg∈R3×H0×W0开始,传统的CNN主干生成一个低分辨率的激活图fimg∈RC×H×W,使用在DETR中的典型值:C=2048,H=H0/32, W=w0/32,然后采用一个1×1卷积将高水平的激活图的通道维度从C降到更小的维度d,创建一个新的特征图zimg=Rd×H×W。编码器期望一个序列作为输入,因此我们将zimg的空间维度折叠为一维,得到一个高清特征图Zimg为HW×d。由于transformer结构是排列不变的,我们用固定的位置编码来补充特征图,并添加到每个注意力层的输入中。最后,序列图像表示Zimg={o1,…,oHW}可以看作是d维向量的长度为HW。 3.1.2 跨模态编码器预训练? ? ? ??给定句子的标记嵌入{ei}mi=1和序列的图像表示{oj}nj=1,我们采用Transformer编码器来学习图像网格特征和语言标记间的跨模态注意力。编码器是一个用L个标准块堆叠的模型,其中第l块包含一个多头自注意力模块和一个前馈网络(FFN)。为了实现细粒度的特征级语义融合,我们直接将派生的图像特征和文本嵌入连接起来,构造输入序列,表示为{eCLS, e1, ..., em, eSEP, o1, ..., oHW}。 ? ? ? ? 将视觉表示学习的CNN主干和跨模态语义融合的Transformer组合成一个单一的模型,即端到端可训练的。这样,学习到的视觉特征表示可以更适合于一般跨模态理解的预训练任务。为促进跨模态理解,我们遵循文献,并在编码器端进行两个流行的预训练任务,包括掩码语言建模(MLM)和图像-文本匹配(ITM)。 ? ? ? ? 掩码语言建模? ? 任务设置与BERT基本相同,与BERT中进以来周围文本模态文本进行预测的MLM任务不同,利用视觉模态的图像特征图对掩码词进行预测,以解决模糊问题。 ? ? ? ? 图像-文本匹配? ? 随机抽取50%不匹配的图像-文本对和50%匹配的对,训练分类器预测图像和句子在最后一个编码层hLCLS中标记[CLS]的表示是否相互匹配。 3.1.2 视觉增强解码器? ? ? ? 由于CNN特征图没有对象级的语义,因此很难直接对齐CNN特征图和语言嵌入之间的跨模态语义,因此,我们进一步增加了一个Transformer解码器来帮助捕获视觉特征的细粒度语义,其中包含了两个特定的预训练任务,即目标检测和图像标题生成。 ? ? ? ? 该解码器采用了transformer的标准体系结构。两个任务具有相同的解码器注意力参数,而两个任务使用不同的线性头。目标检测任务更侧重于理解图像内的细粒度的对象信息,而图像标注任务则有助于指导关于文本语义的视觉特征的学习。 ? ? ? ? 通过对象检测增强? ? 根据单阶段的检测模型DETR,我们将对象检测任务定义为直接集预测问题,并使用基于集的全局损失,通过与transformer编码-解码器架构的二值匹配来强制进行独特的预测。 ? ? ? ??让我们用y表示对象的地面真值集和y?={y?i}Ni=1。基于集的二值匹配损失是寻找代价最低的N个元素σ∈LN的排列: ?其中,Lmatch(yi,y?σ(i))是地面真值yi和具有索引σ(i)的预测之间的成对匹配代价。 ? ? ? ? Hungarian算法用于有效地计算最优分配,与原来单模态学习的DETR不同,我们的对象检测的跨模态预训练在两个方面有所不同。 ? ? ? ? 在编码器方面,我们将视觉表示和语言嵌入作为输入,并重用Transformer编码器进行跨模态融合。在解码器方面,我们将学习到的位置嵌入作为多个L层Transformer解码器层的输入,并在每个解码器层并行检测N个对象。除了框坐标回归和类类别预测任务外,我们还加入了一个对象属性预测任务到VG数据集,以增强细粒度语义的学习。模型采用属性、类预测为负对数似然损失和盒子回归损失,定义如下: ?其中p?σ?(i)(ai),p?σ?(i)(ci)是属性和类概率,Lbox(bi,?bσ?(i)(i))是一个归一化的边界框回归损失。 ? ? ? ? 增强的图像标注? ??为了指导关于文本语义方面的视觉特征的学习,我们使用语义密集的标题来学习具有序列到序列(Seq2Seq)图像到文本生成任务的视觉表示。该解码器经过预先训练,以基于来自图像编码器的上下文表示来自动回归生成目标文本。解码器的预训练损失定义为: ?其中,X表示视觉上下文的序列,Y表示要生成的文本集合,n表示输出文本y中的标记的长度。 3.2 共同训练? ? ? ? 我们用所有编码器和解码器预训练任务对E2E-VLP进行预训练,(如掩码语言建模、图像-文本匹配、对象检测、图像到文本生成),通过最小化四个损失函数: ?四、实验?4.1 预训练数据集? ? ? ? 在两个域内图像-文本数据集:MSCOCO和VG,我们利用在MS-COCO中的目标检测和图像标题注释,以及在VG中的目标检测、区域描述注释。数据集的总量是180K不同图像上的6.01M图像和句子对。 五、实验5.1 下游任务? ? ? ? 在下游任务中,我们将E2E-VLP模型与其他模型大小相当的VLP模型进行了比较。 ? ? ? ? VQA v2.0 :我们将VQA视为一个多标签分类任务,通过从一个由3129个答案组成的共享集合中选择一个答案。为了微调VQA任务,我们使用二进制交叉熵损失来训练多标签分类器。 ?5.2 基本模型? ? ? ? 我们将我们的E2E-VLP模型与所有三种流行的VLP架构进行了比较:单流和双流架构的两步式管道框架和端到端单步式的解决方案。单流架构使用统一的transformer来编码视觉语言输入,包括最先进的方法,如OSCAR、UNITER、Unicoder-VL、VLBERT和VLP。首先将图像和文本分别编码,然后融合在双流架构中,包括最新的方法,如ERNIE-VIL、LXMERT、ViLBERT。这两种架构都采用了基于区域的视觉特征,其中首先使用一个对象检测器来获得对象级的特征表示。我们还与唯一的端到端解决方法PixelBERT进行了比较。PixelBERT采用随机像素采样策略进行跨模态预训练,而预训练中没有视觉语义理解任务,这在V+L任务中非常重要。 5.3 主要结果? ? ? ? 下游V+L任务的结果如表1所示,可以观察到:1)E2E-VLP参数更少,且只有域内预训练数据(MS-COCO和VG),E2E-VLP可以始终达到与OSCAR和ERNIE-VIL等基于两步区域特征的方法相当的性能。这表明了我们的端到端的基于网格特征方法的有效性,它可以为解决跨模态预训练和在更细粒度水平上进行融合提供新的视角,它具有移除区域特征提取的复杂过程的潜力,并以端到端方式促进视觉特征和文本数据之间更深入的交互。2)我们的E2E-VLP方法可以显著改进端到端方法的PixelBERT,这证明了我们的方法在通过目标检测和图像字幕增强细粒度视觉学习方面的优势。 5.4 视觉学习的重要性? ? ? ? 我们进行了消融实验,以评估不同视觉学习任务对VQA和NLVR2发展集的影响,如表3。可以看到:1)所有三个视觉预训练任务都有助于最终的表现,去除每个任务都会降低两项任务的表现。目标检测和属性预测任务可以帮助捕获图像中细粒度的对象级语义,这与之前的两步解决方案一致,即使用检测中的区域特征可以帮助提高跨模态理解的性能。图像到文本生成任务可以帮助指导学习与文本语义有关的视觉特征,这与VirTex有着相同的结论。2)对象检测和属性预测任务比图像文本生成任务更重要,可能是由于典型的跨模态下游任务如VQA和NLVR2更关注图像中对象的细粒度语义。 5.5 推理效率? ? ? ? 端到端VLP方法的最大优点之一是单个阶段的推理效率,因此,我们进一步研究了E2E-VLP的在线推理效率,并于两步的基于区域的模型(UNITER和LXMERT)和现有的端到端VLP方法(PixelBERT)进行了比较。我们检测了不同模型在VQA数据集上的平均推理时间,如表4所示。可以看到:1)端到端方法在在线推理方面可以比两步模型更有效(加速2-3倍),我们进一步分析了两步模型中不同组成部分的推理时间,发现在每对图像-文本对500ms的总成本中,约80%的总时间使用FasterR-CNN提取基于区域的特征(Renetal.,2015)。区域选择需要很多的时间,在提取最终区域时会发生两次,并且包含了许多复杂的后处理过程。2)我们的E2E-VLP模型可以在VQA和NLVR2的数据集上实现类似的结果,节省了约3.5倍的运行时间。此外,我们可以使用更小的图像尺寸来进一步提高推理速度。与PixelBERT相比,E2E-VLP也可以获得一些加速,由于E2E-VLP的Transformer的隐藏层尺寸只有256,使得E2E-VLP更轻量、更灵活。我们的端到端解决方案可以显著提高PixelBERT的性能,因为PixelBERT没有视觉预训练任务,而且我们通过细粒度对象检测和图像标注任务增强了E2E-VLP的预训练。 ?5.6 结构选择? ? ? ?由于我们的整个架构结合了视觉主干和Transformer网络,我们进一步研究了通过改变Transformer编码器层的数量和不同的ResNet视觉主干层的不同模型结构的重要性。我们希望进一步研究视觉主干或Transformer网络对跨模态理解和融合更重要。从表5中可以看出,添加更多的Transformer编码器层和使用更复杂的视觉主干都有助于最终的性能提高,这证明了这两个模块对跨模态理解的重要性。学习更好的视觉特征和进行更深入的视觉语言融合对V+L任务都很重要。此外,我们可以看到,使用更强大的视觉主干(如ResNet152)比仅仅将变压器编码器层数从6层增加到12层,可以给最终性能带来更多的好处。这可能是由于视觉语义理解在V+L任务中是相当重要的,这也是为什么我们设计了更细粒度的视觉预训练任务,以进一步增强E2E-VLP的学习。 ?5.7 输入图像尺寸的影响? ? ? ? 视觉特征的序列长度是由图像大小HW决定,因此,输入到transformer的最终序列长度在很大程度上也取决于图像的大小,而这反过来影响我们的整个框架的推理速度。我们进一步研究了输入图像大小对E2E-VLP的效率和有效性的影响。如表6所示,从结果中可以看出,E2E-VLP受益于较大的图像作为输入,对于较大的图像,视觉表示的序列长度更长,视觉表示中嵌入更多的视觉信息,跨模态Transformer能够学习更细粒度的视觉-语言融合,以获得更好的性能。此外,将图像降采样到较小的尺寸可以显著提高E2E-VLP模型的推理速度,而模型的精度仅略有下降。例如,当将输入大小从(800,1333)更改为(448,448)时,推断可以快约5倍,而性能仅下降约2%-3%。 ?5.8 成对文本的对象检测? ? ? ? 最后,我们希望进一步研究跨模态融合是否稳定和E2E-VLP通过视觉学习捕获细粒度的语义。因此,我们使用E2E-VLP对图像内容和标题文本进行编码,并直接使用像DETR中的解码器对MSCOCO对象检测基准数据集进行微调,如MSCOCO中(Carionetal.,2020)。表7显示了检测结果。可以看到,我们的E2E-VLP模型也可以支持基于文本图像对的对象检测任务,与原始的DETR模型相比表现得惊人的好。这一现象也可以证明E2E-VLP可以很好地捕获图像中的细粒度语义,并可以适当地融合多模态信息来进行可视化任务。 ?六、结论? ? ? ? 本文我们提出一种新的端到端的范式用于像素级的视觉-语言预训练,以共同学习视觉表示,和图像和文本间的语义对齐。不同于以前在两阶段管道中使用区域特征的方法,我们建议使用更灵活和高效的图像网格特征进行视觉语言的预训练。我们进一步将目标检测和图像字幕的任务合并到一个统一的变压器编解码器体系结构的预训练,以增强视觉学习。在成熟的视觉语言下游任务上的实验证明了我们的E2E-VLP模型的有效性和效率。我们希望本研究能够为终端视觉语言预前训练提供新的视角和指导。 ? ? ? ??在未来,我们将从底层探索更深入的图像-文本融合的交互方法,并结合更高级的视觉和语言预训练任务,以进一步提高性能。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 18:41:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |