Cross-modal Pretraining in BERT(跨模态预训练)

在这里插入图片描述
BERT以及BERT后时代在NLP各项任务上都是强势刷榜,多模态领域也不遑多让…仅在2019 年就有8+篇的跨模态预训练的论文挂到了arxiv上…上图是多篇跨模态论文中比较稍迟的VL-BERT论文中的比较图,就按这个表格的分类(Architecture)整理这几篇论文吧。

预训练优势?

  • 可以从无标注数据上更加通用的知识迁移到目标任务上,进而提升任务性能
  • 学习到更好的参数初始点,使得模型在目标任务上只需少量数据就能达到不错的效果

多模态优势?

  • 学到不同模态之间的语义对应关系。

预训练技术上首先是BERT的基础公式,不做赘述。所有的论文都是基于BERT做改装或者暴力组合的,如果按上图的Architecture可以分为one single和two single,one single会把text和visual融合到一个模型中,two single是分别处理text和visual(early fusion和late fusion)。

在这里插入图片描述


One Single
VideoBERT
VideoBERT: A Joint Model for Video and Language Representation Learning
主要思路是改进 BERT 模型。 从视频数据的向量量化和现有的语音识别输出结果上分别导出视觉帧token和语言学词 token,然后在这些 token 的序列上BERT。
在这里插入图片描述
值得注意的模型细节:

  • 为了将BERT扩展到视频(这其实是8+篇里面唯一一份做视频的paper),以便仍然可以利用预先训练的语言模型和可伸缩的实现进行推理和学习,作者首先将原始视觉数据(整个视频)成一个离散的图片帧 token序列,以得到“visual words”。
  • 文本和视频的语义对齐存在困难,因为即使在教学视频中,演讲者也可能指的是视觉上不存在的东西。解决方案:1随机地将相邻的句子连接成一个长句子,以允许模型学习语义对应,即使两者在时间上没有很好地对齐。2即使是相同的动作,状态转换的速度也会有很大的变化,我们随机为视频令牌选择1到5步的次采样速率。 这不仅有助于该模型对视频速度的变化具有更强的鲁棒性,而且还允许该模型捕获时间动态 在更大的时间范围内学习更长的状态转换。
  • 3种训练任务。 text-only, video-only,和video-text。对于单模态任务,用标准的BERT打上mask进行预测,对于跨模态任务,用语言-视觉对齐任务,即使用[CLS]的最终隐藏状态来预测语言句子是否在时间上与视觉句子对齐。

使用该预训练模型可以实现从video到text,也可以从text到video的各种任务。文章中主要验证了两个任务:zero-shot action classification和video captioning。

B2T2
Fusion of Detected Objects in Text for Visual Question Answering
应用领域是视觉问答中的检测到物体的文本融合,尝试通过BERT利用了在同一个统一架构中把单词指向图像中的一部分的参考信息。
在这里插入图片描述
值得注意的模型细节:

  • 评估了两种主要的体系结构:“双编码器(Dual Encoder)”,一种late fusion的结构,其中图像和文本被单独编码,score被计算为内积(BERT结构的[CLS]输出端引入整个图像的特征,判断图文是否匹配),如左图。而右图是完整的B2T2模型, 一种early fusion结构,其中视觉特征嵌入在与输入字标记相同的级别上,值得注意的是图像不是单独一边输入的,而是在“Mx”即masked的词位置输入改词的局部区域特征。
  • 两个预训练任务: (1) impostor identification and (2) masked language model prediction.
  • 只有一个下游任务就是它自己的应用领域VQA。

