跨界出圈 | 谈谈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
arxiv访问不方便的同学后台回复『0025』直接获取论文
主要思路是改进 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
arxiv访问不方便的同学后台回复『0026』直接获取论文
应用领域是视觉问答中的检测到物体的文本融合,尝试通过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
arxiv访问不方便的同学后台回复『0027』直接获取论文
改装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
arxiv访问不方便的同学后台回复『0028』直接获取论文
网络结构和训练策略与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
arxiv访问不方便的同学后台回复『0029』直接获取论文
在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