Visual Question Answering with Memory-Augmented Networks读书笔记

 

近日看了一篇CVPR的文章:《Visual Question Answering with Memory-Augmented Networks》,即“基于记忆增强网络的视觉问答”。

感兴趣的同学可参考原文:Visual Question Answering with Memory-Augmented Networks

目录

一.abstract

二.研究背景

2.1Introduction

2.2related work

三.文章精读

提出的模型

3.1 Input Representation

3.2图像特征与问题特征进行co-attention

3.3. Memory Augmented Network记忆增强网络

3.4. Answer Reasoning

四.实验


一.abstract

    在本文中,我们利用记忆增强神经网络来预测视觉问题的准确答案,即使这些答案很少出现在训练集中。存储器网络结合了内部和外部存储器块,并有选择地关注每个训练样本。研究表明,记忆增强神经网络能够保持对稀有训练样本的相对长期记忆,在一般的VQA环境下,由于答案的重尾分布,这对视觉问答具有重要意义。在两个大型基准数据集上的实验结果表明,与现有算法相比,该算法具有良好的性能。

二.研究背景

2.1Introduction

给定一个开放式问题和一个参考图像,视觉问答(VQA)的任务是预测与图像一致的问题的答案。现有的VQA系统训练深度神经网络来预测答案,其中图像问题对被共同嵌入作为训练数据,并且答案被编码为一个热标签。尽管近年来取得了重大进展,但这种方法并不能很好地扩展到完全通用的、自由形式的视觉问答。目前的VQA问题,由于answer数量的有限性,因此转化为一种分类问题,但由于部分answer出现的频次较低。作者认为这主要有两个原因:

(1) deep models trained with gradient based methods learn to respond to the majority of training data rather than specific scarce exemplars ;

用梯度下降的方法训练得到的深度模型,对主要的训练数据有较好的相应,但是对特定的稀疏样本却不是;

如下图中的 使用基于梯度的方法训练的深度模型学习响应大多数训练数据,但是对特定的稀疏样本却不是。然而,自然语言中问答对的分布往往是重尾分布。根据VQA的定义,它涉及各种各样的问答主题,而这些主题是无法预先预测的。事实上,人类观察者感兴趣的词汇通常是未知或罕见的。下图1显示了一个例子,其中基线VQA系统[2,20]从训练集中排除了稀有答案cucumber,因此没能预测出一个合理答案的试题它是什么深绿色的蔬菜?。尽管稀有词汇对人类观察者来说非常重要,但在对每个答案进行错误评估时,将稀有词汇从训练集中完全排除通常可以提高整体性能。正因为如此,现有的方法将问题中的稀有词标记为无意义的未知令牌(例如,BUN),而简单地排除了来自训练集的出现频率较低的答案。基于这种现象,本文提出Memory-Augmented Network来处理这样一种长尾效应。

Visual Question Answering with Memory-Augmented Networks读书笔记

图一中,Q: 什么是深绿色的蔬菜?

A: 黄瓜(我们的)A:西兰花[20]A:生菜[2]

[20]:J、 卢,安,巴特拉和帕里克。视觉问答中的分层问题图像协同注意。进行中。神经传导过程研究进展。系统,2016年。

[2]:S、 安托尔、A.阿格拉瓦尔、J.卢、M.米切尔、D.巴特拉、C.L.齐尼克和D.帕里克。视觉问答。进行中。IEEE内部配置。2015年。

在给定一个输入问题和参考图像的情况下,我们的方法同时考虑了视觉注意和文本注意,并且预测出比最近的基线系统更准确的答案。我们用红色、蓝色和青色突出显示前三个文本权重。

(2)existing VQA systems learn about the properties of objects from question-answer pairs, sometimes indepently of the image.选择性的关注图像中的某些区域是很重要的策略。

如问题“图像中有多少斑马?”作为一个例子,VQA算法在没有底层模型真正理解视觉内容的情况下会受到人类语言的偏见。例如,出现在训练答案中的斑马数量在预测答案时提供了很强的先验性。虽然从图像中学习计数是可取的,但这仍然是一个开放的问题。同时,能够更好地从文本问答分布的重尾中挖掘单词和概念,将使涉及这些不太常见的单词的问答更加准确。因此,如图2所示,在训练阶段有选择地更加注意重尾答案是非常重要的。