VisualBERT
VISUALBERT: A SIMPLE AND PERFORMANT BASELINE FOR VISION AND LANGUAGE.
改装BERT,以将输入一段文本中的元素(词)和一张相关的输入图像中的区域(局部)隐式地对齐起来。
在这里插入图片描述
值得注意的模型细节:

  • 输出使的三种embedding信息的增加,分别是position,segment,token/image。position是目标检测得到的局部位置or 句子词的位置;segment表示是图像嵌入or 文本嵌入;词or视觉特征。
  • 两种训练任务:(1)部分文本被屏蔽,模型学习根据剩余文本和视觉上下文预测屏蔽词;(2)确定所提供的文本是否匹配图像。
  • 预训练任务:VQA,VCR,NLVR,和Entities。
  • 设备:4 Tesla V100s each with 16GBs

Unicoder-VL
Unicoder-VL: A Universal Encoder for Vision and Language by Cross-modal Pre-training
网络结构和训练策略与VideoBert大同小异,将视频片段帧特征换成了单图的局部区域。
在这里插入图片描述
值得注意的模型细节:

  • 预训练阶段使用三个任务,包括masked语言建模(MLM)、masked对象标签预测(MOC)以及视觉-语言匹配(VLM)。前两个任务会让模型学习从基于语言和视觉内容输入的联合 token 学习到内容相关的表征(都是15%masked之后,利用相应的上下文进行预测重构,其中MOC预测的不是特征而是区域的label);后一个任务尝试预测一张图像和一段文本描述之间是否相符。
  • 预训练下游任务:image-text retrieval,zero-shot image-text retrival。
  • 设备: 4 NVIDIA Tesla V100 GPU

VL-BERT
VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS
在VL-BERT中,视觉和语言的嵌入特征将同时作为输入,这些元素是在图像中的感兴趣区域(RoIs)上定义的特征 以及输入句子中的子词。 RoIs可以是由对象检测器产生的包围框,也可以是某些任务中的注释框。如下图的结构,不管是句子还是图片都有visual feature,用于捕捉视觉线索。
在这里插入图片描述
值得注意的模型细节:

  • 输入由四个部分构成,token embedding, visual feature embedding, segment embedding, and sequence position embedding。token和BERT一样,对于图像的输入给特殊的[IMG]token做标记;visual feature用于捕捉视觉线索,visual appearance feature用Faster-RNN抽取, visual geometry embedding是每个框的4-d位置信息然后做正弦余弦处理,最后用FC得到特征;segment标记是句子or图片,在不同任务中标记不同,如在VQA中A denotes Question, B denotes Answer, and C denotes Image,在caption中就只有A和C两种标记,position,标识输入序列中的顺序,由于image reginos不存在顺序,所以标记都是一样的(如图中的7)。
  • 三个预训练任务为:带有视觉线索的masked文字建模、带有语言线索的感兴趣区域RoI分类、句子-图像关系预测。
  • 设备:Pre-training is conducted on 16 Tesla V100 GPUs for 250k iterations by SGD。

UNITER
来自ECCV 2020的UNITER: UNiversal Image-TExt Representation Learning
文章的动机来源于:能否为所有V + L任务学习通用的图像文本表示形式?所以这篇文章最重要的贡献就是不再只单独mask某个模态,而是以一种混合学习的形式进行统一的表示学习。模型架构图如下,上半部分是UNITER的模型架构,会先对image和sentence用预训练模型抽特征然后再输入到Transformer中。下半部分则是作者提出的多个预训练模型。
在这里插入图片描述
值得注意的模型细节:

  • 提前预训练的效果比不使用预训练的特征效果要更好。
  • 四种预训练任务:以图像为条件的掩码语言建模(MLM),以文本为条件的掩码区域建模(MRM),图像文本匹配(ITM),字区域对齐(WRA)。前两种掩码训练中是只掩盖一个模态而保持另一个模态不变,而不是像其他预训练方法那样随机掩盖两个模态。后面两种任务解决跨模态对齐问题。
  • 然后还有三种MRM变体:掩码区分类(MRC),掩码区域特征回归(MRFR),具有KL散度的掩码区域分类(MRC-kl)。MRM本来是为了在给定其余区域的情况下重建掩码区域和所有单词,但与以离散标签表示的文本标记不同,被掩掉的视觉标记特征是高维且连续的,因此无法通过类可能性进行监督,所以新增这三种变体能够更好的学习。

