笔记:文澜:桥接视觉和语言的大规模多模态预训练 WenLan: Bridging Vision and Language by Large-Scale Multi-Modal Pre-Training

笔记:WenLan: Bridging Vision and Language by Large-Scale Multi-Modal Pre-Training

笔记:文澜:桥接视觉和语言的大规模的多模态预训练

在这里插入图片描述
本文是一部分总结和翻译,主要关注点是方法的介绍,本人能力有限,如有错误请大佬们多包容和指教。
求赞求关注求评论
具体请参考原文内容【Arxiv地址】

原文摘要翻译

提出了BriVL模型
近年来,人们对多模态的语前训练模式进行了深入的探索,以建立视觉和语言的桥梁。然而,他们大多通过假设文本和图像模态之间存在强烈的语义关联,明确地模拟了图像-文本对之间的跨模态交互作用。由于这种强假设在现实场景中往往是无效的,我们选择隐式建模跨模态相关的大规模多模态预训练,这是我们团队领导的中国项目“文澜”的重点。与OpenAI CLIP采用简单的对比学习方法不同,我们设计了一种更先进的算法,将最新的MoCo方法应用到跨模态场景中。通过建立一个大型的基于队列的字典,我们的BriVL可以在有限的GPU资源中加入更多的负面样本。我们进一步构建了一个大型的中文多源图文数据集,称为ruc-cas-wenlan,用于对我们的BriVL模型进行预训练。大量的实验表明,预先训练好的BriVL模型在各种下游任务上都优于UNITER和OpenAI CLIP。

介绍

