【Vision-Language】VLMo: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts

VLMo是为了解决视觉语言任务的双编码器和融合编码器结构的局限性而提出的新型预训练模型。模型采用Mixture-of-Modality-Experts(MOME)Transformer,包含图像、文本和图像-文本融合的模态专家,能适应不同的任务需求。在预训练阶段,模型分别对图像和文本进行独立的预训练,然后进行视觉语言的联合预训练。实验结果显示,VLMo在视觉语言分类和检索任务上表现出色,尤其在视觉推理和自然语言理解上达到了SOTA水平。
摘要由CSDN通过智能技术生成

链接:https://arxiv.org/pdf/2111.02358.pdf

简介

首先我们做一些背景介绍,什么是vision-language
众所周知,目前人工智能涉及一个领域叫:多模态学习。简单而言,这个领域研究的重点在于如何将两种不同的东西联系起来,一起学习知识。比如:

  • 不同媒介:图像和文字,视频和语音
  • 不同语言:汉语和英语

因此 vision-language(VL)就是研究视觉与语言的联系,比如:给一张图片让计算机生成一段描述文字(图像描述生成,Image Caption);给一张图片让计算机回答问题(视觉推理,Visual Reasoning)。
由于近年来Computer Vision(计算机视觉)Natural Language Processing (自然语言处理) 利用机器学习发展迅猛,因此VL作为CV+NLP的领域也收到了巨大关注。

近年来,预训练-微调 模型在CV和NLP取得了惊人的成果,在VL领域也当然有所建树。
VL预训练模型从大规模的图像-文本对中学习通用的跨模态表示。主要方法有:图像-文本匹配图像-文本对比学习masked region classification/feature regressionword-region/patch alignment掩码语言建模
这些方法都是啥呢?简单介绍一下:

  • 图像-文本匹配:度量一幅图像和一段文本的相似性
  • 图像-文本对比学习:将样例与与它语义相似的例子(正样例)和与它语义不相似的例子(负样例)进行对比,希望通过设计模型结构和对比损失,使语义相近的例子对应的表示在表示空间更接近,语义不相近的例子对应的表示距离更远,以达到类似聚类的效果。
  • masked region classification/feature regression:将一些感兴趣区域(RoI,Region of Interest) 遮盖,让计算机预测被遮盖的RoI标签/特征。
  • word-region/patch alignment:将文本的Token与图像的RoI进行匹配。
  • 掩码语言建模:比如BERT。

从模型结构上来说,有两种结构占据主流:

  • 双编码器结构dual-encoder:2个encoder分别对图像和文本进行编码,然后对2个embedding计算余弦相似度。优点:适合检索任务,善于检索大量的文本与图片。缺点:余弦相似度的信息量太少,不能处理复杂的VL任务,比如视觉推理。
  • 特征融合编码器fusion encoder:通过对所有图像-文本对编码,将图像和文本的representation都融合起来,通常使用多层Transformer。优点:善于解决分类问题。缺点:因为要encode所有图像-文本对,时间复杂度大,不善于解决检索问题。

那么一个直觉的想法是:能不能融合这两个架构的优点呢?
本文正是出于对此的思考,提出了统一视觉语言预训练模型(VLMo)。VLMo可以作为双编码器去做检索任务,也可以作为融合编码器去做分类任务。
VLMo的核心是Mixture-of-Modality-Experts(MOME) Transformer,就是将Transformer的前馈网络替换成了针对不同任务的网络(称为模态专家),在处理具体任务时,可以切换到相应的专家。
专家处理的是每个任务特有的知识,相应的,我们还要有一个机制来处理VL的普遍知识。因此,作者引入了跨模态共享的self-attention。

具体来说,MOME Transformer包含三个模态专家,即图像编码视觉专家文本编码语言专家图像-文本融合视觉语言专家
模型可以使用切换机制和共享参数机制来实现不同的目的:文本编码器、图像编码器和图像-文本融合编码器。

在预训练阶段,VLMo会在在图像-文本对比学习、图像-文本匹配和掩码语言建模三个预训练任务上共同训练。流程:

  1. 首先,利用BEIT中提出的遮盖图像建模,让MOME的视觉专家和self-attention只在图像数据上进行预训练;
  2. 然后,利用掩码语言建模,只让语言专家在文本数据上进行预训练。
  3. 最后,利用该模型来初始化视觉语言的预训练。

预训练结束后就可以在特定任务上微调了。
针对检索任务,VLMo可以调整成双编码器结构;针对分类任务,VLMo可以调整成特征融合编码器结构。
作者将VLMo运用于视觉语言检索和分类任务。实验结果表明;

  • 在检索任务上,VLMo比融合编码器的性能更好,同时推理速度要快得多。但不如双编码器。
  • 在视觉问答(VQA)和视觉推理的自然语言(NLVR2)方面,VLMo取得了SOTA的结果。

VLMo

在这里插入图片描述
VLMo的整体结构和训练流程如上。左边是VLMo的结构,右边是按顺序的三个预训练任务。
我们来逐一介绍。
我们注意到图片和文本要变成embedding才能输入进VLMo。所以首先是如何生成embedding。

Input Representations

我们的数据大部分都是图像-文本对,而VLMo有3个专家,因此对一个图像-文本对,我们将其分别编码为图像embedding、文本embedding和图像-文本embedding。

Image Representations

对于图像表示,将 v ∈ R H × W × C v∈R^{H×W×C} vRH×W×C的二维图像分割并reshape为 N = H W / P 2 N = HW /P^2 N=HW/P2个patch, v p ∈ R N × ( P 2 C ) v^p∈R^{N×(P^2C)} vpRN×(P

SOHO和VLBERT是两个不同的模型。SOHO是一个用于图像理解和生成的模型,而VLBERT是一个用于图像和文本联合理解的模型。 SOHO是一个基于自监督学习的模型,它通过对图像进行遮挡和恢复的任务来学习图像的表示。它可以用于图像生成、图像修复和图像编辑等任务。 VLBERT是一个将图像和文本结合起来进行联合理解的模型。它使用ViT的方法来提取图像特征,并将每个图像patch映射到隐状态维度。VLBERT的结构和ViT相似,但在LN层的位置上有所不同。VLBERT可以用于图像问答、图像标注和图像检索等任务。 总结来说,SOHO是一个用于图像生成和理解的模型,而VLBERT是一个用于图像和文本联合理解的模型。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [多模态中预训练的演变史](https://blog.csdn.net/qq_27590277/article/details/121690048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [从LXMERT到VLMO:多模态预训练模型的演变史](https://blog.csdn.net/qq_27590277/article/details/121391773)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值