Abstract
视觉问答(VQA)要求同时理解图像视觉内容和自然语言问题。在某些情况下,推理需要常识或一般知识的帮助,这些知识通常以文本的形式出现。当前的方法将视觉信息和文本特征共同嵌入到同一空间中。然而,如何模拟两种不同模式之间复杂的相互作用并不容易。与多模态特征融合的努力相反,本文提出用自然语言统一所有输入信息,从而将VQA问题转化为机器阅读理解问题。通过这种转换,不仅可以处理侧重于基于观察的问题的VQA数据集,还可以自然地扩展到处理需要探索大规模外部知识库的基于知识的VQA数据集。这是朝着能够利用大量文本和自然语言处理技术来解决VQA问题迈出的一步。针对开放式VQA和多项选择VQA,提出了两种模型。我们在三个VQA基准上评估我们的模型。与现有技术的性能对比证明了该方法的有效性。
1. Introduction
作者认为在某种程度上,VQA与文本问答任务(TQA,也称为机器阅读理解)密切相关,它要求机器根据给定的文本段落回答问题。TQA的输入都是纯文本,而VQA必须将图像的视觉信息与问题的文本内容结合起来。一方面,图像比文本具有更高的维度,缺乏语言的结构和语法规则,增加了语义分析的难度。另一方面,该算法必须联合嵌入来自两种不同形式的视觉和文本信息。
不同于探索高维和噪声的图像特征来推断答案,作者采用自然语言来明确地表达图像。与图像特征相比,自然语言代表了更高层次的抽象,并且充满语义信息。通过这种转换,所有输入都被转换成文本,避免了图像和文本特征共同嵌入到隐藏空间中。相反,多模态融合是在文本域中进行的,这对于明确地保留语义信息更好,这是VQA的核心关注点。此外,通常由文本描述的外部知识可以很容易地集成到模型中。通过在文本领域中使用注意机制,所提出的模型能够提供语义级(即文本)支持事实,从而使推理过程更具可解释性.
作者的贡献如下:
- 提出了解决VQA问题的新思路。没有整合来自不同模态的特征向量,而是用自然语言明确地表示图像内容,并将VQA作为阅读理解来解决。因此,可以借助NLP社区丰富的研究成果来处理VQA问题。使用文本和自然语言处理技术可以方便地获取更高层次的信息,并使学习从TQA模式转移到VQA模式成为可能。文本数据比图像更容易收集。可以利用大量文本来理解图像、动作和命令。
- 提出了两种类型的VQA模型来分别解决开放式VQA和多选择VQA问题。基于转换后的文本描述和模型中使用的注意机制,可以从上下文中检索支持事实的语义层,这使得答案推断过程是人类可读的。所提出的模型在三种不同类型的VQA数据集上显示了与当前技术水平相当的性能,证明了它们的可行性和有效性。
- 大多数VQA方法不能处理基于VQA的知识,或者由于复杂的知识嵌入而性能较差。相比之下,作者的方法可以很容易地扩展到基于知识的VQA。
2、Related Work
2.1. Joint embedding
目前的VQA的方法中,如何融合多模态特征起着重要的作用,比如Hadamard product或者采用快捷方式和联合剩余映射来学习多模态交互。作者直接用文本来描述视觉信息,将输入信息预先统一在文本域中。
2.2. Knowledge-based VQA
在NLP社区中,有一些关于利用语义解析或信息检索来回答包含外部知识的问题的研究。它们都是基于文本特征的。由于非结构化的视觉输入,将这些方法扩展到基于知识的VQA并非易事。
提出将图像表示与从通用知识库中提取的额外信息结合起来,根据预测的VQA图像属性。该方法可以回答图像以外的问题,但提取的知识是离散的文本片段,没有结构表示。使用资源描述框架知识库上的显式推理来推导答案。但是该方法在很大程度上依赖于预先定义的模板,这限制了它的应用。引入了“基于事实的VQA (Factbased VQA, FVQA)”问题,提出了一种基于语义分析的支持事实检索的方法。计算匹配分数,以获得最相关的支持事实和最终答案。这种方法容易引起同义词和同形异义词的误解。为FVQA开发了一种基于学习的方法,该方法将事实和问题-图像对的参数映射学习到允许评估其兼容性的嵌入空间。特征被连接到图像-问题-答案-事实元组上。利用DMN来吸收外部知识。
对于基于知识的VQA,作者的方法更加直观。将图像视觉信息表示为文本,将图像-问答-事实元组统一到自然语言空间中,并利用自然语言处理中的阅读理解技术进行处理。
2.3. Textual Question Answering
文本问答(也称为阅读理解)的目的是根据给定的段落回答问题。它是NLP领域评估算法理解人类语言能力的一个典型基石。由于使用了端到端神经网络模型和注意力机制,如DMN[16]、r-net[30]、DrQA[6]、QANet[36],以及最近的BERT[7],在过去几年中已经取得了重大进展。在解决VQA问题中,已经应用了许多质量保证技术,如注意机制、DMN等。在这项工作中,我们试图解决建立在QANet上的VQA问题。
3. VQA Models
作者的方法是建立在新提出的用于TQA问题的QANet上。首先概述VQA模型中使用的QANet及其模块。在此基础上,分别提出了两种模型来解决开放式和选择题式的VQA问题。
3.1. QANet
QANet是一种快速、准确的TQA端到端模型。它由嵌入块、嵌入编码器、上下文查询注意块、模型编码器和输出层组成。它的编码器完全由卷积和自我注意组成,而不是使用RNNs来处理连续的文本。接下来是上下文问题注意层,以了解它们之间的交互作用。结果特征再次编码,最后解码到上下文中的应答位置。
Input Embedding Block:此模块用于将上下文中的每个单词和问题嵌入到一个向量中。对于每个单词,表示为单词嵌入和字符嵌入的串联。采用双层公路网进行嵌入特征提取。
Embedding Encoder Block: 它是卷积层、自关注层、前馈层和归一化层的堆栈。为了提高记忆和泛化能力,采用深度可分卷积。采用多头注意机制对全局交互进行建模。
Context-question Attention Block:它的目的是提取上下文和疑问词之间最相关的特征。模型中构造了情景-问题注意和问题-上下文注意。将
和
分别定义为编码后的上下文和问题特征,其中
代表n个单词,
代表m个单词。上下文对应于问题的注意力矩阵定义为
,其中
是上下文和问题中每一对单词的相似度矩阵,然后
定义为在每一行上应用softmax对S进行正态化。问题对应于上下文的注意力定义为
,然后
定义为在每一列上应用softmax对S进行正态化。计算相似度的函数
,其中
定义为q和c中的元素进行相乘。
是需要学习的权重。
Model Encoder Block:这个模块将
作为输入,其中a,b分别是注意力矩阵A,B的某一行。它与嵌入编码器块共享参数。
Output Layer:输出层根据模型编码器3次重复的输出,预测上下文中每个位置是答案的开始或结束位置的概率。
3.2. Open-ended VQA model
考虑到不同范围的语义视觉信息可以用自然语言来描述,作者试图将图像完全转换成一个描述性段落,以便为语义问题保留尽可能多的语义信息。由于所有输入都统一在文本域中,该方法避免了隐藏空间中多模态特征融合的挑战性任务,可以直接扩展到处理基于知识的VQA问题。除了在QANet中使用的基本模块之外,我们还添加了另一个输入预处理模块,并修改了开放式VQA的输出模块。
根据任务,输入预处理块可以包括图像描述模块或/和外部知识检索模块。图像描述模块旨在通过文本段落来表示图像信息。密集字幕为图像内容提供了更高级别的语义表示,范围从单个对象的状态(颜色、形状、动作等)开始。)到对象之间的关系(空间位置等),所以我们推断它们包含了VQA所要求的大多数支持性视觉信息。此外,密集的字幕结果甚至比一些离散的属性标签更丰富,结果更好。生成的区域标题被组合在一起作为QANet的图像描述。由于使用了自我注意,该模型在编码长期依赖性方面比VQA普遍采用的神经网络更有效。
对于需要图像以外的辅助知识的VQA,需要一个支持事实的检索模块。要求从一般的大规模知识库中提取相关的支持事实,而忽略不相关的事实。使用所有检索到的候选支持事实作为上下文,而不是应用易受同形词和同义词影响的启发式匹配方法。因为图像描述和支持事实都是用自然语言表达的,所以它们可以通过拼接很容易地融合在一起。然后,问答网络将对文本信息进行编码,寻找上下文和问题之间的相关性,并预测答案。
输出层也是任务特定的。如果答案明确包含在文本段落中,可以继续使用QANet中的输出层,并预测答案在上下文中的开始和结束位置。然而,在某些情况下,答案可能不会显式地出现在上下文中。例如,区域描述通常不包括对“When”和“Why”等问题的回答。为了解决这种情况,将输出层构建为多类分类层,并基于三个模型编码器M0、M1、M2的输出特性预测预定义答案类的概率,希望该模型能够从区域描述中学习到一些线索,从而推断出答案。首先采用平均池层。然后将得到的特征向量与答案类别的数量联系起来并投影到输出空间。每个类的概率被计算为
,其中W为待学习的参数。以交叉熵损失为目标函数对模型进行训练。
3.3. Multiple-choice VQA model
多选择的VQA模型就是从给待选的选项中选择最佳的答案,可以选择使用上述的模型,但是并不能很好利用待选答案的信息,所以做提出了另一个模型,将待选答案也作为输入。
除了问题和转换后的图像描述,模型还以候选答案选择作为输入,计算候选答案和上下文之间的交互。如果答案是正确的,编码后的特征
和
将于
和
有很强的联系,否则,特征之间将是独立的。MLP在串联的特征上训练,
,第一层之后以0.5的概率进行Dropout,目的是预测图像-问题-答案三元组是否正确。因此,我们使用一个sigmoid函数来将特征转化为概率。采用二元逻辑损失训练模型。与选择最高答案作为类别标签并排除罕见答案的开放式VQA模型相比,多选择VQA模型直接对候选答案进行编码。因此,它将涵盖更多的答案选择。对于类似的答案表达式,例如“During the day time”、“During daytime”、“In the daytime”,该模型可以通过嵌入和编码来学习相似性本身,而不是使用启发式答案归一化。此外,它避免了将它们视为不同的类并学习从训练数据中区分它们的机会。
4. Experiments
整体总结:本篇文章主要是将视觉转化成语言描述,通过另一个领域(Caption)的一个模型,通过将视觉转化为一段描述的文字,加上一些额外的知识支持,所以全部的输入变成了文字,认为就转化为了TQA,作者采用了TQA领域的一个模型,通过三次encode,然后进行池化之后串联再进行分类。