【文献阅读】SelResVQA——具有自适应选择的学习模态内的关系(J. Hong等人,Neurocomputing,2020)

一、背景

文章题目:《Selective residual learning for Visual Question Answering》

文章下载地址https://linkinghub.elsevier.com/retrieve/pii/S0925231220304859

文章引用格式:Jongkwang Hong, Sungho Park, Hyeran Byun. Selective residual learning for Visual Question Answering. Neurocomputing.https://doi.org/10.1016/j.neucom.2020.03.098

项目地址:暂无

二、文章摘要

Visual Question Answering (VQA) aims to reason an answer, given a textual question and image pair. VQA methods are required to learn the relationship between image region features. These methods have the limitation of inefficient learning that can produce a performance drop. It is because current intrarelationship methods are trying to learn all the intra-relationships, regardless of their importance. In this paper, a novel self-attention based VQA module named Selective Residual learning (SelRes) is proposed. SelRes processes the residual learning selectively in self-attention networks. It measures the importance of the input vectors by the attention map and limits residual learning, except in the selected regions which related to the correct answer. Selective masking is also proposed, which can ensure that the selection in SelRes is preserved in the multi-stack structure of the VQA network. Our full model achieves new state-of-the-art performances on both from-scratch and fine-tuning models.

VQA往往涉及到推理,需要学习图像中目标之间的关系。目前的VQA学习不充分,推理环节表现较差。这是因为现有的相互学习方法总是试图学习所有的相互关系,而忽略自身的重要性。本文基于VQA,提出一种自注意力SelRes。SelRes在注意力网络中有选择性的进行残差学习。通过注意力图和受限残差学习来度量输出向量的重要性。同时还提出了选择的masking,它能确保SelRes中的选择在VQA网络的多层堆叠结构中保留下来。最终模型实现了较好的效果。

三、文章详细介绍

近些年,很多VQA模型都引入了注意力机制,然而,不仅视觉注意力很重要,文本注意力也很重要,故又有很多协同注意力被提出。协同注意力能够进行模态间的粗略交互,但是它不能够对每个图像区域和单词之间进行交互,这是协同注意力的一个瓶颈。为了解决这个问题,目前也有很多方法被提出。

目前,结合VQA和自注意力机制取得了很好的效果,该方法能够学习图像区域之间的关系,以便找到和答案相关的区域。然而如下图所示,实际上只有很少的区域能与答案有关:

只有人和风筝是对答案有用的,天空房屋和墙都是无用的,但是一般模型也会学习这些无用目标之间的关系,这对模型的性能造成了影响。

为了解决这个问题,作者提出了一种注意力机制,它能够驱动模型更好的理解重要区域之间的关系,因此总的来说,本文的贡献主要有:

• We propose a Selective Residual (SelRes) module, a novel selfattention-based VQA learning module which encourages the model to learn about more important relationships. 提出了一个SelRes模块,使得VQA模型能够学习更重要的关系。

• We also propose selective masking, which masks the attention map according to the importance of the previous stack’s vector. 提出了选择的masking,能够根据向量的重要性对注意力图进行过滤。

• The proposed method can be applied to both from-scratch and fine-tuning approaches and shows consistent performance improvement. 提出的方法可以直接用在脚本或者迁移,并且表现出了较好的性能提高

• The proposed modules achieve new state-of-the-art performance on both from-scratch and fine-tuning models. 达到了最好的效果。

1. 相关工作

VQA:传统的VQA,即问题用LSTM提取特征,图像用VGG或者ResNet提取特征,最大的问题在于区域目标信息无法利用。后来提出的BUTD注意力机制尝试解决这个问题。它使用Faster RCNN来目标层面的图像表示。当然,在VQA中,不仅提取特征非常重要,问题特征和文本信息的结合同样重要。在早期的方法中,主要是通过向量的连接或者点积的方式来融合不同特征。然而,这些方法不足以表示视觉和文本之间的关系。后来又提出了双线性池化的方法来解决这个问题,但是也伴随了巨大的计算开销。

VQA中的协同注意力:系统注意力能够同时提取文本特征和图像特征。不过,这一类方法不能够捕捉每一个单词和对应区域之间的关系,因此后来又了很多改进的版本。同时有研究指出,一些无关的单词(‘a’‘the’等)会影响该方法的性能。因此Gao等人提出了自适应注意力的分层LSTM(Hierarchical LSTM)。

自注意力方法:自注意力机制本来是用在NLP里面的,将特征分为key,query和vlaue特征。使用这些特征就可以计算注意力。代表算法比如DFAF,MCAN。

