【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答

Abstract摘要

A key solution to visual question answering (VQA) exists in how to fuse visual and language features extracted from an input image and question.如何融合从输入图像和问题中提取的视觉和语言特征,是解决视觉问答问题的关键。
We show that an attention mechanism that enables dense, bi-directional interactions between the two modalities contributes to boost accuracy of prediction of answers.我们提出了一种注意力机制,使两种模式之间密集的双向互动有助于提高预测答案的准确性。
Specifically, we present a simple architecture that is fully symmetric between visual and language representations, in which each question word at- tends on image regions and each image region attends on question words. It can be stacked to form a hierarchy for multi-step interactions between an image-question pair.提出了一个完全对称的视觉和语言之间的体系结构,其中每个问题词对应于于图像区域,每个图像区域对应于于问题词。然后将它们堆叠起来,形成一个层次结构,用于图像-问题之间的交互
We show through experiments that the proposed architecture achieves a new state-of-the-art on VQA and VQA 2.0 de- spite its small size. 实验证明所提出的模型在两个数据集上都取得了先进的性能。

Introduction 引言

A key solution to visual question answering (VQA) exists in how to fuse visual and language features extracted from an input image and question.解决VQA(Visual Question Answering)问题的关键在于如何从图片和问题中提取有用的特征, 并将二者进行有效地融合。
对于问题特征的提取一般都利用RNN对其进行编码, 而对于图片特征会采用预训练好的Res-net对图像块进行编码。
This progress has been mainly brought about by two lines of research, the development of better attention mechanisms and the improvement in fusion of features extracted from an input image and question. 目前对于VQA问题的研究路线分为两个主要部分, 一是更好的attention机制, 二是改进的特征融合方式。
However, we think that they are rather two different approaches towards the same goal. In particular, we argue that **a better attention mechanism leads to a better fused representation of image-question pairs.**一般而言这两部分分属于模型独立模块, 而本文认为两者是有联系的, 应该进行有机的结合, 因而提出了一种新的co-attention机制来改善视觉特征与语言特征的融合。
We propose a novel co-attention mechanism for improved fusion of visual and language representations. Given representations of an image and a question, it first generates an attention map on image regions for each question word and an attention map on question words for each image region.我们提出了一种新的协同注意机制来改进视觉和语言表示的融合。给定图像和问题的表示形式,首先为每个问题单词生成图像区域上的注意图,并为每个图像区域生成问题单词上的注意图。

Dense Co-Attention Network(DCN)

【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第1张图片
首先从图像中提取出的特征V和问题中提取出的特征Q送入多个密集协注意力机制模块中,输出由问题引导提取出来的图像特征V1和由图像引导提取出来的问题特征Q1,之后按照同样的方式通过多个密集协注意力模块不断操作,由两种融合了对方特性的特征进行问题词的回答。

  • Question and Answer Representation
    问题问句和答案的信息都采用, bi-directional LSTM(concatenate) 进行特征提取.
    【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第2张图片
    同理对于答案的编码: 假设有一个答案有M个词, 将词映射成向量为 eA1,…,eAM
    经过Bi-LSTM后得到在这里插入图片描述

  • Image Representation
    As in many previous studies,we use a pretrained CNN(i.e., a ResNet with 152 layers pretrained on ImageNet) to extract visual features of multiple image regions, but our extraction method is slightly different. We extract features from four conv. layers and then use a question-guided attention on these layers to fuse their features.
    我们使用的是经过训练的CNN(预训练的ResNet152)来提取多个图像区域的视觉特征,但是我们的提取方法略有不同。我们从四个层中提取特征,然后利用问题引导的注意力对这些层进行融合。
    To be specific, we extract outputs from the four conv. layers (after ReLU) before the last four pooling layers. These are tensors of different sizes (i.e., 256×112×112, 512×56×56,1024×28×28, and 2048×14×14) and are converted into tensors of the same size (d × 14 × 14) by applying max pooling with a different pooling size and one-by-one convolution to each.
    具体来说,在最后四个池化层之前,我们从四个卷积层(ReLU之后)提取输出。它们是不同大小的张量,分别为256×112×112,512×56×56,1024×28×28,2048×14×14,通过对不同大小的最大池化将其转换为相同大小的张量(d×14×14)。
    Next, attention on the four layers is created from sQ, the representation of the whole question defined above. We use a two-layer neural network having 724 hidden units with ReLU non-linearity to project sQ to the scores of the four layers as
    最后为4层特征做加权,其权重是由问题特征SQ决定的,使用一个隐层节点为724,激活函数为Relu,输出节点数为4,接两层的全连接层的MLP多层感知机。
    在这里插入图片描述
    which are then normalized by softmax to obtain four attention weights α1,…,α4. The weighted sum of the above four matrices is computed, yielding a d × T matrix V = [v1,…,vT], which is our representation of the input image.
    然后对结点[s1, s2, s3, s4]做softmax,得到加权的权重α1,…,α4.计算上述四个矩阵的加权后,得到d×T矩阵V = [v1,…,vT],这是我们对输入图像的表示。

  • Dense Co-Attention Layer
    【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第3张图片
    提出的体系结构具有以下特性。首先,它是一个协注意机制。其次,注意力集中在词汇和地区之间的每一次互动上。具体来说,我们的机制为每个单词创建一个区域上的注意图,并为每个区域创建一个单词上的注意图。此外,其可以循环叠加使用如前图所示。

    Dense Co-attention Mechanism

  • Basic method for attention creation
    【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第4张图片
    在这里插入图片描述
    其中Wl是一个可学习的权值矩阵。我们按行对Al进行归一化,以得到每个图像区域作为条件的问题词的注意图AQl
    在这里插入图片描述
    并在列上对Al进行归一化,得到每个问题词为条件的图像区域上的注意图AVl
    在这里插入图片描述

  • Nowhere-to-attend and memory
    在对于解答某一个问题, 有可能没有图像框值得去注意(依靠常识或者猜测就可以回答?),为了处理这种情况,可以通过加入一些可训练的参数作为额外信息的来源. 我们向N个问题单词和T个图像区域添加K个元素。
    具体来说,设置两个参数可学习的矩阵
    在这里插入图片描述, 然后将矩阵Ql和Vl在行方向上增广 为 在这里插入图片描述在这里插入图片描述
    增广Ql和Vl后Al的大小为(T +K)×(N +K);AQl和AVl的大小分别为(T +K)×(N +K)和(N +K)×(T +K)

  • Parallel attention
    此前,创建的多注意图以并行的方式应用于目标特征,然后通过连接将它们融合在一起,从而提供多个参与的特征。
    我们采用了类似的方法,在这里使用多个注意图,但是我们使用平均而不是连接来融合多个注意力特征,因为我们发现其实验效果更好。
    具体而言,我们让˜Vl和˜Ql降至更低的维度。设h为低维空间的个数,dh(≡d/h)为它们的维数,我们记这种线性映射为 在这里插入图片描述
    在这里插入图片描述然后给出第i空间中投影特征之间的矩阵为
    在这里插入图片描述
    注意力图的线性映射由每一个亲和矩阵按列和行进行归一化
    【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第5张图片
    然后做平均运算,得到Aql和AVl
    【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第6张图片

  • Attended feature representations
    然后将所得的附加特征˜Ql ˜Vl以及平行特征AQl AVl相乘
    【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第7张图片
    得到融合了对方特征的Ql和Vl