Pixel-BERT
Pixel-BERT: Aligning Image Pixels with Text by Deep Multi-Modal Transformers
其实这篇文章本质上与以上其他文章差距不是很多,之所以要叫pixel-BERT的原因是在得到图像特征的时候会多学一个 local feature patch,然后再拿这种pixel feature和semantic embedding相加一起作为图像的表示即可。
在这里插入图片描述
补充pixel feature好处是可以补充一些重要的视觉信息缺失,如物体的形状,空间关系等等,算是能够捕捉更细腻的信息吧。计算资源是64 张 V100 。

Oscar
也是来自ECCV20,Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks
这篇文章比较有意思的是,首次引入目标检测的tag作为锚点以降低对齐的难度,并且也搭上了对比学习的车对正负例(词,目标标签,图像区域)的学习进行优化。如下图展示了word-tag-region的三元组应该如何对齐,以及它主要可以解决的下游任务。
在这里插入图片描述
模型图如下,Transformer的输入也是三个部分,其中tag是和word共享dictionary的。
在这里插入图片描述
然后就是两个任务Masked Token Loss (MTL) 和Contrastive Loss了。


Two Single
ViLBERT
两个BERT流中分别预处理视觉和文本输入,并在 transformer 层中进行交互(co-Transformer…),具体如下图。
在这里插入图片描述
所谓co-Transformer如下,将原encoder的部分,变成co-Attention的形式,分别向对方Query然后优化特征。
在这里插入图片描述
值得注意的模型细节:

  • 仍然是尝试masked图片局部和masked文字建模,与image-text pair。任务细节如下图,其中图片的区域的构造是5-d,多加入了 局部区域覆盖比(fraction of image area covered),对于图像BERT也是给的IMG token。
  • 下游任务:VQA,VCR,Grounding Referring Expressions,Caption-Based Image Retrieval,‘Zero-shot’ Caption-Based Image Retrieval。
  • We train on 8 TitanX GPUs with a total batch size of 512 for 10 epochs.
    在这里插入图片描述

LXMERT
LXMERT: Learning Cross-Modality Encoder Representations from Transformers
三个编码器:一个对象关系编码器、一个语言编码器和一个跨模态编码器(是cross-Transformer)。图像经过目标检测模型得到区域块的特征序列,并经过Transformer进一步编码;文本侧通过BERT结构得到文本的特征序列,最后两者做cross-Transformer进行多任务的预训练。
在这里插入图片描述
值得注意的模型细节:

  • 使用了 5 个不同的、有代表性的预训练任务:masked语言建模、masked对象预测(特征回归和标签检测)、跨模态对齐以及图像问答。
  • 在vision output会做RoI-Feature Regression和Detected Label Classification,cross output会做Cross-Modality Matching & QA,language output会做Masked Cross-Modality LM。
  • The whole pre-training process takes 10 days on 4 Titan Xp。 Adam,le-4,256.