预训练和精校正模型:这里主要是文本的训练模型,如果在较大的语料库上训练,再直接迁移到VQA中,效果会好很多。

2. 选择的残差学习(Selective residual learning)

VQA的自注意力分析:自注意力本来是用来解决翻译问题的,最近,很多关于多模态的推理都用到了自注意力模型。这种方法从输入的序列中生成key,query和value,然后再使用点积注意力。假如输入的图像特征为X,文本为Y,则:

上式中的d是key的维度。对于文本Y来说:

对于模态间的关系,通过注意力图,每个图像区域x尝试去度量向量Y之间的相关性。之后利用注意力图加权求和,最后的值向量为结果。这个结果再和原始输入向量相加,可以表示为X’= X+GA(X,Y),然而要注意的是,这个结果GA(X,Y)是问题向量之间的加权求和,不是图像向量之间的加权求和。因此X’最终包含了图像向量和问题向量的和。

具有选择性的残差模块:提出的方法是基于残差学习的,同时也是基于自注意力机制的,因此提出的方法不依赖于任何一个模型并且可以直接用于其他模型中。使用自注意力机制可以找到和正确答案相关的区域;而使用Bounding Box表达图像特征的话,平均一张图需要超过60个Bounding Box,然而只有2-4个是和正确答案有关的。因此本文提出了一个最小化残差的学习方法。如果传统的自注意力用SA表示,那么目标的自注意力可以表示为:

下图展示了具有选择的残差学习模块和传统的自注意力模块:

当向量的注意力和小于阈值的时候,它就会变为0向量,导致关于残差的任何事物都不会学到,输出向量就会变得和原始输入向量一致。因此一些与答案无关的bounding box的向量就会变成0向量。

残差学习SelRes不仅可以用于问题向量之间,也可以用于图像向量。本文只将其用在了视觉特征中,因为问题的自注意力表现很差。这是因为问题单词的数量远远小于图像区域的数量。

自适应选择:SelRes能够学习自注意力,但一个缺点就是选择率是启发式得到的,因此当我们想获得最优选择率或者数据集改变了,模型就需要进行多次训练。因此我们需要一个自适应的方法。而对于选择,SelRes中的一个重要因素就是注意力图,它是由key和query决定的,因此我们使用query vectors来进行阈值的决策。

选择性的掩膜模块:除了SelRes方法之外,还有一种将mask叠加到vectors的方法,我们称为SelMask,相较于SelRes,这种方法能够更准确的校正图像特征。不过,如果没有残差mask,我们就不能保证前一步未被选择出的向量下一步仍会未被选择。然而,使用mask时,前一步未被选择的向量会累积,如下图所示:

下图表示了分别使用和不适用SelMask的整个堆叠过程,因为每一个自注意力选择过程都是独立的,因此不能保证前一步堆叠中的选择会保留到下一个堆叠中。:

Bounding box的整合模块:SelRes和SelMask能够进行单模态内部关系的学习和过滤。然而现有的研究没有从图像特征中用bounding box来提取出重要特征的研究,在本文中,作者结合bounding box feature和图像特征。流程图如下所示,bounding box feature为128维,包含4个参数,box 的长宽和坐标,图像特征为512维度:

应用以上模块的VQA框架:作者将上述的模块嵌入到两种VQA模型中,一种是from-scratch,即不需要预训练,另一种是Fine-tuning,即需要在大规模数据集上进行预训练。下图是将提出的模块嵌入到from-scratch VQA 模型中:

作者借鉴了上述VQA结构,用SelRes取代自注意力,另外还将SelMask添加在了卷积堆叠模块中,基本的结构化是BUTD模型,提取图像特征使用的是Faster RCNN,提取文本特征用的是LSTM,其中文本先需要用GloVe编码为300维的向量,文本的最大长度设置为14,最后将两个特征用element-wise summation的形式进行融合,损失函数选择的是BCE,即Binary Cross-Entropy。

将上述模块用在fine-tuning模型中的结构如下图所示:

不一样的地方在于文本处理使用的是transformer,注意力使用了cross-attention (CA),

3. 实验

实验所选用的数据集为VQA 2.0。

(1)消融实验

对于提出的模块来讲:

对于选择率来讲:

(2)量化分析

对注意力的可视化结果如下:

(3)与其他模型的比较

对于from-scratch模型来说,与其他一些经典模型的比较结果如下所示:

对于fine-tuning模型来说,与其他经典模型的比较如下所示:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全部梭哈迟早暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值