跨界出圈 | 谈谈BERT跨模态预训练

NewBeeNLP原创出品

公众号专栏作者@上杉翔二

悠闲会 · 信息检索

BERT以及BERT后时代在NLP各项任务上都是强势刷榜,多模态领域也不遑多让。前几天我们刚分享了复旦邱锡鹏老师的报告: 复旦邱锡鹏教授 | 『语言+X』预训练模型 今天就来详细整理一些代表性工作。

下图是VL-BERT论文中的比较图,就按这个表格的分类(Architecture) 整理这几篇论文吧。

首先是 BERT 的基础公式,不做赘述。所有的论文都是基于BERT做改装或者暴力组合的,如果按Architecture可以分为 「one single」「two single」 ,one single会把text和visual融合到一个模型中,two single是分别处理text和visual。

One Single

one single方法,会把text和visual融合到一个模型中。

VideoBERT

  • 论文:VideoBERT: A Joint Model for Video and Language Representation Learning

  • 地址:https://arxiv.org/abs/1904.01766

主要思路是改进 BERT 模型。从视频数据的向量量化和现有的语音识别输出结果上分别导出视觉帧token和语言学词 token,然后在这些 token 的序列上BERT。

值得注意的模型细节

  • 为了将BERT扩展到视频(这其实是8+篇里面暂时唯一做视频的paper),以便仍然可以利用预先训练的语言模型和可伸缩的实现进行推理和学习,作者首先将原始视觉数据(整个视频)成一个离散的图片帧 token序列,以得到“visual words”。

  • 文本和视频的语义对齐存在困难,因为即使在教学视频中,演讲者也可能指的是视觉上不存在的东西。解决方案:

    • 随机地将相邻的句子连接成一个长句子,以允许模型学习语义对应,即使两者在时间上没有很好地对齐。

    • 即使是相同的动作,状态转换的速度也会有很大的变化,所以作者随机为视频token选择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

  • 地址:https://arxiv.org/abs/1908.05054

应用领域是视觉问答中的检测到物体的文本融合,尝试通过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

  • 地址:https://arxiv.org/abs/1908.03557

改装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

  • 地址:https://arxiv.org/abs/1908.06066

网络结构和训练策略与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

  • 地址:https://arxiv.org/abs/1908.08530

在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。

Two Single

two single方法,分别处理text和visual两部分。

ViLBERT

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

  • 地址:https://arxiv.org/abs/1908.02265

两个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

  • 地址:https://arxiv.org/abs/1908.07490

三个编码器:一个对象关系编码器、一个语言编码器和一个跨模态编码器(是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.

总结

  • 单模型主要改进BERT的输入,双模型主要做co/cross的BERT。

  • 全图片只能预测特征,masked的精髓在于图片的局部区域,可特征可label。

  • 大规模,多任务的训练,多显卡高算力。

  • 下游任务丰富。

  • 个人偏向于单流模型,参数较少较轻便且端到端,性能不差