^Ql的shape为dxT ^Vl的shape为dxN

Fusing Image and Question Representations

【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第8张图片
体现了dense连接, 以及标题中的Symmetric.

Answer Prediction

在得到最后的注意力特征QL和VL之后,将他们送入Answer Prediction模块进行答案的预测。
总共分为以下几个步骤:
1.使用两层的MLP多层感知机以及ReLU激活函数计算每个答案的分数sQLn
2.然后使用softmax,以获得注意力权重α
3.计算聚合表示 在这里插入图片描述得到SQL
同理计算SVL
4.然后将答案集用MLP多层感知机计算拼合的SQL和SVL得出答案的分数SA.(有三种不同的答案预测层用于实验)
【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第9张图片

Experiments

  • 数据集
    在实验中使用了两个数据集,VQA和VQA 2.0。
    将VQA1.0中预先定义的问题分为三部分:训练集验证集和测试集,分别由248,349、121,512和244,302个问题组成。所有的问题可分为三类:是/否、数字和其他。每个问题都有10个自由答案。
    将VQA2.0中预先定义的问题分为三部分:训练集验证集和测试集,分别由443,757、214,354 和447,793 个问题组成,在语言方面更加平衡。

  • 参数设置
    对于这两个数据集,我们使用Adam优化器,参数α= 0.001,β1 = 0.9,β2 = 0.99。在训练过程中,学习率α在VQA1.0和VQA2.0中分别在4个epoch和7个epoch后降低。训练过程中在VQA1.0和VQA2.0中分别跑了16和21个epoch。为了防止过拟合,在每一个全连接层后使用dropout, dropout ratio p = 0.3,在LSTM后使用dropout ratio p = 0.1。对于VQA和VQA 2.0,batch size分别设置为160和320。我们将协同注意层中的维度d设为1024。

  • 消融实验
    为了研究不同模块对模型性能的影响,作者进行了消融实验。设置了几个参数不同的DCN模块,并对他们分别进行了训练和验证。
    【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第10张图片
    首先是注意力引导方面,作者分别实验了只用问题引导图片、只用图片引导问题以及双向互相引导的情况,结果表明两种模态的注意力互相引导能达到更好的准确率。
    其次是用于增广的元素数量K的大小、平行注意力特征图的数量h以及融合层的数量L对性能的影响。
    最后实验了该注意机制在答案预测层和图像提取层的使用效果;注意力的使用分别提高了1.3%和0.5%的准确率。

  • 对比

与其他主流方法对比,最后分别对应作者提出的三种不同的答案预测层的测试结果。【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第11张图片
作者还将该模型与2017年VQA挑战赛获胜方法进行了对比。【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第12张图片
该模型与其他模型的参数量对比【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第13张图片
定性评价
【论文解析】《 Dense Symmetric Co-Attention for VQA》改进视觉和语言表示的密集对称协同注意力机制的视觉问题回答_第14张图片

你可能感兴趣的:(论文分析)