ERNIE-ViL
Knowledge enhanced vision-language representations through scene graph
架构上也是对于图像和文本分别使用单模编码器进行编码,然后使用跨模态Transformer实现两个模态的信息交融。比较不一样的就是视觉场景图它来了,尝试把场景图中的关系知识融入多模态预训练中,使得模型更能精准把握图像和文本之间细粒度的对齐信息。
在这里插入图片描述
值得注意的模型细节:

  • 场景图预测(Scene Graph Prediction)预训练任务。即根据给定的一段文本解析出场景图结构,然后根据解析出的场景图设计三个子任务,分别是目标预测(object prediction)、属性预测(attribute prediction)、关系预测(relationship prediction),通过掩蔽图像和文本中场景图解析出来的目标、属性以及关系,使用模型进行预测,以让模型学习到跨模态之间的细粒度语义对齐信息。
  • 其他预训练任务:Masked Cross-Modality LM、Detected-Label Classification,Cross-Modality Matching

ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision
补上一篇ICML2021的文章。
首先作者归纳了一下,目前有的4种不同类型的Vision-and-Language Pretraining(VLP),如下图:
在这里插入图片描述

  • a。对图像和文本双流使用encoder,其中图像的更重,文本的更轻,然后使用简单的点积或者浅层attention层来表示两种模态特征的相似性。
  • b。每个模态单独使用比较重重的transformer encoder,然后使用池化后的图像特征点积计算特征相似性。
  • c。使用深层transformer进行交互作用,但是由于VE仍然使用重的卷积网络进行特征抽取,导致计算量依然很大。
  • d。这是作者自己提出的模型,目的是提出ViLT是首个将VE设计的如TE一样轻量的方法,该方法的主要计算量都集中在模态交互上。

如何实现这种轻量呢?如下图的模型图

在这里插入图片描述
主要是图像端VE使用预训练的ViT做patch projection。即直接将图像切块看成一个图像块序列,通过linear projection转化成visual embedding,然后和postion embedding进行相加,最后和modal-type embedding进行concate。然后做3个预训练任务:

  • ImageText Matching:随机以0.5的概率将文本对应的图片替换成不同的图片,然后判断图像文本是否匹配
  • Masked Language Modeling:随机以0.15的概率mask掉tokens,通过文本的上下文信息去预测masked的文本tokens
  • Whole Word Masking:将连续的子词tokens进行mask的技巧,而不使用图像信息

paper:https://arxiv.org/abs/2102.03334
code:https://github.com/dandelin/ViLT

在这里插入图片描述
UNIMO: Towards Unified-Modal Understanding and Generation via Cross-Modal Contrastive Learning
继续补文ACL2021的文章,这篇文章的重点是“统一模态”,即跨模态多模态模型能否同时做单模和多模场景呢?即多模态模型不应该对模态的缺失而那么的敏感。具体的模型如上图,思路仍然是依靠大量的数据+预训练任务,由于想同时处理单模和多模,所以任务分为这两种:

  • 视觉学习。mask掉区域,用剩下区域来还原该部分+用文本和剩下区域来还原该部分。
  • 文本学习。mask掉词,和视觉类似操作。另外为了让模型能同时支持生成和理解两类目标,UNIMO设计了双向预测(Bidirectional prediction)和 序列生成(Seq2Seq Generation)两种损失。
  • 跨模态学习。文本改写(Text Rewriting),从句子级(利用回译扩增)、短语级和词汇级别(利用场景图替换object)三个粒度进行了改写。
  • 跨模态学习。图文检索,分别对锚样本做图像检索和文本检索两个任务,得到loss为 L C M C L ( V , W ) = − l o g p o s p + p o s I + p o s T ( n e g p + n e g I + n e g T ) + ( p o s p + p o s I + p o s T ) L_{CMCL}(V,W)=-log\frac{pos_p+pos_I+pos_T}{(neg_p+neg_I+neg_T)+(pos_p+pos_I+pos_T)} LCMCL(V,W)=log(negp+negI+negT)+(posp+posI+posT)posp+posI+posT
    按正负例样本对 p o s p + p o s I + p o s T pos_p+pos_I+pos_T posp+posI+posT别代表强正例集合,图像检索的弱相关集合,文本检索的弱相关集合。 n e g p + n e g I + n e g T neg_p+neg_I+neg_T negp+negI+negT表示对应的负例集合。

paper:https://arxiv.org/pdf/2012.15409:
code:https://github.com/PaddlePaddle/Research/tree/master/NLP/UNIMO