近年来,预训练模型已成为自然语言处理(NLP)的研究热点。一些预训练语言模型如BERT和GPT,在许多下游任务中都取得了瞩目的成果。随着GPT- 3(即OpenAI最新的大规模语言模型)的发布,pre-training语言模型已经成为NLP界最关注的问题。
文章认为,在大规模多模态预训练中仍然存在三个挑战:(1)无效的强假设:现有的大多数模型都是通过假设输入图像-文本对之间存在很强的语义相关性来设计的(见图1),但这种强相关性假设在实践中往往是无效的。(2) Pre-training的低效:Pre-training过程往往非常昂贵,需要大量的gpu来进行并行lel的Pre-training。(3)模型部署困难:培训前的模型通常太大,无法部署到实际应用中。在这个项目中,为了克服上述三个挑战,文章提出了一种新的双塔预训练模型,称为BriVL,在跨模态对比学习框架(如OpenAI CLIP)中,而不是大多数多模态预训练模型所采用的单塔架构。重要的是,与OpenAI的CLIP不同,我们设计了一个更先进的基于最新MoCo的跨模态对比学习算法,这样我们的BriVL可以在有限的GPU资源中包含更多的负面样本
在这里插入图片描述
图2所示,给定一个特定的图像文字,图像形态或文本形态可以用来构造缺席样本图像-文字对。基于最新的Moco框架负样本的数量扩展有助于增强神经网络的表达能力。通过构建一个大型的基于队列的字典,模型可以在有限的GPU资源中整合更多的负样本,从而在图像-文本检索中获得更好的结果。
在这里插入图片描述
BriVL主要有三个优势:(i)在两塔架构下,文本编码器和图像编码器可以很容易地被最新的较大的单模态预训练模型所取代,进一步增强了BriVL模型的表示能力。(ii)一旦的BriVL模型被预先训练,它可以为图像和文本特征嵌入提供云可访问的api以及图像-文本对的匹配分数,可以被非常方便地部署在各种下游任务中。特别是,当使用向量引擎来加速推理阶段时,可以显著提高图像-文本检索的效率。(iii)在BriVL模型中添加其他训练前任务(例如,图像到文本生成)是很方便的。文章的主要目标是学习两个编码器,可以嵌入图像和文本样本到相同的空间,以有效的图像-文本检索。为了加强这种跨模态嵌入学习,作者将InfoNCE loss的对比学习引入到BriVL模型中,如图3所示。具体来说,对于一个给定的文本嵌入,学习目标是从一批图像嵌入中找到最佳的图像嵌入。同样,对于一个给定的图像嵌入,学习目标是从一批文本嵌入中找到最好的文本嵌入。总的来说,训练的模型通过共同训练图像和文本编码器,最大化每个batch中正样本对的文本嵌入和图像嵌入的余弦相似度,最小化负样本对中的余弦相似度。这导致在每批图像-文本对上的InfoNCE损失,以预训练BriVL模型。注意,与OPENAI CLIP相比,模型可以在有限的GPU资源中整合更多的负面样本,从而在图像-文本检索方面取得更好的结果。
正式地,对于图像-文本检索任务,表示训练集为 D = { ( x i I , x i T ) ∣ i = 1 , ⋯   , N } D=\{(x_i^I,x_i^T)|i=1,\cdots,N\} D={(xiI,xiT)i=1,,N}其中 ( x i I , x i T ) (x_i^I,x_i^T) (xiI,xiT)是来自ruc-cas-wenlan的匹配的图像-文本对。N是D的大小。图文检索模型利用对比学习,扩展了最新的MoCo作为预训练框架,如图3所示。每个图像 x i I x_i^I xiI(或每个文本KaTeX parse error: Double subscript at position 4: x_i_̲T)由图像编码器 f I f^I fI(或文本编码器 f T f^T fT)编码,以获得其1维嵌入 z i I z_i^I ziI(或 z i T z_i^T ziT)。图像编码器(见图3(b))包含一个CNN骨干和一个连续的自注意块。使用目标检测器对CNN的特征图进行下采样,得到一系列的目标嵌入,然后由自注意块进行编码。文本编码器由几个自我注意块堆叠,如RoBERTa。一个使用RELU激活函数的两层的MLP被用于将每个编码器的表示映射到联合交叉模态嵌入空间。 f I f^I fI f T f^T fT的参数分别记为 θ I θ^I θI θ T θ^T θT
在这里插入图片描述
需要注意的是,MoCo为对比学习提供了一种建立动态词典的机制。在这项工作中,采用了一个简单的实例识别任务:如果图像与文本相对应,则图像的查询与扩展文本的键相匹配,反之亦然。此外,队列的引入将字典大小与小批大小解耦。因此,字典大小可能比典型的小批处理大小大得多,将其设置为超参数。给定动量参数m,两个动量更新编码器 f m I f_m^I fmI(参数θ_m^I)和 f m T f_m^T fmT(参数 θ m T θ_m^T θmT)。它们的更新规则是:
在这里插入图片描述
与MoCo类似,BriVL维持两个队列 Q I Q^I QI Q T Q^T QT,分别包含K个图像负样本和K个文本负样本。在预训练阶段,给定批大小bs,在每次迭代后,所有bs图像负样本和b文本负样本分别push入这两个队列。这样,队列中的样本会在每次迭代中更新。具体地说,在迭代轮次t中,当前Batch { B t I , B t T } \{B_t^I,B_t^T\} {BtI,BtT}中的图像和文本负样本输入 f m I , f m T f_m^I,f_m^T fmI,fmT,得到的结果被输入两个队列 Q I Q^I QI Q T Q^T QT。而且,每个图像查询 x j I x_j^I xjI(或文本查询 x j T x_j^T xjT)的正样本都是唯一的,它也是通过动量更新的编码器获得的: p j T = f m T ( x j T ) p_j^T=f_m^T(x_j^T) pjT=fmT(xjT)或者( p j I = f m I ( x j I ) p_j^I=f_m^I(x_j^I) pjI=fmI(xjI))。每个batch的损失函数的构建:对于每个图像查询 x j I x_j^I xjI,定义其嵌入 z j I z_j^I zjI的图像与队列 Q T Q^T QT中所有正/负文本样本的对比损失,得到InfoNCE损失:
在这里插入图片描述
同样的对于每个文本查询 x j T x_j^T xjT:
在这里插入图片描述
总损失是二者之和:
在这里插入图片描述
在测试/评估阶段,查询图像(或文本)也可以通过预先训练编码器的输出(即嵌入)上定义的点积来检索。
由于其高度的灵活性,BriVL模型可以在广泛的应用场景下进行可读部署。首先,其他训练前的任务(例如图像到文本生成)可以通过共享相同的文本或图像编码器添加到的BriVL模型中。其次,预先训练的文本和图像编码器可以直接应用于许多下游的多模态任务,如图像到文本检索、文本到图像检索、文本-图像检索等。

实验部分

leileileilei了~
见原文吧!放几张图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值