超50篇论文串联起从VQA到多模态预训练大模型的前世今生—Part 2

830f0d4c8103fe1542c8246542f8a1c4.gif

作者信息

3082b02da743216e00667767ada2f0fb.png

王军杰

粤港澳大湾区数字经济研究院(IDEA研究院)实习研究博士生

清华大学2021级客座学生、早稻田大学博士生(指导老师:杨余久、酒井哲也)

总体结构

● VQA任务是什么

● 介绍之前的模型和方法

● 欢迎来到Transformer的时代

  • 2019:尝试多模态表征

  • 2020:拥抱多模态表征

  • 2021:统一构架的探索

● 下游任务(VQA等)

● 更多其他有趣的论文

本Part 2主要介绍:

● 欢迎来到Transformer的时代

  • 2019:尝试多模态表征

  • 2020:拥抱多模态表征

83f5832182ca0cf5444572728dbaa05d.png

欢迎来到Transformer的时代:2019至今

Transformer Based Models

2018 年,BERT 腾空出世之后,我们见识到了 transformer 的强大。所以,最近的工作都是基于 transformer 的模型构造而来。从此之后,多模态模型的模型基本上都开始抛弃单一任务了。大家的研究方向也从单一任务,迈向了 pretrain+finetune,VQA 也从一个特定的任务变成了众多下游任务中的一个。

Ref:

https://mp.weixin.qq.com/s/gyGeFHV2jlgCQaGmWBKMVQ

https://zhuanlan.zhihu.com/p/427323610

尽管我做这个 survey 是在 2020 年,但是,对很多文章都有所借鉴,根据了一些后来者的叙述缝缝补补。

单流模型的定义:只使用 self-attention 来学习模态内和模态间的联系。

双流模型的定义:专注于学习模态之间的联系,比如 cross-attention,co-attention。基本上,transformer 时代到来之前,都是双流模型。

对于 Transformer-based 模型来说,单流模型和双流模型是有共通之处的。

be81e8b0b3c01da44ec4ed68c3c6d095.png

上图的(a)为基于 self-attention 的 block,(b)为基于通常的 attention 的组合而来的 co-attention 的 block。

对于 image 端的输入的 length 是 M 的话,对于 Text 端的输入的 length 是 N 的话。

9e301a491ecace0cc67972708cd8d17d.png

那么对于单流模型来说,通常只需要用纯 self-attention 的 block,其计算复杂度为 。

5fcc2b0c2b8abe4a6241f1df91f44a03.png

对于双流模型来说,通常由两个 encoder 分别提取两个模态的信息,并且输入到一个特征融合模块中。两个 encoder 的计算复杂度分别为 和 ,co-attention 的计算复杂度为 ,其实合起来也就是  。

从这个角度来看,我们的单流和双流模型,也许本质上是一样的,只不过双流模型把单流模型中的一些操作解耦了,使得我们的结果更加容易分析。

3.1 2019的工作:尝试多模态表征

之前的工作都是在探索如何直接在视觉和语言之间建立联系,也就是用 attention 来直接计算。自从 transformer 起来了之后,不仅仅的整个多模态领域的构架发生了改变。也开始逐渐使用通用的多模态表征来做各种各样的下游任务了。而这下游任务也不只局限于 VQA 了。

说是全部改成了 transformer 的结构,但是实际上,仅仅是融合的部分以及文本的部分使用了 transformer 的架构,cv 端的特征依然来自于 fast rcnn。

3.1.1 ViLBERT

■ 双流模型

ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks

https://readpaper.com/paper/2970608575

https://arxiv.org/abs/1908.02265

Github:

https://github.com/jiasenlu/vilbert_beta

Motivation / Contribution

自然语言处理(NLP)领域在 2018 年提出的 BERT 模型(双向 Transformer 结构,利用了 self-attention 来增加上下文的相关性)逐渐成为了语言任务中首选的预训练模型。但在视觉与语言交叉的领域还没有出现一个通用的预训练模型,提出视觉与语言统一建模。该模型在 Conceptual Captions 数据集上进行预训练,再将其迁移应用到多个视觉-语言任务:视觉问答,视觉常识推理,指示表达(referring expressions)和基于字幕的图像检索。ViLBERT 应用到下游任务时仅需对基础架构进行少量增加。实验结果表明本文的 ViLBERT 在 4 个下游任务中显著优于面向特定任务的 sota。

