2020:MMFT-BERT: Multimodal Fusion Transformer with BERT Encodings for Visual Question Answering
摘要
我们提出MMFT-BERT来解决VQA,确保多个输入模态的单个和结合处理。我们的方法受益于分别采用BERT编码并使用一个新的基于transformer的融合模型处理多模态数据。我们的方法将不同模态分为具有相似结构的不同BERT实例,但权重可变。在TVQA中实现了SOTA结果。此外,我们提供了TVQA-visual,一种孤立的诊断子集,严格需要基于人类注释者的判断的视觉模态知识。这组问题帮助我们研究模型行为,以及TVQA不能超过人类表现的挑战。大量实验表明我们方法的有效性和优越性。
一、介绍
我们的方法从模态的单独处理开始,后期进行联合理解。我们使用单独的BERT编码器处理每个输入模态,命名为Q-BERT,V-BERT,S-BERT来处理问题、视频和字幕。每个BERT编码器接收一个问题和成对的候选答案的输入源,这很重要,因为我们希望每个编码器能够回答针对单个源输入的问题,因此,将问题和候选答案配对,使每个流通过使用问题单词和一个源模态之间的多头注意力机制来关注与问题相关的相关知识。然后使用一个基于transformer的融合机制来共同聚合每个输入源的聚合知识,学习获得一个共同编码。从某种意义上说,我们的方法使用两种级别的问题到输入的注意力:一种是每个BERT编码器中只选择相关的输入;另一种是在融合级别,为融合所有源来回答常见问题。我们在实验中表明,使用Q-BERT,一个单独的对于问题和答案的BERT编码器是有用的。
我们的贡献:(1)提出一种新的多流的端到端的可训练的结构,分别处理每个输入源,再通过特征融合聚合源特征。不是在输入到BERT前结合输入源,我们建议单独处理它们,并定义一个目标函数来联合优化多个BERTs。(2)提出一种新的多模态融合Transformer模块(MMFT),重新利用transformer来融合,我们是第一个使用transformer进行融合的。(3)我们分离了视觉问题的一个子集TVQA-Visual(问题只需要视觉信息来回答)。我们的方法在该子集上表明了每个输入流在提高性能方面所发挥的作用,还对该子集进行了详细分析。
二、相关工作
基于图像的问答
基于视频的问答:
表示学习:BERT已经证明使用自监督任务,如掩码语言建模和下一个句子预测任务的有效的表示学习。预训练好的模型可以用于多种监督任务,QA就是这样的一个任务。单流方法将视觉输入和文本带到类似BERT的基于transformer的编码器中,如VisualBERT,VL-BERT,Unicoder-VL,B2T2。双流的方法需要一个额外的融合步骤,ViLBERT和LXMERT对图像利用两种特定模态流。我们通过使用三种流来进一步实现这点,我们问题-答案对使用一个单独的BERT编码器,我们专门针对视频QA,除了使用预训练好的BERT外,不使用任何预训练。
三、方法
我们的方法允许每个流处理只需输入模态的问题。作为这个想法的一个化身,我们引入了带有BERT编码器的多模态融合Transformer(MMFT-BERT)以解决视频的VQA。图1是提出的MMFT模块,图2是整个结构。

图1,我们将输入模态作为一个序列来处理。[FUSE]是一个可训练的向量;hq0j、hv0j和hs0j是聚合的问答(QA)对、视觉概念和字幕上的固定长度特征。使用transformer编码器块,[FUSE]关注所有源向量,并根据每个输入源的重要性分配权重。对VQA的端到端培训使MMFT模块能够学习聚合输入源(这个问题的性质)。为了说明的目的,我们表明,对于单个头,MMFT从视觉源hv0j(绿色)中收集的知识比从QA和字幕中更多。