Visual Question Answering with Memory-Augmented Networks读书笔记

上图二中,VQA数据集上答案的频率分布[2]。现有的VQA系统[2,20]通常选择前1000个答案(红线)作为训练深度网络的一个热标签。排除了大量有价值的答案和问题对,如图1中的答案黄瓜,出现在第2000个词中,被排除掉了,故不能使问题被正确地回答出来。

我们从记忆增强神经网络的最新发展以及图像和问题对之间的共同注意机制中得到启发。具有增强外部记忆的神经网络能够对极为稀缺的训练数据进行推理,而注意机制在自然语言处理相关任务(如机器翻译[3]、图像字幕[41]和视觉问答[20])中已成为主要流行。在这项工作中,我们将我们的动机与最近的工作[15]相结合,使用记忆网络来记住罕见的事件,并建议学习记忆增强网络,同时注意VQA的罕见答案。我们首先采用共同注意机制,将图像和问题特征共同嵌入到一起。然后,我们学习记忆增强网络,该网络保持稀缺训练数据的长期记忆,以促进VQA。注意,我们的方法与动态存储网络[39]有显著不同,因为我们的存储网络既包含LSTM内部的内存,也包含LSTM控制的外部内存,而xiang等人。[39]只在注意门控重复单元(GRU)内实现记忆。

这篇论文的主要贡献如下:

•我们建议使用记忆增强网络来提高我们的能力,以记住不常见的问答对视觉问答。

•在联合嵌入图像和问题特征之前,我们使用共同注意机制关注最相关的图像区域和文本单词。

•我们在两个基准数据集上验证了所提出的算法。实验结果表明,该算法具有良好的抗干扰性能。

2.2related work

Joint Embedding联合嵌入

通常,图像特征是在对象识别数据集上预先训练的卷积神经网络(CNNs)的最后一个完全连接层的输出。将一个文本问题分解成连续的词,并将其输入到递归神经网络(RNN)中,得到一个固定长度的特征向量作为问题的表示。将图像特征和问题特征作为一个向量进行联合嵌入,训练出预测答案的多标签分类器。为了提高联合嵌入的有效性,人们做了大量的努力,例如探索外部知识、多模态压缩池、多模态剩余学习或使用单词包的固定语言嵌入。请注意,这些方法在整个图像和问题上生成特征,因此不能关注最相关的区域和文本单词来促进VQA。

Attention Mechanism.注意力机制

注意力模型已经被广泛应用于VQA中最相关的图像区域的选择,而不是直接使用来自深CNN完全连接层的实体图像嵌入。注意机制通常由语言解析器和表示空间分布区域的CNN特征向量组成。现有模型有的以叠加的方式多次进行图像注意,以逐步推断答案。有的使用多跳图像注意机制从问题中捕获细粒度信息。还有应用现成的区域建议算法生成目标区域,并选择最相关的区域来预测答案。有的作者提出了一种基于注意的GRU,以方便答案检索。除了视觉注意之外,最近的研究[20]还提出了一种与问题注意的共同注意机制。同样地,我们在问题中应用了一种同时关注图像区域和文本单词的共同注意机制。但与文献[20]对句子中每个单词的独立处理不同,我们考虑了文本单词的顺序一致性,即首先使用双向LSTMs生成单词嵌入,然后对输出嵌入执行问题注意方案。

Memory Network记忆网络

记忆网络在语言处理中的应用越来越广泛。鉴于记忆网络在VQA中的巨大潜力,我们提出使用记忆增强神经网络来选择性地关注重尾问答对。为了实现,我们使用LSTM来控制对扩充外部存储器的读写。因此,我们的记忆网络与文献中的注意力GRU网络有着显著的不同。

三.文章精读

提出的模型

我图3中展示了模型的主要细节。

Visual Question Answering with Memory-Augmented Networks读书笔记