简介

(Jiasen Lu, 2019)提出 ViLBERT(Vision-and-Language BERT),该模型学习图像内容和自然语言的无任务偏好的联合表征。

首先,在 Conceptual Captions 数据集进行 Pre-train,然后再迁移到视觉问答,视觉常识推理,指示表达(referring expressions)和基于字幕的图像检索这四个视觉-语言任务。在下游任务中使用 ViLBERT 时,只需要对基础架构进行略微修改即可。

ViLBERT 修改 BERT 中 query 条件下的 key-value 注意力机制,将其发展成一个多模态共注意 transformer 模块。在多头注意力中交换的 key-value 对,该结构使得 vision-attended 语言特征能够融入入视觉表征(反之亦然)。

e149c85d28bb3395ee1f64d88a68edc5.png

ViLBERT 学习的是静态图像及其对应描述文本的联合表征,分别对两种模态进行建模,然后通过一组 attention-based 的 interaction 将它们 merge 在一起。

b5055ffcb1937e71c28e162f26d1dcfb.png

该模型由分别作用于图像块和文本段的 2 个平行 BERT 模型组成。每个流都是由一系列的 transformer blocks 和注意力 transformer 层组成。其 attention 层是用以两个模态之间特征融合。需要注意的是,流之间的信息交换是被限制于特定层的,所以,文本流在与视觉特征进行交流之前有更多的处理。这也符合我们的直觉,所选择的视觉特征已经相对高级,与句子中的单词相比,视觉特征需要有限的上下文聚合。

预训练任务

d1bcdf2b081c0df80cd8268835aa3182.png

训练 ViLBERT 时采用了 2 个预训练的任务:

(1)遮蔽多模态建模

Masked Language Modeling(MLM):15%

Masked Object Classifation(MOC)

与标准 BERT 一样,对词和图像 rpn 输入大约 15% 进行 mask,通过余下的输入序列对 mask 掉的元素进行预测。对图像进行 mask 时,0.9 的概率是直接遮挡,另外 0.1 的概率保持不变。文本的 mask 与 bert 的一致。vilbert 并不直接预测被 mask 的图像区域特征值,而是预测对应区域在语义类别上的分布,使用 pretrain 的 object-detection 模型的输出作为 ground-truth,以最小化这两个分布的 KL 散度为目标。

(2)预测多模态对齐

Visual-linguistic Matching(VLM)

其目标是预测图像-文本对是否匹配对齐,即本文是否正确的描述了图像。以图像特征序列的起始 IMG token 和文本序列的起始 CLS token 的输出作为视觉和语言输入的整体表征。借用 vision-and-language 模型中另一种常见结构,将 IMG token 的输出和 CLS token 的输出进行 element-wise product 作为最终的总体表征。再利用一个线性层预测图像和文本是否匹配。

3.1.2 VisualBERT

■ 单流模型

VisualBERT: A Simple and Performant Baseline for Vision and Language

https://readpaper.com/paper/2968124245

https://arxiv.org/abs/1908.03557

Github:

https://github.com/uclanlp/visualbert

Motivation / Contribution

文字和图片统一进行语义学习,提出单流的方法。提出了两种预训练任务。

简介

(LH Li, 2019)提出的模型的结构和 Video BERT 类似,均将 text feature 和 visual feature 串联。不同的是,本文的 visual feature 使用的是 region feature,但是没有对其进行 mask。

c0988d5781a91d2f6c2dafbd5d94d51b.png

其文字部分的输入为原始的 BERT 文字输入(词向量+位置编码+片段编码)加上 Token/Image 编码来表示其是图片或文字,而图片部分的输入则是采用通过 Faster-RCNN 提取的图片区域特征加上相应的位置编码,片段编码和 Token/Image 编码。