图2,Q-BERT、V-BERT和S-BERT分别表示文本编码器、视觉编码器和字幕编码器。如果hj=Q+Aj是第j个假设,那么Q-BERT取hj,V-BERT取视觉概念V+hj,S-BERT分别取字幕S+hj作为输入。每个BERT的聚合特性与特殊的载体[FUSE]连接,这是一个可训练向量,形成一个序列并输入MMFT模块(详细信息请参见3.2.4节)。每个答案选择的MMFT模块的输出被连接在一起,并被输入到一个线性分类器中以获得答案概率。我们优化单个BERTs,同时优化整个模型。损失表示我们用于训练所提出的架构的目标函数。在推理时,我们只从MMFT模块中获取的特征。
3.1 问题定式化
我们假设每个数据样本都是一个元组(V、T、S、Q、A、l),包括V:输入视频;T=[tstart,tend],即视频本地化的开始和结束时间戳;S: 输入视频字幕;Q:关于视频和/或字幕的问题;A:一组C答案选择,l:正确答案选择的标签。
给定一个同时有字幕和视频输入的问题,我们的目标是从C候选答案中选择正确的答案。TVQA对每个问题有5个候选答案。因此,它成为了一个5路分类问题。
3.2 BERT编码的多模态融合Transformer(MMFT-BERT)
3.2.1 Q-BERT
我们的文本编码器Q-BERT只接受QA对。问题与每个候选答案Aj配对,其中,j=0、1、2、3、4;|A|=C。BERT使用一个特殊的令牌[CLS]来获得输入序列的聚合特性,并使用[SEP]来处理单独的句子。因此,我们使用[CLS]标记对应的输出作为Q-BERT的聚合特征,使用[SEP]将问题和答案选择视为单独的句子。对文本编码器的输入I被表述为:

其中,+是连接算符,[CLS]和[SEP]是特殊标记,Q表示问题,Aj表示答案选择j,Iqj是进入Q-BERT的输入序列,表示问题和第j个答案的组合。我们使用一个预训练好的BERT实例来编码每个Iqj序列:

其中,[0]表示仅针对文本输入的聚合序列表示的索引位置。注意,输入序列的[0]位置为[CLS]。
3.2.2 V-BERT
我们将每个QA对与视频连接起来,以输入到我们的视觉编码器V-BERT。V-BERT负责处理视觉问题。将问题和候选答案与视觉概念配对,允许V-BERT提取与问题和配对答案选择相关的视觉知识。因此,对我们的视觉编码器的输入被表述如下:

其中,V是视觉概念2的序列2。“.”作为一个特殊的输入字符,Ivj是进入我们的视觉编码器的输入序列。

其中,[0]表示视觉输入的聚合序列表示的索引位置。
3.2.3 S-BERT
S-BERT编码器在每个QA对和字幕之间应用注意力,并为每个答案选择产生字幕和问题的聚合表示。与视觉编码器类似,我们也将QA对与字幕连接起来;输入是:

其中,S是字幕输入,Isj是进入S-BERT编码器的结果输入序列。

其中,[0]表示字幕输入的聚合序列表示的索引位置。
3.2.4 融合方法
设Ii∈Rd表示该输入模式的特征向量,总n个输入模式,即I1,I2,...,In,d表示输入维数。我们讨论了两种可能的融合方法:
简单融合:一种简单的融合方法是所有输入模式之间的哈达玛乘积,给出如下:

其中,hFUSE是进入分类器的结果多模态表示。尽管非常简单,但这种方法在融合多种输入模式方面非常有效。
多模态融合Transformer(MMFT):我们将Ii视为一个固定的d维特征,聚集在输入上的模式i。受BERT的启发,我们通过将来自多种模式的聚合输入特征连接在一起,将它们视为一个特征序列。我们连接了一个特殊的可训练向量[FUSE]作为该序列的第一个特征向量。与该特征向量对应的最终隐藏状态输出被用作表示为hFUSE的多种模式输入上的聚合序列表示。

其中,+是连接操作符,[0]表示聚合序列表示在所有输入模式上的索引位置。
在我们的例子中,我们有三种输入类型:QA对、视觉概念和字幕。对于输入i={1、2、3}和答案索引j={0、1、2、3、4},MMFT模块的输入为I1=hq0j、I2=hv0j和I3=hs0j,输出为hFUSE,表示对应于[FUSE]向量的隐藏输出。在这里,hq0j、hv0j和hs0j分别是我们从Q-BERT、V-BERT和S-BERT中获得的聚合输出。
3.2.5 共同分类器
假设每个元组(V、T、S、Q、Aj)都有一个假设,其中Aj∈A;j=0,..,4表示5个答案选择,我们提出的transformer融合模块输出hFUSEj∈Rd。我们将所有答案的聚合特征表示连接在一起,并将其发送到一个联合分类器,以生成5个答案分数,如下:

其中,hfinal∈RC·d和scoresjoint∈RC,C表示类数。
3.3 目标函数
随着联合优化,Q-BERT、V-BERT和S-BERT都使用单层分类器进行优化,每个分类器使用专门的损失函数。因此,我们的目标函数由四个损失项组成:每个损失项分别优化每个输入编码器Q-BERT、V-BERT和S-BERT,以及使用结合的特征向量进行分类的联合损失项。最终目标函数的公式如下:

其中,Lq、Lvid、Lsub和Ljont分别表示仅有问题、视频、字幕和损失的联合损失;所有损失项均使用softmax交叉熵损失函数计算。使用Ltotal对模型进行端到端训练。
四、数据集
在TVQA中,每个问题(Q)都有5个答案选择。它由152K的QA对和21.8K的视频片段组成。每个问答对都提供了本地化视频V来回答问题Q,即开始和结束时间戳被注释。为每个视频剪辑也提供了字幕S。
4.1 TVQA-Visual
为了研究最先进的模型在正确回答问题只需要视觉信息的问题上的行为,我们选择了236个这样的视觉问题。由于对象检测标签的缺陷,这些问题中只有大约41%有足够的视觉输入可用。因此,我们在两种设置下参考TVQA-Visual:TVQA-Visual(full):-完整的236个问题。一个人工注释者仔细查看了视频,以确保原始视频足以不使用字幕就能回答这个问题。TVQA-Visual(clean):这是96个问题的子集,其中相关的输入是可用的,但模型的性能很差。对于这个子集,我们依赖于一个人类注释者的判断,他证实了直接相关的视觉概念或暗示正确答案的概念都存在于检测到的视觉概念列表中。例如,如果正确的答案是“厨房”,“厨房”或相关的概念(例如。“炉子”、“盘子”、“玻璃”等)应该出现在视觉概念的列表中。因此,这个更容易的子集被称为TVQA-Visual(clean)。TVQA-visial虽然很小,但是一个诊断视频数据集,用于系统评估时空问答任务的计算模型,并将有助于寻找使v流贡献更有效的方法。根据失败原因提出的视觉问题的分发情况见补充材料。如果一个模型正确地回答了不“clean”的TVQA视觉问题(视觉输入中缺少相关概念),这是由于数据中的统计偏差。
五、实验和结果
5.1 基线
LSTM(Q):LSTM(Q)是一个编码问题和回答选择的BiLSTM模型。从问题和每个答案的LSTM的输出是被连接并被输入到一个5路分类器来输出5个回答概率分数。
MTL:MTL对VQA任务使用两个辅助任务:时间对齐和模态对齐。
Two-stream:使用两个独立的流进行基于注意力的上下文,将每个输入模式与问题和候选答案进行匹配。随着时间的推移,具有最大池化的BiLSTM用于聚合结果序列。
BERT:一个预先训练过的BERT实例在QA对以及视觉概念和字幕上一起完成(Q+V+S)。
STAGE:(Leietal.,2019)使用力矩定位和对象接地,以及QA对和字幕。 STAGE使用BERT特征对文本和视频的时空特征进行编码。
WACV20:(Yangetal.,2020)将字幕和视觉概念与QA对连接起来,并输入到BERT,以及Q+V和Q+S的晚期融合。
5.2 MMFT-BERT
对于视频表示,我们通过(Leietal.,2018)使用检测到的属性对象对作为视觉特征(Leietal.,2018)提供。我们遵循(Leietal.,2018),只保留唯一的属性-对象对。QBERT、V-BERT和S-BERT用在用掩码语言建模任务的小写英语文本上预先训练的BERTBase进行初始化。MMFT使用多头注意力的单transformer层,我们在MMFT模块中使用12头(H=12)进行多头注意力,作为我们的最佳模型。我们用随机权值初始化MMFT模块。与[CLS]标记对应的d维隐藏特征输出被用作每个BERT的聚合源特征。我们将每个候选答案的这些聚合特征连接在一起,以获得大小为5·d的特征。然后使用5路分类器对Q-BERT、V-BERT和S-BERT进行优化。对于联合优化完整的模型,我们将编码器的输出视为具有[[FUSE]、hq0j、hv0j、hs0j]顺序的特征序列,并将其输入到MMFT模块([FUSE]是一个可训练的d维向量参数)。与[FUSE]令牌对应的输出被视为答案j的所有输入模式上的累积表示hFUSEj。我们为每个答案选择连接hFUSEJ,以获得联合分类的hfinal。我们学习四个线性层,分别在三个输入编码器和MMFT编码器的顶部各有一个。因此,每个线性层需要一个(5.d)维的输入,并产生5个预测分数。
5.3 结果
带有时间戳注释(w/ts):表1中有w/ts的列表示具有时间戳本地化的输入结果。当我们使用本地化的视觉概念和字幕时,始终能得到更好的结果。通过对Q+V和Q+V+S输入的简单融合,我们比WACV20(Yangetal.,2020)分别提高了1.7%和0.65%。当使用MMFT融合时,我们的方法在所有三种输入设置下都实现了SOTA性能:Q+V(↑2.41%)、Q+S(↑0.14)和Q+V+S(↑1.1%)。我们的融合方法有助于提高性能,并为本地化输入给出最好的结果。详见表3和图3。