在这里插入图片描述
M3P: Learning Universal Representations via Multitask Multilingual Multimodal Pre-training
继续补文CVPR2021,与前面的文章稍有不同的是,这篇文章主打的是多任务多语言多模态预训练的模型,即M3P模型。模型框架如上图,其实重要的部分主要是输入的那三块:多模态单语言,多模态混合语言,单模态多语言三个输入,然后做多个预训练任务,包括VLM,MRM,MLM,xMLM这些。其中混合语言通过code-switched来实现,即多语言相同词直接进行替换来提高丰富度。

paper:arXiv:2006.02635v4


总结:

  • 单模型主要改进BERT的输入,双模型主要做co/cross的BERT。
  • 全图片只能预测特征,masked的精髓在于图片的局部区域,可特征可label。
  • 预训练任务的单模态以mask为主,视频可以打乱帧时序,细化可以到object关系。多模态以语义对齐为主,一直做到caption的细粒度对齐。
  • 大规模,多任务的训练,多显卡高算力。可以看一下OpenAI发布的必看论文 CLIP,DALL-E论文解读传送门
  • 下游任务丰富。
  • 个人偏向于单流模型,参数较少较轻便且端到端,性能不差。
  • 21
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 深度模态哈希化是一种将不同模态的数据(如图像和文本)映射到低维二进制编码的技术。这种哈希化方法可以用于模态检索和多模态数据分析等任务。深度模态哈希化通常使用深度神经网络来学习数据的表示,并使用损失函数来优化哈希函数。 ### 回答2: 深交叉模态哈希(Deep Cross-Modal Hashing)是一种用于模态查询的哈希方法,主要应用于大规模多媒体数据检索的场景。它可以将不同类型的信息(如图像、文本和视频)编码为紧凑的二进制哈希码,使得哈希码能够在不同模态间保持高质量的相似性。 深交叉模态哈希主要基于深度学习技术实现。通过对不同模态的数据进行编码,使得它们能够在一个统一的空间中表示,并且在该空间内距离越近的点越相似。这样,在哈希过程中,将这些点映射到二进制码空间时,距离较近的点将有更高的概率被映射到相同的哈希编码。这种方法可以提高哈希效率、压缩数据量、降低存储成本及提高检索速度。 在实践中,深交叉模态哈希被广泛应用于图像检索、视频检索和文本检索等领域。通过该方法,可以快速地检索出与查询相关的相似数据,并可以根据哈希码相似度进行排序和筛选。同时,深交叉模态哈希还可以将不同模态的数据相互转化,例如将文本转化为图像,从而在不同领域之间进行有益的交互。相信未来,随着深度学习技术的不断发展,深交叉模态哈希将会有更加广泛的应用。 ### 回答3: 深度交叉模态哈希(deep cross-modal hashing)是一种将多模态数据(如图像、文本、音频等)进行哈希编码的方法。该方法通过将多个模态数据输入到一个深度神经网络中,学习到一个交叉模态表示,然后使用该表示生成哈希编码。相比传统的单模态哈希方法,深度交叉模态哈希能够有效地利用多模态数据之间的关联,提高哈希编码的质量和准确性。 深度交叉模态哈希的具体实现方法通常分为以下几步骤: 1. 多模态数据处理 将多模态数据(如图像、文本、音频等)输入到网络中进行处理,通常使用卷积神经网络或循环神经网络来提取数据的特征。 2. 交叉模态表示学习 将多模态数据提取的特征输入到一个共享的交叉模态表示学习网络中进行训练,该网络将不同模态之间的信息进行交叉融合,并学习到一个交叉模态表示。 3. 哈希编码生成 使用学习到的交叉模态表示生成哈希编码,通常使用如余弦相似度等方法来量化哈希编码的相似度。 深度交叉模态哈希的优点在于能够有效地利用多模态数据之间的相关性,同时可以保留数据的原始特征,有利于后续的数据处理和应用。但是由于网络结构较为复杂,训练和计算成本较高,且对输入数据的质量和数量有一定要求,因此在实际应用中仍需考虑多方面因素。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值