图3。算法流程图。我们使用最后一个预先训练的cnn池层来提取编码空间布局信息的图像特征。我们使用双向LSTMs为每个单词生成一个固定长度的特征向量。一个共同注意机制关注相关的图像区域和文本单词。我们将参与图像和问题的特征向量连接起来,并将它们输入到一个由个标准的LSTM作为控制器一个扩展的外部存储器组成的记忆增强网络。控制器LSTM决定何时从外部存储器中写入或读取。记忆增强网络对维持训练数据的长期记忆起着关键作用。我们将记忆增强网络的输出作为图像和问题对的最终嵌入,并将此嵌入到分类器中以预测答案

在给定一个输入问题和参考图像的情况下,我们使用协同注意机制来选择问题中最相关的图像区域和文本单词。具体地说,我们使用预先训练的cnn的最后一个池层(VGGNet[32]或ResNet[12])的输出作为图像特征,它们维护空间布局信息。我们将问题分解成顺序词,然后将其输入双向LSTMs,生成顺序固定长度的词嵌入。共同注意机制计算每个CNN特征向量以及每个纹理词嵌入的权重(参见图3不同颜色的突出显示权重)。我们将相关的图像和问题特征连接起来作为图像和问题对的嵌入。我们使用标准的LSTM网络作为控制器,它决定何时从外部存储器读写。注意,我们的内存网络实际上包含两个内存块:LSTM内部的内存和LSTM控制的外部内存。记忆增强网络保持了对重尾问题答案的长期记忆。我们使用记忆增强网络的输出来训练预测答案的分类器。在本节的其余部分,我们首先介绍使用预先训练的CNNs的图像特征提取器,以及使用双向LSTMs的问题编码器。在此基础上,我们提出了关注最相关的图像区域和文本词的顺序共注意机制。然后,我们将更详细地介绍使用的内存扩充网络。我们将在本节的最后讨论答案推理方案。

3.1 Input Representation

Image Embedding图像嵌入

我们使用预先训练的VGGNet-16ResNet-101来提取CNN特征。我们将图像大小调整为448×448,然后将其输入CNNs。我们将VGGNet-16的最后一个池层(pool5)或ResNet-101的最后一个池层(res5c)下的层的输出作为对应于14×14空间分布区域的图像特征。我们用{V1。. . ,VN},其中N=196是区域的总数,VN是第N个特征向量,VGGNet-16的维数为512,ResNet-101的维数为2048。

Question Embedding问题嵌入

使用双向LSTMs生成问题特征。让{w1。. . ,wT}是T词输入问题的一个热点向量。我们应用一个嵌入矩阵M将单词嵌入另一个向量空间,即xt=Mwt。然后将嵌入向量馈入双向LSTMs:

Visual Question Answering with Memory-Augmented Networks读书笔记

3.2图像特征与问题特征进行co-attention

给定一对图像特征向量和问题特征向量,协同注意机制(co-attention)的目标是关注每种类型特征中相互参照的最相关部分。考虑到图像和文本共同的特征,相互影响,设{vn}和{qt}分别为视觉特征向量和问题特征向量。得到共同的注意力机制。我们根据 视觉特征和语言特征的平均值,进行点乘,得到一个 基向量m0 ,以建议以后的注意力计算如下:

Visual Question Answering with Memory-Augmented Networks读书笔记

这里Visual Question Answering with Memory-Augmented Networks读书笔记是点积。为了保证视觉特征向量v0和问题特征向量q0具有相同的维数,我们总是将双向LSTMs的隐藏状态的大小设置为视觉特征向量Vn维数的一半。在视觉特征向量和问题特征向量上,我们采用相同的共同注意机制。我们使用两层神经网络来实现软注意。对于视觉注意,软权重{αn | n=1。,N}和视觉特征向量v*如下:

Visual Question Answering with Memory-Augmented Networks读书笔记

其中Wv、Wm和Wh表示隐藏状态。类似地,我们将参与问题特征向量q*计算如下:

Visual Question Answering with Memory-Augmented Networks读书笔记

 

我们将参与向量v*和q*连接起来,用来表示输入图像和问题对,图4展示了 co-attention 机制的整个过程:

Visual Question Answering with Memory-Augmented Networks读书笔记