VisualBERT 遵循 BERT 一样的流程,先进行预训练然后在相应的任务上进行微调,其采用了两个预训练任务:第一个是和 BERT 一样的语言掩码,第二个则是句子-图像预测(即判断输入的句子是否为相应图片的描述)。

3.1.3 Unicoder-VL

■ 单流模型

Unicoder-VL: A Universal Encoder for Vision and Language by Cross-modal Pre-training

https://readpaper.com/paper/2998356391

https://arxiv.org/abs/1908.06066

Github:

https://github.com/microsoft/Unicoder

Motivation

利用多层转换器对跨模态语义表示进行建模。

提出了三个预训练任务。

在图像捕获、场景图生成、视频分类和视频问答上 finetune。

简介

如图所示,本文模型中以图像的特征匹配文本中的特定短语共同输入到编码器中进行嵌入,随后使用多层的 Transformer 进行跨模态的表征学习。其中,图像嵌入使用了 Fast-RCNN 进行特征提取,并使用 [IMG] 进行标记。

6fc24649a315b5e7c97be6a3e9d06da8.png

预训练任务

MaskedLanguage Modeling(MLM):将一部分的词语进行 mask,任务是根据上下文推断该单词。

Masked Object Classification(MOC):对图像的一部分内容进行 mask,任务是对图像进行分类,此处的分类使用的依然是目标检测技术,只是单纯的将目标检测中置信度最高的一项作为分类类别。

Visual-linguistic Matching(VLM):利用 [CLS] 的最终隐藏状态来预测语言句子是否与视觉内容语义匹配,并增加了一个 FC 层。

其中前两个任务视为了基于语言和视觉内容学习输入内容的上下文感知表示,而第三个任务是为了预测语言和视觉是否可以互相描述。

3.1.4 LXMERT

■ 双流模型

LXMERT: Learning Cross-Modality Encoder Representations from Transformers

https://readpaper.com/paper/2970231061

https://arxiv.org/abs/1908.07490

Motivation / Contribution

本文要解决的问题:多模态深度学习中,缺少特征之间的联系,两个特征提取分支在提取特征过程中没有进行交互,导致视觉和语言信息并没有得到充分联系。

本文提出了一种跨模态模型,该模型有两个输入,分别为图片与文本,其中图片为对象序列,文本为单词序列,具有针对语言,视觉和跨模态的三个输出。模型使用双路的 Transformer 结构,使用三种 Encoder(对象关系编码器、语言编码器、跨模态编码器)通过五种预训练方式来赋予模型的跨模态能力。

简介

(H Tan, 2019)提出了 LXMERT 框架来学习这些语言和视觉的联系,它含有三个编码器&

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
视觉语言训练(VLP)是一种结合视觉和语言的训练模型,它能够学习到视觉和语言之间的通用表示。这种模型可以应用于多任务,如图像-文本和视频-文本训练。VLP模型的发展是计算机视觉和自然语言处理领域的重大进展之一。 VLP模型通过使用不同的训练目标来进行训练。这些训练目标可以分为四类:补全、匹配、时序和特定类型。补全训练目标是指根据给定的部分信息来测缺失的信息,匹配训练目标是指通过比较视觉和语言之间的匹配程度来进行训练,时序训练目标是指根据序列中的上下文关系进行训练,特定类型训练目标是指根据特定类型的任务进行训练。 VLP模型还可以利用下游任务的训练目标来进行训练。例如,对于视觉问答(VQA)和视觉描述(VC)等任务,VLP模型可以使用融合表示并应用全连接层来对定义的答案进行分类。此外,VLP模型还可以通过自回归解码器生成图像或视频的文本描述。 综上所述,视觉语言训练(VLP)是一种结合视觉和语言的训练模型,它可以用于多任务,并通过不同的训练目标和下游任务进行训练。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [综述 | 最新视觉-语言训练综述](https://blog.csdn.net/qq_27590277/article/details/123267583)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【自然语言处理】【多】多综述:视觉语言训练模型](https://blog.csdn.net/bqw18744018044/article/details/125697252)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值