崔朝阳,江爱文,陈思航,刘长红,王明文
(江西师范大学 计算机信息工程学院,江西 南昌 330022)
近年来,随着计算机视觉和自然语言处理技术的深度融合,跨模态交叉任务诸如图像描述[1]、视觉问答[2-3]、视觉故事生成[4]、视觉对话[5]等,备受研究者们关注,成为多模态智能信息处理领域的研究热点。
本文主要研究视觉对话(Visual Dialogue)任务。该任务是对单轮视觉问答(VQA)的拓展,要求机器人具有模仿人类认知复杂场景的思维方式,具备图像识别、关系推理与自然语言理解三大能力,能够为更为复杂的多轮问答进行推理。因此,视觉对话研究可以帮助人工智能迈上新台阶,在未来诸多人机互动场景中有着广泛的应用潜力。
当前视觉对话任务的形式主要以针对图像内容持续会话为主,如图1所示。机器人能够依据给定视觉图像和当前的文本信息进行选择、判断、回答,并且经过连续多轮的问答过程形成对话信息。这要求机器人能够从视觉知识(图像)和文本知识(对话历史)中自适应地检索出有价值的信息来回答当前问题。因此,如何随着会话情景动态调整视觉目标与语义的关联,充分有效地融合任务所涉及的多模态信息,便成为当前研究的重点。
图1 视觉对话示例
当前主流模型在信息融合和推理方面的设计上主要有基于注意力机制的信息交互模型、基于图结构与图神经网络的模型,以及基于大规模预训练的模型三大类。
在基于注意力机制的信息交互模型中,大部分模型选择采用GloVe静态词向量作为词嵌入方法。静态词向量表示的缺点是,不能在词嵌入时根据上下文语义信息去自适应地调整每个单词的词嵌入表示信息。同时,大部分的基于注意力机制的信息交互模型,在语义信息融合粒度方面没有较为全面地兼顾单词级别和段落级别信息的融合,存在一定的局限性。例如,与本文最相关的LTMI模型[6]基于轻量级的Transformer架构,被广泛应用于视觉对话任务中,虽然其能够高效整合视觉对话中的多个特征,在模型答案排序质量上具有优秀表现,但其仅融合了对话历史的段落(句子)级别的表示,性能有进一步提升空间。
基于图结构与图神经网络的模型的语义推理过程有利于多模态语义关系的学习,但模型的图节点数目会根据对话历史的变化动态增加,节点隐藏状态采用迭代更新方式,算法效率有待提升。
基于大规模预训练的模型大大提高了视觉对话任务的性能。但在应用时,下游任务难以修改其模型结构。因此,此类方法在算法灵活性方面稍有欠缺,且模型训练收敛速度慢,在单一训练数据集的视觉对话任务中的表现往往不如基于注意力机制的信息交互模型。
本文贡献主要包括以下几个方面:
(1) 以轻量级模型LTMI为基础,引入BERT预训练模型,通过跨模态注意力堆叠学习机制实现了不同语义粒度信息的层次化深度融合。模型的跨模态嵌入特征可以随模型训练动态更新,提升了模型的学习灵活性。
(2) 模型借鉴BERT预训练模型的多任务训练过程,组织模型训练的文本序列微调数据集,以自监督方式有机结合了BERT预训练模型和多头注意力机制的优势,实现跨模态特征学习。
(3) 模型在视觉对话公开数据集VisDial v0.9和VisDial v1.0上与主流先进算法进行了比较。本文模型在保证对话回复预测的精准性的基础上,提升了算法的泛化能力,取得了较为优越的性能。
本文主要侧重于回顾主流模型在多模态信息融合编码方面的工作。当前主流方法分别有基于注意力机制的信息交互模型、基于图结构与图神经网络的模型,以及基于大规模预训练的模型等。
早期工作,如Das等人[5]提出的后融合(Late Fusion,LF)、层次化循环编码(HRE)、记忆网络(Memory Network, MN)等基本模型,主要侧重实现单模态基于问题相关度的历史对话加权聚合。CoAtt[7]使用连续的协同注意力,专注于图像的特定区域和对话历史的片段。
为了解决视觉会话过程中的共指消解等问题,CorefNMN[8]显式地在词级别上建立细粒度的指代池(Reference Pool)。RVA[9]设计了递归视觉注意力算法,通过递归检查历史对话框来推断共同指代关系。在回溯查询的过程中,问题使用词级别自注意力加权来表示。
随着技术的深入,研究者们意识到多模态信息的充分融合以及多步推理过程有利于提升回答的精准性。Chen 等人[10]提出双通道多步推理模型DMRM来丰富问题表示,以便针对问题,更好地生成高质量的回复答案。Agarwal 等人[11]提出的调制互注意力模型MCA使用Transformer融合问题与视觉、问题与对话历史的信息。Lin等人[12]认为异构信息融合顺序的不同可能会导致源问题关键内容的混淆,最终会使得答案预测不准确。因此,他们提出了HESNet,以并行和自适应的方式处理异构信息。Jiang等人[13]提出带有记忆的自适应解码器来存储相关的对话历史和视觉特征的状态,引入推敲模块和放弃模块处理回答的重复词语,用来减少回复中重复的单词,并包含更多细节信息。与本文最为相关的LTMI[6]模型,采用轻量级Transformer结构来处理不同信息之间的交互关系,但该模型仅融合了对话历史的段落(句子)级别的表示。
随着图结构和图神经网络的发展,Schwartz 等人[14]提出因子图注意力模型FGA,将图像的区域视觉特征、图像描述、对话历史轮次的问答对及候选答案集合作为图节点,通过消息传递机制,估计候选答案的概率分布。Zheng等人[15]更加注重学习图像、问题和历史之间的内在关系,提出了一种可微分的图神经网络模型来学习历史对话之间的隐藏关系。Jiang 等人[16]提出了双向编码模型DualVD,从视觉和语义两个维度刻画视觉对话任务。Guo等人[17]提出上下文感知图CAG,通过上下文感知的关系推理实现了跨模态语义理解。Jiang等人[18]提出一种基于查询自适应检索信息的KBGN模型。该模型用当前问题作为查询,在视觉和文本知识引导下搜索相关信息,使用图神经网络对跨模态关系进行细粒度建模。Chen等人在LTMI模型的基础上,提出了LTMI-GOG模型[19],学习带有关系的各模态特征表示。Zhang 等人[20]发现图式知识更注重知识实体之间的关系,但是在获取语义级信息方面能力有限。语义级或图级的单一结构知识可能无法满足可视化对话任务的独特需求。因此,他们在LTMI的基础上利用图神经网络的推理能力对多结构知识进行推理,提出了LTMI-RMK模型,以提高模型预测的可解释性和性能。总的来说,基于图模型结构的语义推理过程有利于学习多模态语义之间的关系,但在连续对话过程中,图节点数目会根据对话历史的变化动态增加,同时由于图网络学习过程采用迭代方式更新节点隐藏状态,所以算法效率有待提升。
随着预训练模型的兴起,研究人员开始利用预训练模型,例如,BERT[21]探索视觉对话任务。其中,VisualBERT[22]和 VDBERT[23]利用大规模额外数据集通过预训练模型在视觉对话中进行探索,大大提高了视觉对话任务的性能。UniMM[24]在VisualBERT的基础上,采用多种微调方法来生成答案,VD-PCR[25]同样使用大规模预训练模型进行微调,通过利用代词共指来过滤不相关的历史信息。随着大规模预训练模型的不断发展,在视觉对话任务中表现出了进一步的卓越性,并且给未来的发展提供了另一种优秀的解决思路。
本节将重点阐述本文所提出的模型。如图2所示,整个模型使用多任务共同训练,生成每轮对话问题的答案。模型采用Transformer作为基础注意力机制对跨模态特征进行交互注意力操作,通过堆叠多层Transformer使各模态信息达到充分融合。模型借鉴了预训练模型任务中经典的NSP(Next Sentence Prediction)和MLM(Masked Language Modeling)任务来进行对视觉对话任务的训练。具体地,首先通过NSP模块的训练来判断上下文句子是否匹配,然后通过MLM模块的训练来生成遮盖的真实信息,根据句子中单词的依赖关系对句子进行填充。
图2 模型整体框架图
在视觉对话任务中,预处理信息包括视觉内容和文本内容。其中,文本内容包括当前问题和对话历史。因此,模型首先需要完成视觉内容和文本内容的嵌入工作。
2.1.1 视觉特征嵌入
给定一张图像I,采用“自上而下”图像区域编码,提取图像区域特征,表示为:
I={Oi|i=1,…,N,Oi∈d}
(1)
其中,Oi表示第i个区域的图像特征,N表示所检测图像区域的总个数,d表示每个图像区域特征的维度。
本文采取传统的做法,选用Faster R-CNN作为图像视觉区域提取的基础方法。根据经验,N=36,d=2 048。
在这里,每个图像区域代表了图像局部语义信息。特别地,为后续多头注意力学习过程,引入特殊Token“[IMG]”作为图像全局综合语义信息。
2.1.2 文本特征嵌入
基于双向Transformer编码器的语言模型(Bidirectional Encoder Representation from Transformers, BERT),可以在词嵌入时根据上下文的语义信息自适应地调整每个单词的词嵌入表示信息,从而可以在不同的上下文信息中得到不同词语的词嵌入表达,可以更好地捕捉到整个语句中的双向语义关系信息。因此,本文在提取文本特征时,没有沿用基于Glove[25]的词向量嵌入,再通过双向长短时记忆网络(Bi-directional Long Short Term Memory Network, BiLSTM)进行编码的传统方式,而是采取 BERT模型作为文本特征嵌入的基本方法。如图3所示,BERT的典型输入特征由词嵌入(Token Embeddings)、段落嵌入(Segment Embeddings)和位置嵌入(Position Embeddings)三者相加而成。
图3 BERT典型的输入特征嵌入
在处理对话历史时,本文注意到对话内容具有一定的延续性和局部相关性,即与当前问句所涉及的细节内容最为相关的、最有可能是最近轮次的问答所谈到的内容。过多地关注比较久远的对话历史细节反而可能会引入噪声干扰。因此,模型在回答第t轮问题时,仅考虑使用第t-1轮次的问答对内容来构建训练序列。特别地,当模型回答第一个问题时,用文本标题来代替历史问答对信息。
在本文模型中,多头注意力机制是跨图像与文本两个模态特征融合的主要结构。多头注意力机制的基本形式如式(5)~式(8)所示。为了不至于混淆,我们沿用了Transformer模型中自注意力机制的符号Q(Query),K(Key),V(Value)。
(5)
(6)
Multi(Q,K,V)=[head1,head2…,headi]WO
(7)
AM(Q,K,V)=Multi(Q,K,V)
(8)
多头注意力机制主要实现从源特征X到目标特征Y的相关信息搜索,如式(9)所示。当源特征X和目标特征Y相同时,我们称之为自注意力机制,进行残差连接和归一化操作如式(10)所示。
在本文,模型每完成一次自(互)注意力操作,需对特征进行残差连接和归一化操作,如式(11)所示。
Z←LayerNorm(GELU(ZW+1M⊙bT)+X)
(11)
我们将式(9)~式(11)所表达的注意力过程用式(12)统一表示。
Z=Attention(X,Y,Y)
(12)
2.3.1 多层文本特征自注意力阶段
我们首先选择利用多层自注意力机制发掘文本特征。通过强化文本序列中单词的重要信息,为下一步跨模态特征融合提供准备,如式(13)所示。每一层完成文本自注意力操作后,特征需进行残差连接和归一化操作。其中,S0为经过BERT模型嵌入表示后的文本特征S。
Sl+1=As(Sl)=Attention(Sl,Sl,Sl)
(13)
其中,l=1,…,L。根据预训练模型经验,我们选择本阶段的层数L=6。
2.3.2 多层跨模态交互注意力阶段
当文本特征经过L层自注意力操作后,接下来,通过多层交互注意力(Co-attention)来实现与图像嵌入特征的跨模态融合。
具体地,为符号表达的统一,跨模态融合的层次序号延续文本特征自注意力阶段的层数。因此,在第j={L,L+2,…,L+N}层,交互过程如式(14)、式(15)所示。
其中,跨模态融合初始输入为SL和IL。SL为文本自注意力阶段的输出,IL为图像经过FasterR-CNN提取的嵌入特征。根据预训练模型经验,本文选择本阶段的层数N=6。
每当两种特征经过一次交互注意力融合后,再分别进行一次自注意力操作,如式(16)、式(17)所示,加强它们各自所学习得到的重要特征信息。
模型借鉴了预训练模型中经典的NSP(Next Sentence Prediction)和MLM(Masked Language Modeling)任务来对视觉对话任务进行训练。
与BERT中的MLM相似,我们选择15%的文本序列单词被随机遮盖,并采用“[MASK]”替换被遮盖的单词。被遮盖的单词记为“Wm”。模型根据被遮盖信息的周围文本Wm和图像信息I对被遮盖的单词进行恢复。在训练学习时,“Wm”和“Wm”输出特征对应Sf中相应位置的文本特征。
本模型的MLM任务计算预测词汇和原始词汇的交叉熵损失,损失函数如式(18)所示。
LMLM=-E(S,I)~TlogP(Wm|Wm,If)
(18)
其中,Wm是被遮盖的词,T代表训练数据集。
与BERT模型的原始NSP任务训练出发点略有不同,在本文模型中,借鉴NSP损失函数的目的是,基于文本特征“[CLS]”与图像特征“[IMG]”跨模态点乘融合后,判断输入文本序列中的候选答案是否正确。模型NSP的交叉熵损失函数如式(19)所示。
LNSP=-E(S,I)~TlogP(y|[CLS],[IMG])
(19)
其中,yi∈{0,1}作为训练任务的监督标签,对应前述数据集输入序列的划分(正确答案序列和错误答案序列)的标签。
本文所有的实验均在RTX 3090 GPU上和基于Pytorch深度学习的框架中实现。
在实验过程中,选取基于Faster-RCNN提取的置信度得分排名前36的图像区域作为视觉信息。图像区域的特征维度为2 048。在多头注意力学习阶段,图像特征的维度线性变换到1 024。
问题和对话历史问答对的最大单词长度分别设置为20和40,标题长度设置为40。文本单词的特征维度设置为768。多头注意力机制的头(head)数设置为8。模型训练批次大小设置为32。模型采用Adam[26]优化器进行优化训练,初始学习率为0.000 01。实验迭代次数设置为40。
受项目组计算资源的实验条件限制,BERT原始预训练模型只在VQA数据集上进行了跨模态参数微调,然后再用于本文视觉对话任务的训练。
本文使用公开数据集VisDial v0.9和VisDial v1.0进行实验,图片数据与COCO数据集[27]对应。
VisDial v0.9的训练集和验证集分别包含了82 783和40 504张图片。VisDial v1.0数据集包含了123 287张训练图片(1),2 064张验证图片,8 000张测试集图片。在两个数据集的训练集和验证集中,每幅图片均包含1个图片描述,10轮对话过程。其中,每个问题有100个候选答案。
本文所采用的评估指标主要包括以下4种。
(1)归一化折损累计增益(Normalized Discounted Cumulative Gain, NDCG)在视觉对话任务中,该指标首次运用在VisDial v1.0数据集中。
NDCG主要用于度量排序模型在返回结果时的准确性和相关性,不仅考虑了排名靠前的候选答案的质量,还考虑了排名的位置和折扣系数的影响。因此,NDCG能更加全面和准确地评估模型的性能。当NDCG指标高时,表示模型在生成回复时更能够满足用户的信息需求,提供更相关和更有用的回复,更能反映视觉对话的质量和效果。NDCG能够正确有效地处理经常发生的、问题可能都有多个正确答案的情况,例如,“yes,it is.”和“yes”。因此,能更好地反映模型的泛化性。
(2)平均倒数排名(Mean Reciprocal Rank, MRR)MRR主要评估模型回答的精确性,对答案选择的准确性进行排序。在判别式视觉对话任务中,适用于评估模型搜索正确答案的性能。MRR指标高,通常意味着模型在生成回复时能够更准确地预测用户期望的答案,并将其排在候选答案的前面,反映的是模型答案选取的精准性。
(3)召回率(R@K,K=1,5,10)R@K是指前top-K结果中检索出的相关结果数和候选集中所有的相关结果数的比率。
(4)正确答案的平均排名(Mean)记录正确答案出现的位置, 并计算平均排名位置。排名值越小,意味着答案出现的位置越靠前。
本文与当前主流先进算法,例如,CoAtt[7],CorefNMN[8],RVA[9],FGA[14],DualVD[16],LTMI[6],HESNet[12],CAG[17],KBGN[18],LTMI-GOG[19],VisualBERT[22],VDBERT[23],LTMI-RMK[20]等进行了比较。各种模型在VisDial v0.9验证集上的实验结果如表1所示。其中,“MTMC-BERT”代表本文模型。
表1 在VisDial v0.9 (val)数据集的实验结果
从表1可以看到,本文模型MTMC-BERT在VisDial v0.9数据集上取得了更好的结果,超过了所比较的其他模型。特别地,相比较本文的基线模型——LTMI模型,MRR指标从66.41上升到了新的水平68.21,R@K也总体平均上升了约1.8。 正确答案排名Mean则成功地从4.03降到了3.47,说明了本文模型具备较好的答案预测的优越性。
本文在最新的VisDial v1.0数据集上进一步与基准模型和其改进模型进行了比较。其中,在v1.0验证集上的比较结果如表2所示。
表2 在VisDial v1.0 (val)中基准模型及其改进模型的实验结果
在验证集上,我们首先比较了本文模型MTMC-BERT、基准模型LTMI和基于LTMI改进的两个模型。不难看出,本文模型依然取得了较为优越的性能。在大部分指标上均有大幅性能提升,并且模型的平衡性更加优越。
本文继续在VisDial v1.0数据集的验证集上与主流基于预训练模型的方法进行了比较,结果如表3所示。
表3 在VisDial v1.0 (val)中基于预训练模型的实验结果
由于VisDialBERT不仅在VQA数据集上进行了预训练,而且还在其他外部大规模数据集上进行了预训练,如概念字幕(Conceptual Captions)数据集。由于该模型并没有在两个预训练数据集上开源提供他们的预训练权重,只在VisDial v1.0数据集上发布了他们的最佳模型。因此,为公平比较,本文只使用了其在VQA数据集上实际预训练的结果。
我们在VisDial v1.0的测试集(Test-std)上与主流模型进行进一步的比较,实验结果如表4所示。相比基准模型LTMI,本文模型MTMC-BERT在所有指标上均取得大幅上升。相比于其改进版本,如LTMI-GOG模型和最新的LTMI-RMK模型,本文模型MTMC-BERT在大部分指标上也取得了较好的效果。MTMC-BERT◇代表在密集注释(Dense Annotation)数据集中进行模型微调所得到的效果。
表4 在VisDial v1.0 (test-std)的实验结果
综合表3和表4的实验结果可以看出,对于衡量模型泛化性能的NDCG指标而言,本文模型具备较大的优越性。本文模型引入了预训练模型实现多语义粒度的信息融合,在保证模型预测精准性的基础上,提升了模型的泛化能力。
为了验证本文模型的各个主要模块的有效性,我们在VisDial v1.0的验证集上进行了多项消融实验,结果如表5所示。
表5 在VisDial v1.0 (val)的消融实验
消融实验一“NSP”: 在训练MTMC-BERT模型时,不考虑MLM任务,仅采用了单独的NSP任务。从表5可以看出,模型在精确性(MRR)和泛化性(NDCG)指标上均同步发生了性能下降。
消融实验二“MLM+NSP+IMG”: 模型在进行MLM训练任务时,不仅对文本特征进行遮盖,同时也按15%对图像区域进行遮盖。从表5可以发现,添加对图片特征的遮盖后,模型泛化性大幅下降,甚至其他各个指标均下降较大。
消融实验三“w/o Pretrain”: BERT模型直接选用原始预训练模型参数“bert-base-uncased”,不通过跨模态数据集VQA进行上游跨模态任务的预训练参数微调,直接应用于本文视觉对话任务。从表5发现,对上游任务数据集的预训练可以大幅提高模型在下游任务中的各个指标。
我们注意到近期ChatGPT风靡人工智能领域,但只能理解文字或多或少限制其才华的发挥。BLIP2[29]是目前最新、性能最优的多模态大模型。为了能够较为直观地看到实验示例,图4展示了与基准模型LTMI、BLIP2的对比示例,图5展示了更多实验结果。其中,斜体代表了预测答案正确,用下划线标注表示了模型对答案的预测错误。需要说明的是,受限于实验可用的计算资源,我们直接调用BLIP2公开API(2)https://replicate.com/andreasjansson/blip-2进行对比。
图4 与基准模型LTMI、大模型BLIP2的对比示例其中,“A*”为数据集真实答案,“prediction”为本文模型预测结果。
图5 部分实验结果的可视化展示其中,“A*”为数据集真实答案,“prediction”为本文模型预测结果。
在图4和图5结果中,对于多模态视觉对话任务,即使是当前最优的BLIP2模型也未能表现出明显的优越性。所提模型在大部分判断性问题中均取得了较好效果。即使在与标准答案不完全对应(即红色部分)的情况,图4的第二行第二列示图的预测答案“no”和标准答案“no,t-shirt”,以及图5的第二个示例中,预测答案“not sure”和标准答案“can’t tell, not outside”,本文预测的答案和标准答案在语义上是相通的。
当遇到图像中线索不明确或不存在的情况,本文模型预测的回答也会出现不太符合数据集真实答案的现象,如图4的左上图中预测回复“it is brown”。但BLIP2模型也没能正确回答。这说明多模态视觉任务任重道远。当前模型对于需要准确理解视觉内容再进行限定性回答的任务还有待后续进一步深入研究。
如何充分有效地融合任务所涉及的多模态信息是当前视觉对话技术主流研究的重点。本文针对模型的语义信息融合粒度、算法学习灵活性等问题,提出了基于BERT模型的多层语义粒度视觉对话算法。算法以轻量级模型LTMI为基础,引入BERT预训练模型,并借鉴其多任务训练过程,实现跨模态特征学习。模型的跨模态动态嵌入过程提升了模型学习的灵活性。在视觉对话公开数据集VisDial v0.9和VisDial v1.0上与主流先进算法,重点与LTMI 及其改进版本进行了比较,结果表明,本文模型在保证对话回复预测精准性的基础上,进一步提升了算法的泛化能力,取得了较为优越的性能。