本文提出了一个简单的架构,在视觉和语言表示之间完全对称,其中每个问题词关注图像区域,而每个图像区域关注问题词。它可以被堆叠成一个层次结构,用于在一对图像-问题之间进行多步骤交互。
一、文章引入
自VQA (visual question answer)引入以来,在很短的一段时间内,它的研究取得了显著的进展,显示出对普通基准测试数据集性能的快速提升。这一进展主要来自于两方面的研究:更好的注意力机制的发展和从输入图像中提取的特征与问题融合的改进。
我们观察到,到目前为止,这两项研究都是独立进行的。 对于特征融合方法的研究尤其如此,即使使用特征融合方法可以实现最佳性能,也将注意力视为可选项。 但是,本文中作者认为它们是针对同一目标的两种不同方法。 特别是,作者认为更好的注意力机制会导致图像问题对的更好融合表示。
基于此,本文提出了一种新的共同注意机制来改进视觉和语言表示的融合。给定图像和问题的表示形式,它首先针对每个问题词在图像区域上生成一个注意力映射,并针对每个图像区域在问题词上生成一个注意力映射。然后,它执行参与特征的计算,连接多模态表示,并通过一个带有ReLU的单层网络和一个残差连接进行转换。这些计算被封装到一个复合网络中,称之为密集共同注意层,因为它考虑任何图像区域和任何问题词之间的每一次交互。该层在两种模式之间具有完全对称的架构,并且可以堆叠成一个层次结构,使图像-问题对之间能够进行多步交互。
从输入图像和问题的初始表示开始,层堆栈中的每个密集的共同注意层都会更新表示,然后将其输入到下一层,然后将其最终输出馈送到用于答案预测的层。在初始特征提取和答案预测层中使用了额外的注意机制。我们将包括所有这些组件的整个网络称为密集共同注意网络(DCN)。
二、框架介绍
在本节中,我们将描述DCN的体系结构, 概述见图1。 它由一叠密集的共同注意层组成,这些共同注意层反复地融合了语言和视觉特征,在其顶层有一个答案预测层,可以在多标签分类器中预测答案。 我们首先说明从输入的问题和图像中提取初始特征(第2.1节),然后描述密集的共同注意层(第2.2节)和答案预测层(第2.3节)。
图1:密集共同关注网络(DCN)的整体结构。
2.1. Feature Extraction(特征提取)
本文采用了先前研究中常用的预训练网络以从图像,问题和答案中编码或提取特征,例如预训练的ResNet 。
2.1.1 Question and Answer Representation
使用双向LSTM编码问题和答案。 具体来说,首先将由N个单词组成的问题转换为GloVe向量的序列{eQ1,…,eQN},然后将其输入到一层具有残差连接的双向LSTM(Bi-LSTM)中 :
然后我们创建一个矩阵Q = [q1,…,qN)∈Rd×N ,其中。我们还将使用
,将两条路径的最后隐藏状态串联起来,以获得输入图像的问题表示。随机初始化Bi-LSTM。
遵循类似的程序来编码答案。将M个单词的一个答案转换为{eA1,…, eAM},然后输入到相同的Bi-LSTM,得到隐藏态。使用sA=
来表示答案。
2.1.2 Image Representation
像之前的许多研究一样,作者使用一个预先训练好的CNN(即在ImageNet上预先训练的具有152层的ResNet)来提取多个图像区域的视觉特征,但本文的提取方法略有不同。本文从四个卷积层中提取特征,然后在这些层上使用问题引导注意力来融合它们的特征。这样做是为了开发后续密集的共同注意层的最大潜力。作者推测,视觉表示层次中不同层次的特征对于正确回答各种各样的问题是必要的。
具体来说,我们在最后四个池化层之前从四个卷积层 (ReLU之后)提取输出。它们是大小不同的张量,通过应用不同池化大小的最大池,并对进行一对一卷积,将其转换为相同大小的张量(d×14×14)。同时对每个张量的深度维数应用l2归一化,将正则化张量重塑成四个d×T矩阵,其中T = 14×14。
接下来,从sQ(上面定义的整个问题的表示)创建对这四个层的关注。 使用具有724个隐藏单元的ReLU非线性双层神经网络将sQ投影为四层的得分:
然后通过softmax对其进行归一化,以获得四个注意力权重α1,…,α4。 计算上述四个矩阵的加权和,得出d×T大小的矩阵V = [v1,…,vT],这是对输入图像的表示。 它将图像特征存储在大小为d的第t列向量中的第t个图像区域。
2.2. Dense Co-Attention Layer
2.2.1 Overview of the Architecture
密集共同注意层结构见图2。它将问题表示Q和图像表示V作为输入,然后输出它们的更新状态。用Ql= [ql1,…,qlN∈Rd×N, Vl= [vl1,…,vlT]∈Rd×T表示第(l +1)层的输入。对于第一层输入,设Q0= Q = [q1,…,qN]和V0= V = [v1,…,vT]。
图2:层索引为l + 1的单个密集共同注意层的内部结构。
本文提出的体系结构具有以下特性。首先,它是一个共同注意机制。第二,共同注意是密集的,因为它考虑任何单词和任何区域之间的每一次互动。具体来说,它为每个单词创建一个区域注意图,并为每个区域创建一个单词注意图(见图3)。第三,可以进行如图1所示的堆叠。
图3:利用图像表示和问题的表示计算密集的共同注意图。
2.2.2 Dense Co-attention Mechanism
Basic method for attention creation给定Ql和Vl,创建两个注意映射,如图3所示。它们的计算从亲和度矩阵开始
其中Wl是可学习的权重矩阵。 按行对Al进行归一化,以得出关于每个图像区域注意的问题词的注意力映射
并以列为单位对Al进行归一化,得到问题词注意的图像区域的注意力映射
注意,AQl和AVl的每一行都包含一个注意力映射。
Nowhere-to-attend and memory在创建和应用每个注意图时,经常会出现没有需要模型注意的特定区域或单词的情况。为了处理这种情况,向N个问题词和T个图像区域添加K个元素。在先前的研究中,作者只使用K = 1,但是我们发现使用K > 1是有效的,它被期望作为额外的的存储器存储有用信息。具体来说,合并两个矩阵和
,这是可学习的参数。在行方向上将矩阵Ql和Vl扩充为
和