没有时间戳注释(w/o ts):我们也在完整长度的视觉特征和字幕上训练我们的模型。我们的简单融合和Q+V输入上的简单融合和MMFT方法比简单融合和MMFT的双流(Leietal.,2018)分别高出6.49%和5.59%,没有时间戳的字幕是非常长的序列(49%的字幕比长度为256的字幕长),因此QA对可能会被截断。因此,我们在没有时间戳的情况下重新排列输入如下:Q[SEP]Aj.V”和“Q[SEP]Aj.S”分别为V-BERT和S-BERT。具有Q+S输入的模型使用最大seqlen=512进行训练,而Q+V+S模型由于GPU内存的约束,使用最大seqlen=256进行训练。对于Q+S和Q+V+S,我们观察到69.92%和65.55%的简单融合,使用MMFT产生69.98%和66.10%的验证集的精度。
在测试集的结果:TVQA测试公共集不提供答案标签,并且需要将模型的预测提交给评估服务器。只允许进行有限的尝试。服务器的评估结果如表2所示。MMFT提高了Q+V的结果(↑6.39%)。对于Q+V+S,WACV20报告了与MMFT不同的输入排列的准确率为73.57%。与输入相同的模型相比,MMFT的性能略好一些(↑0.17%)。由于提交到测试服务器进行评估的机会有限,Q+V+S报告的准确性来自我们早期的模型之一,而不是来自我们的最佳模型。

5.3.1 模型分析
在TVQA-Visual上的表现分析:在表4中评估了Two-stream、WACV20、和我们的模型在TVQA-Visual(full)和TVQA-Visual(clean)。

TVQA-Visual(full):我们的方法比双流(Leietal.,2018)好了10.08%,但与WACV20相比下降了0.43%(Yangetal.,2020)。TVQA-Visual(full)有大约59%的问题缺少视觉概念或需要额外的视觉知识。包括我们在内的所有三种模型都接受了视觉概念方面的训练。因此,输入不足,使得模型难以关注缺失的信息。
TVQA-Visual(clean):我们观察到,与双流和WACV20相比,clean组(↑11.46%)和(↑4.17%)的改善。TVQA-Visual(clean)与输入中出现的答案有相关的视觉概念或相关的概念。然而,现有的方法(包括我们的方法)表现良好是具有挑战性的。虽然我们的模型观察到这个实验的基线显著改善(↑4-11%),但消除信息是这是不够的。因此,TVQA的这个子集为研究在多模态QA任务中利用视觉特征的进展提供了一个很好的诊断基准。图4在TVQA上可视化每个流在TVQA-Visual clean上的测试性能——在TVQA上训练Q+V模型上的期间。