3.3. Memory Augmented Network记忆增强网络

      一旦我们通过将视觉特征和问题特征串联起来获得特征向量,而不是直接将该向量应用于学习分类器,我们希望有一种机制来确定该样本在整个训练数据中的位置和训练顺序的重要性。也就是说,我们希望这样一种机制能够有选择地关注那些在大量训练迭代中总是被忽略的稀缺训练项目。RNNs可以作为一种注意机制来选择当前输入中最相关的部分,参考先前时间步骤中的隐藏状态。然而,RNN缺乏外部存储器,无法为稀缺的训练数据保持长期存储器。

xt 代表的是视觉特征和文本特征的组合;yt 是对应的编码的问题答案(one-hot encoded answer vector)。然后将该 xt 输入到 LSTM controller,如:

Visual Question Answering with Memory-Augmented Networks读书笔记

对于从外部记忆单元中读取,我们将隐藏层ht 作为 Mt 的 query。首先,我们计算 搜索向量 ht  和 记忆中每一行的余弦距离:

Visual Question Answering with Memory-Augmented Networks读书笔记

然后,我们通过使用softmax计算余弦距离上 计算一个 读取权重向量 wr:

Visual Question Answering with Memory-Augmented Networks读书笔记

有这些 读取权重向量, 一个新的检索的记忆 rt 可以通过下面的式子得到:

Visual Question Answering with Memory-Augmented Networks读书笔记

最后,我们将新的记忆向量Visual Question Answering with Memory-Augmented Networks读书笔记与控制器隐藏状态Visual Question Answering with Memory-Augmented Networks读书笔记连接起来,生成输出向量Visual Question Answering with Memory-Augmented Networks读书笔记,用于学习分类器。

以前的存储器网络依赖于一个可学习的门来将新的输入数据写入特定的存储器地址。尽管该方案在基于序列的预测任务中具有良好的性能,但对于处理重链训练数据的联合编码而不是序列的VQA任务,该方案并不是最优的。在这种情况下,我们希望作者在将新信息写入很少使用的位置和写入最近使用的位置之间取得平衡。我们使用权重Visual Question Answering with Memory-Augmented Networks读书笔记来控制对内存的写入。我们每次都通过衰减其先前状态并添加当前读写权重来更新使用权重Visual Question Answering with Memory-Augmented Networks读书笔记

Visual Question Answering with Memory-Augmented Networks读书笔记

我们引入一个截断机制 来更新 the least-used positions。此处,我们采用 m(v, n) 来表示 the n-th smallest element of a vector v. 我们采用  a learnable sigmoid gate parameter 来计算之前的 read weights 和 usage weights 的 convex combination:

Visual Question Answering with Memory-Augmented Networks读书笔记

这里,σ(·)是一个sigmoid函数,11+e-x,α是一个标量门参数。如果x为真,则指示符函数✶(x)返回1,否则返回0。n值越大,训练数据越少,记忆时间越长。与LSTM内部存储器相比,参数γ和n都可以调节对外部存储器的写入速率。这给了我们更多的自由来调节内存更新。根据写入权重将输出隐藏状态htin(12)写入存储器:

Visual Question Answering with Memory-Augmented Networks读书笔记

3.4. Answer Reasoning

我们将隐藏状态Visual Question Answering with Memory-Augmented Networks读书笔记(12)和读取内存Visual Question Answering with Memory-Augmented Networks读书笔记(15)连接起来,作为图像和问题对的最终嵌入Visual Question Answering with Memory-Augmented Networks读书笔记=[Visual Question Answering with Memory-Augmented Networks读书笔记Visual Question Answering with Memory-Augmented Networks读书笔记]。我们通过Visual Question Answering with Memory-Augmented Networks读书笔记生成输出分布。具体地说,我们使用由线性隐藏层和softmax函数组成的单层感知器来输出类别分布。分类分布产生一个向量Pt,其元素显示类概率:

Visual Question Answering with Memory-Augmented Networks读书笔记

这里Wh和Wo是线性层的隐藏参数。在训练阶段,给定输出分布Pt,通过最小化输入一个热编码标签向量Visual Question Answering with Memory-Augmented Networks读书笔记上的损失来优化网络:

Visual Question Answering with Memory-Augmented Networks读书笔记

四.实验

Visual Question Answering with Memory-Augmented Networks读书笔记