Abstract:
VG面临的主要挑战有3个:1 )查询的主要焦点是什么;2 )如何理解图像;3 )如何定位物体。
在本文中,我们将这些挑战形式化为三个注意力问题,并提出了一个累积注意力( A-ATT )机制来共同推理其中的挑战。我们的A - ATT机制可以循环累积图像、查询和对象中有用信息的注意力,而噪声则逐渐被忽略。我们在四个流行的数据集(即: ReferCOCO, ReferCOCO+, ReferCOCOg, and Guesswhat?!)上评估了A - ATT的性能,实验结果表明了所提方法在准确性方面的优越性。
1.Introduction
VG要求机器理解查询中的复杂推理,以及图像中实例之间的空间和语义关系。
VG中的先驱者[ 4、9、17、28、31、32]只是简单地将所有信息组合在一起,其中可能存在信息冗余,并且没有考虑潜在的关系。例如,Hu等人[ 9 ]使用三个LSTM分别处理语言信息、局部和全局视觉信息。在文献[ 31 ]中,Yu等人提取了两类特征来编码所有对象之间的相似性和差异性,但他们仍然考虑了一种涵盖所有信息的通用特征。近年来,注意力机制因其在处理信息冗余方面的有效性,在自然语言处理[ 2,23]、图像描述[ 29、30 ]和VQA [ 4、14、16、24]等众多应用中得到了广泛的应用。然而,在VG中,除了Rohrbach等人[ 21 ]提出了一种通过语言注意力机制重构给定短语来对查询进行背景化的方法外,很少有工作涉及注意力机制。通过这种方式,减少了查询中的冗余,但图像中的冗余(如不相关的对象)仍然存在。
在本文中,我们将视觉定位问题分解为三个子问题:1 )识别查询中的主要焦点;2 )理解图像中的概念;3 )定位最相关的对象。我们将这些子问题重新表述为三个高度相关的注意力问题,即1) which words to focus on in a query;2)where to look in an image;3)which object to locate. 我们进一步使用一个累积过程将所有类型的注意力组合在一起并循环细化,其中每一种注意力都将在计算其他两种注意力时被用作指导。所提出的方法称为累积注意力( A-ATT ),是端到端的,能够处理不同形式的自然语言查询。
- Proposed Method
VG:形式上,给定一个包含k个对象O = { o1,o2,…,ok }的图像I和一个查询Q,我们希望学习一个假设h,将Q映射到目标对象o *,即h( I、O、Q)→o *。
执行更多轮次的A - ATT机制可以促进不同信息之间的交流。在提出的A - ATT机制的每一轮中,每一种注意力都会被另外两种注意力细化。
3.1. Attention modules
3.1.1 Which words to focus on in a query
在这里,我们以GuessWhat?!中的对话为例。对话由一系列问答对Q = { { q1,a1 },{ q2,a2 },…,{ qT,aT } }组成,其中T是问答对的个数。
一般来说,对话可以很长,因此我们使用分层结构[ 14 ]来编码它们。具体来说,对于对话Q,我们首先使用一个词嵌入层将问题中的每个词编码成一个固定长度的向量。然后,对于每个问答对,我们将编码后的问题输入到一个LSTM中,并从最后一个时间步的隐藏状态中获得问题特征。同时,答案特征只是对原始答案的独热编码。然后,我们将问题特征和答案特征拼接在一起,得到问答对的特征。最后,我们使用另一个LSTM,它将所有QA对特征作为输入,并收集每个循环步骤的输出作为对话特征。需要注意的是,当查询为短语或句子时,一个香草LSTM足以捕获序列内的关系,因此在这种情况下使用分层架构是不必要的,甚至会导致过拟合。
我们将查询特征记为S = { s1,s2,…,sT },其中si是查询中第i个问答对(或词)的特征。探究对话中哪些QA对需要重点关注,我们采用以下注意力机制:
这里, Hqi是由查询特征S的累积操作(见式( 4 )) )生成的联合特征,其中从图像和物体这两种信息中提取的特征被用作指导。我们将在3.2节中说明 的计算细节。此外,wq是一个可学习的变换矩阵,由此得到的 是查询中第i个QA对的注意力权重。
3.1.2 Where to look in an image
为了决定在图像中的位置,我们采用了图像描述[ 29 ]和VQA [ 14 ]中的通常做法,将图像划分为与提取的特征图相对应的多个区域,并为这些区域分配不同的注意力权重。在我们的模型中,我们使用VGG - 16 [ 22 ]模型从最后一个卷积层提取特征图V = { v1,v2,…,vL },其中L = 14 × 14是区域的个数。类似于查询注意力的计算,我们从V中获得一个联合特征Hc来引导所有图像区域之间的注意力:
其中 α 是图像中第i个区域的注意力权重,wc是可学习参数。
3.1.3 Which object to locate
在这一部分中,我们明确地在查询和全局图像上下文的指导下对那些候选对象给予不同的关注。目标候选者可以通过预训练的目标检测模型如Faster - RCNN [ 20 ],或者建议生成模型如Edgebox [ 33 ],Objectness[ 1 ]等获得。为了公平比较,我们遵循[ 31、32 ],并使用数据集提供的对象候选者。
然后,我们将每个候选项表示为由两类信息组成的定长向量:空间信息和局部信息。根据文献[ 3 ],我们得到每个候选对象的空间信息:
式中:w和h分别表示宽度和高度。box表示边界框,下标img表示图像 。对于局部信息,我们用每个候选框的边界框裁剪图像,并将裁剪后的区域输入到前述的VGG - 16模型中。然后,我们将第二个全连接层的输出作为局部信息ol。更重要的是,我们用另外两个嵌入矩阵将os和ol嵌入到同一个向量空间中,因为我们预期候选表示的两个分量应该具有相等的贡献。我们进一步在每个嵌入矩阵之后使用一个Batch Normalization [ 10 ]层来对输出进行缩放。最后,将得到的os和ol拼接在一起,形成对象候选表示o = [ ol 、os]。
我们用O = { o1,o2,…,oK }表示图像中所有的候选对象,其中K是候选对象的个数。然后基于联合特征Ho计算对oi的注意力权重:
其中 α 是第i个候选对象的注意力权重,将决定哪个对象要被定位,wo是一个变换矩阵。
3.2. Accumulated Attention (A-ATT) model
在形式上,我们将注意力模块的输入表示为一个特征序列:
其中d为特征维数,n为序列长度。这里,X可以是查询特征( S ),图像特征( V )或者候选对象的特征( O )。然后,通过计算可以得到联合特征:
其中,g1,g2∈Rd表示来自其他两类特征的注意引导。Wx、Wg1和Wg2是可学习的参数。然后,对于特征序列X中的每个元素xi,按照方程( 1 ),( 2 )或( 3 )计算注意力权重α i,并通过:
被注意的特征" ~x “则在其他注意模块中充当注意引导g。将方程( 5 )中的过程记为” ~x = AT T ( X , g1 , g2) “,三种信息的注意特征可以表示为:
显然,方程( 6 )中的计算形成了一个循环:任何类型的注意特征都会被重复利用来细化其他两类信息的注意。我们定义方程( 6 )为A - ATT,则我们有:
其中R表示一轮内的计算,i表示循环的第i轮。在每一轮A - ATT过程中,查询特征、图像特征和对象特征被逐步输入到ATT过程中。第一轮A - ATT是初始阶段,没有可用的引导信息。在每一轮结束时,通过方程( 6 )产生被关注的特征” s “、” v “和” o ",并通过方程( 7 )传递到下一轮。此外,如图4所示,这些被关注的特征将在接下来的回合中保持流动。在这个"注意力积累"的过程中,S、V和O中有用信息的注意力会积累,而噪声的注意力会消失。虽然轮数可以无限增长,但在整个过程中模型的总参数是一致的。
3.3. Grounding the query
为了对图像中的查询进行定位,首先获取每轮A - ATT过程中查询’~s和图像’ ~v的关注特征,然后将其输入到一个嵌入层中,并使用tanh ( · )激活函数生成关注特征的联合表示,即
式中:We为嵌入矩阵,[ · ]表示级联操作。然后,通过一个softmax函数计算oi成为目标对象的概率:
其中W是另一个嵌入矩阵, 是oi的注意力权重。此外,表示元素乘法,因为我们希望显式地找到融合图像查询信息F和对象候选特征oi之间的最佳匹配。设p是目标对象o的预测概率( softmax score ),我们的目标是最小化损失函数:
其中m是一个小批中的样本数。
- Experiments
我们通过执行1 ~ 4轮的A - ATT过程实现了4个版本的算法,分别是Ours - r1、Ours - r2、Oursr3和Ours - r4。其他选项(轮数大于4)不予考虑,因为A - ATT的轮数过多可能导致计算量过大。
4.1. Datasets
包含多人的图像放入" TestA “,包含其他物体的图像放入” TestB "。
4.2. Implementation details
在本文中,我们使用VGG - 16 [ 22 ]作为我们的主干CNN来提取整幅图像和裁剪区域的特征。对于多轮对话,我们使用层次化LSTM [ 14 ]来处理QA对级别和对话级别的对话。对于句子或短语,我们简单地采取香草LSTM对其进行编码。词嵌入的大小设置为256,而LSTM隐藏状态的维度均为512。
4.3. Performance on ReferCOCO & ReferCOCO+ & ReferCOCOg
我们采用最大互信息方法( MMI ) [ 17 ],visdif方法[ 31 ]和说话人-听话人结构中的听者模型[ 32 ]作为我们的主要基线。
在ReferCOCO数据集上,Ours - r3在TestA数据集上取得了81.67 %的准确率,而之前最好的结果为78.45 % (在说话人+听话人+ MMI模型中)。在TestB数据集上,Ours - r4取得了与( 80.01 %比80.10 %)相当的性能。此外,在ReferCOCO +数据集上,本文提出的A - ATT机制的四个版本在TestA split( 68.76 % , Ours-r4)和TestB split( 60.69 % , Ours-r3)上的性能均有大幅度提升。最后,在参考COCOg数据集上,A - ATT仍然超过了之前最先进的方法( 73.18 %比72.75 %)。
4.4. Performance on GuessWhat?!
我们在我们最好的模型Ours - r3上嵌入了一个预训练的词向量[ 18 ],即Ours - r3 ( w2v ),我们观察到它可以显著提高基于A - ATT的模型的性能,这是因为从查询中提取了更好的特征。
4.5. Visualization of the attention
文本注意力权重 红 蓝 绿 黑
4.6. Ablation studies
在这一部分中,我们通过忽略Ours - r2算法中的一种或两种类型的注意力进行了若干消融研究,并在表4中展示了结果。表4中,W / O.S,w / o.V和W / O.O分别表示不关注查询、图像和对象的模型。w / o.SO表示对查询和对象都没有关注的模型
我们发现当只使用一种注意力信息(也就是说,注意力模块之间没有相互作用,例如w / o。SO , w / o。VO和w / o。SV)时,该模型只能产生与基线模型相当的结果。此外,与w / o相比. S和W / O。V,w / o。O获得了最好的性能,表明对图像或查询的关注比对对象的关注对A - ATT机制的影响更大。
- Conclusions and future works
在本文中,我们提出了一种新颖的累积注意力( A-ATT )机制来将自然语言查询映射到图像中。我们的模型考虑了三种类型的注意力,即查询注意力、图像注意力和对象注意力。考虑到三种注意力往往高度相关,并且每种注意力都可以被另外两种注意力所强化,我们提出了A - ATT机制来循环细化注意力以进行信息的传递和积累。这样,噪声和冗余会逐渐减少,从而提高性能。我们的模型能够处理各种类型的查询,从短语到长对话。我们在四个流行的数据集上评估了所提方法的有效性。大量的实验表明,与现有的方法相比,该方法具有先进的性能。
未来还有几个开放性的问题需要探讨。首先,在更复杂的问题设定中,提高模型的稳健性是必要且重要的。更具体地说,更多轮数的A - ATT机制应该在复杂的环境中表现出更多的优势。第二,目前,我们只考虑来自查询和图像的信息。然而,利用其他来源的额外信息(如更大的数据库和网页)来改进注意力积累机制是很有价值的。利用更多的信息来源,我们可以设计更多种类的注意力模块,并通过提出的A - ATT机制在这些信息中建立更充分的交互,从而有望获得更好的性能。