性能分析w.r.t多模式注意:我们研究了MMFT模块聚合多模态源输入(Q、V和S)的行为,我们采用在所有三个来源上进行训练的最佳模型,并在需要了解视觉世界、对话或两者兼有的问题上进行评估。然后,我们可视化了每个候选答案的MMFT模块(H=12)中所有头部的平均注意力得分图,见图5。前2行显示了在所有3个输入源中计算出的注意力得分和视觉问题的[FUSE]向量。因为,[FUSE]是在所有输入模式上的聚合输出。例如,如果问题是关于视觉世界的,视觉部分应该贡献更多。我们可以看到正确答案的注意图在V和[FUSE]向量之间有很高的注意分数,错误的答案涉及到错误的消息来源(Q或S)。第3-5行的行为也是类似的,其中的问题是关于字幕的,与不正确的答案相比,正确的答案赋予了字幕最大的权重。错误答案的热图要么更关注错误的单个输入源,要么是它们的组合。

V-BERT的位置编码:位置编码是在BERT内部完成。当确定时,对于V-BERT,位置编码没有影响。这已经通过用简单融合(Ours-SF)训练我们的Q+V模型得到验证,其中V-BERT的输入是一个打乱的对象序列;没有观察到显著的差异(打乱:50.32%与未打乱:50.65%)。
5.3.2 消融

简单的融合vs.MMFT:虽然使用简单的融合来组合多模态输入非常有效,并且已经优于所有的基线,但它缺乏可解释性的基本功能。使用MMFT不仅使我们比简单融合的改进(Q+V↑0.71%,Q+V+S↑0.39%),而且更容易解释。
单一损失vs.多重损失:一个简单的设计选择可以是只使用联合损失,而不是多重损失术语。然而,通过我们的实验,我们发现使用单个联合损失项会损害性能(71.82%)。即使不使用MMFT,联合优化每个BERT和优化完整的模型也能得到最佳的结果(73.10%)。
单头vs.多头MMFT:为了知道简单性(单头)是否比使用多头注意力有优势,我们用H=1训练了MMFT-BERT。使用单个头部注意融合的表现始终低于使用多个头部(72.66%vs.73.55%)(我们设置了H=12)。我们的假设是,由于预先训练过的BERT有12个头,每个源BERT内的注意力都是局部的(dmodel/H)。使用单头注意到那些以多头方式出现的特征可能会损害从每个模态编码器中产生的特征。因此,如果输入编码器使用局部注意来关注输入序列,那么在MMFT内部保持局部注意更有意义。
单层融合vs.堆叠融合:另一个设计参数是MMFT中的#编码器层(L)。我们用三种设置训练了我们的完整模型:a)单个编码器层L=1,b)堆叠编码器层L=2,c)具有跳过连接的堆叠编码器。a)给出最佳结果(73.55%),而b)和c)融合损伤(72.61%和72.62%)。请注意,我们的模型的所有变体在性能上都略优于我们的基线方法。
ResNet特征vs.视觉概念:为了研究合并额外的视觉背景是否有利,我们使用Resnet101特性进行了视觉信息的实验。我们使用了Resnet101特性,随着时间的推移与视觉概念一起汇集。我们使用问题单词到区域的注意力来聚合视觉特征;将这个聚合的视觉特征添加到我们的sf中会影响性能(71.82%);在其他各种实验设置中,使用对象标签始终比视觉特征更有用。
六、总结
我们的VQA方法使用多个BERT编码,用一种新的融合机制分别处理每个输入类型,并将它们合并在一起。我们重新使用transformer,以使用不同输入源之间的注意力,并聚合与被问的问题相关的信息。我们的方法在Q+V上优于最先进的方法,∼为2.41%,在TVQA验证集上的Q+V+S上的∼为1.1%。我们提出的融合为重新考虑在特征维度上的多模态数据融合的transformer奠定了基础。
