阅读笔记Dynamic Fusion with Intra- and Inter-modality Attention Flow for Visual Question Answering

阅读笔记Dynamic Fusion with Intra- and Inter-modality Attention Flow for Visual Question Answering

0, 基础铺垫

协同注意力: 问题引导图像,图像也引导问题,之前说的堆叠注意力网络就是仅使用了问题引导图像的注意力机制
在这里插入图片描述
自注意: 可以理解为问题引导问题,图像引导图像。论文中DFAF框架集成了跨模态自我注意和跨模态共注意机制,以实现图像和语言模态内部和之间的有效信息流动。在这里插入图片描述
其中,视觉区域和单词特征转化为查询特征q、关键特征k和值特征v。通常,在NLP问题研究中,关键特征k可以等于值特征v,v就是最初的特征值,k可以是最初的特征值,也可以是变换后的值,q就是用来查询的。。self-attention分为三个阶段,其中阶段1中的F是计算Q与每一个K的相似度得分的函数,阶段2中的SoftMax()归一化将阶段1中求得的得分处理成一个0~1之间的概率,而阶段3即是将相应的得分与相应的权重相乘再相加,即加权求和得到原Q增加了注意力机制的特征向量。其中SoftMax()值与V相乘的图示公式如下:
在这里插入图片描述
在这篇论文中,在模态间使用自注意时,q是图像区域k是单词,或者k是单词q是图像区域。
在模态内使用自注意时,q是一个图像区域,k是其他图像区域,或者q是问题的一个单词,k是其他单词。

Multi-Headed Attention
该机制理解起来很简单,就是说在上面的自注意机制中,不仅仅只初始化一组Q、K、V的矩阵,而是初始化多组,这篇论文代码中是分为了8组。
在这里插入图片描述

一,介绍

近年来VQA的研究重点在两个方面:
一是关注模态之间的关系,就是说图像和问题之间的关系,比如双线性特征融合(Bilinear feature fusion),协同注意力(co-attention);
二是关注模态内部的关系,图像或问题内部的关系,比如研究图像各区域的语义和空间关系,BERT算法等。
然而却从没有在一个统一的框架内共同研究模态内和模态间的关系,而这些关系大多被忽略了。作者提出了一种利用外部和内部模态信息流(在视觉和语言模态中动态传递信息)的多模态特征融合方法。
DFAF(动态融合注意流)整合了交叉模态自注意力(cross-modal self-attention)和交叉模态协同注意力(cross-modal co-attention),其流程主要由InterMAF(模态间注意流)和DyIntraMAF(动态模态内注意流)两个模块组成,多个这种DFAF块的堆叠可以帮助网络逐渐关注重要的图像区域、潜在的语义,获得更好的性能。在这里插入图片描述

1,首先提取特征,从自底向上和自顶向下的注意力模型中提取图像特征,用Faster RCNN提取视觉特征和用GRU提取单词特征,然后两组特征通过全连接层转换成相同长度的向量(512);
2,InterMAF模块其实就是问题引导图像,图像引导问题,更新每个区域和单词的特征。该模块的输出则是DyIntraMAF的输入;
3,DyIntraMAF模块在每个模态内中动态的传递信息流,问题引导问题时受到图像的影响,图像引导图像的时候收到问题的约束,然后对视觉特征和单词特征进行再次更新。
4,一个InterMAF模块后接一个DyIntraMAF模块构成了提出方法DFAF的一个基本块,在特征更新的过程中可以通过特征连接或者残差连接堆叠多个块。(代码中作者还给出了多个块的连接方式)
另外作者使用了multi-head注意力,原始特征则会沿着通道维度分为不同的组(8组),不同的组生成平行注意力在每个组内独立的更新视觉特征和单词特征。

二,文章细读

1,Base visual and language feature extraction(基础视觉和语言的特征提取)

在这里插入图片描述

对于所给图片I,作者提取视觉区域特征用的Faster RCNN(在Visual Genome数据集上训练的)。每张图片提取100个区域候选框,与区域特征相连,将得到的区域视觉特征表示为R,共有μ个区域,第i个区域的特征为r-i,每个区域的长度为2048维,故R的维度为μ x 2048维;
对于所给问题Q,问题特征编码则采用GRU(输入为GLoVe词嵌入),每个问题Q都被截断或填充为14个单词,第j个词的特征表示为e-j,每个单词特征为1280维,将得到的问题特征表示为E,则E的长度为14 x 1280维。

2,Inter-modality Attention Flow(模态间的注意流——InterMAF)

InterMAF模块首先捕捉视觉特征和单词特征的对彼此的重要性,然后根据学习到的重要权重,在两个模态之间传递信息流和合并特征。给定一个视觉区域特征和单词特征,首先计算他们之间的联合权重,每个视觉区域特征和单词特征都可以转换成query, key和value features,用R表示视觉区域(region)特征,用E表示单词特征(embedding),则视觉区域特征与单词特征的各自的Q、K、V可分别被表示为:在这里插入图片描述
其中, RQ, RK, RV分别对应图像的query、key、value,它们的维度为μ x dim; EQ, EK, 和 EV分别是问题的query、key、value,它们的维度为14 x dim。dim表示两种模态的变换特征的共同尺度。
在这里插入图片描述
首先,图片的图片区域特征作为deconder中的Q,问题特征的每一个单词特征作为关键特征K,通过计算每一对图片区域特征RQ和单词特征EK的内积,得到将信息从单词特征聚合到每个视觉特征的原始注意权值,我们将该内积结果进行降维操作后使用SoftMax()进行归一化处理,降维处理(内积的值与隐藏特征空间的维数成正比,因此需要用隐藏维数的平方根进行归一化)。
在这里插入图片描述
以InterMAFR←E为例,InterMAFR←E是所有单词到一个区域的权重,而来自所有单词到一个区域特征的信息可以被聚合为词的值特征Ev的加权求和,得到更新后的图像区域的特征向量Rupdate:
在这里插入图片描述
其中EV和RV是未加权的信息流,Rupdate和Eupdate分别是经过两轮双向的模块间更新后的图片和问题的特征向量。
在获得更新后的视觉特征和单词特征后,我们将其与原始的视觉特征R和单词特征E连接起来。利用一个全连通层将连接起来的特征转换为模态间注意流的输出特征,
在这里插入图片描述

3.Dynamic Intra-modality Attention Flow(动态模态内信息流——DyInter-MAF)

参考2中的图像与问题之间的协同注意求彼此相似度,这里模态内的注意流采用的是self-attention。对于图像中区域到区域之间的相似度,某一个区域为Q,所有区域分别为K,求所有区域与该区域的相似度;对于问题中词与词之间的相似度,某一个词为Q,所有词分别为K,求所有词与该词的相似度。具体公式如下:
在这里插入图片描述
若是上述这种朴素的模态内信息流,只是单纯利用模态内的信息来估计region-to-region和word-to-word相似度,它所确定的区域与区域之间的关系永远都是一样的,词与词之间的关系也是永远一样的,所以有些很重要的关系只能通过来自另一模态中的信息来确定,例如,即使对于相同的输入图像,不同的视觉区域对之间的关系也应该根据不同的问题具有不同的权重。因此作者提出来一种动态的模态内注意流,用于基于另一模态的信息来计算模态关系的重要性。(也就是说,即使是模态内的自注意,也不纯粹是模块内的,而是动态的,收到另一模态约束的)。下图只给出了其中一种情况,视觉模态自注意时以文本模态的约束为条件,在此基础上进行自我关注。在这里插入图片描述
为了总结来自其他模态的条件信息,我们沿着区域索引维度平均汇集视觉区域特征,沿着单词索引维度平均汇集单词特征。
该平均池化特征被转化为二维特征向量以匹配query和key的维度RQ、RK、EQ、EK。每种模态的二维特征向量由sigmoid函数处理,以产生用于其他模态的通道式调节门。公式如下:
在这里插入图片描述
然后,原来的两个模态的查询和关键特征被来自另一个模态的条件门调制。
在这里插入图片描述
(**!**看代码可以看出公式16左下角的RQ应该为EQ)
所以现在得到的求所有区域与该词区域的相似度和所有词与该词的相似度,用下列公式表示
在这里插入图片描述
最终得到的区域与词向量:
在这里插入图片描述
其中:在这里插入图片描述
请注意,这里我们仅使关键和查询特征以另一个模态为条件,以在模态信息流中自适应地加权。在我们的消融研究中,我们观察到所提出的DyIntraMAF模块在很大程度上优于原始的IntraMAF模块。

3.4The Framework with Intra- and Inter-modality Attention Flow(模式内和模式间注意流的框架)

流程:(这里将之前的流程再总结一边)
1,首先提取特征,然后两组特征通过全连接层转换成相同长度的向量;
2,InterMAF模块将更新后的特征聚合到每个区域和每个词。这种聚合的特征集成了来自其他模态的信息,根据跨模态关系更新视觉特征和单词特征。(其实就是问题引导图像,图像引导问题,更新每个区域和单词的特征),该模块的输出则是DyIntraMAF的输入;
3,DyIntraMAF模块在每个模态内中动态的传递信息流,问题引导问题时受到图像的影响,图像引导图像的时候收到问题的约束,然后对视觉特征和单词特征进行再次更新。
4,一个InterMAF模块后接一个DyIntraMAF模块构成了提出方法DFAF的一个基本块,在特征更新的过程中可以通过特征连接或者残差连接堆叠多个块。(代码中作者还给出了多个块的连接方式)
另外作者使用了multi-head注意力,原始特征则会沿着通道维度分为不同的组(8组),不同的组生成平行注意力在每个组内独立的更新视觉特征和单词特征。

Dynamic(动态)体现在何处???
首先,视觉区域特征R和问题区域特征E在整个模型中是在不断被更新着的,每经过一个模块都会被更新,这是动态之一(这也体现了协同注意);
其次,对于相同的图片,不同的问题,门控出的区域(或单词)的比例都不同,这是动态之二.

注意流权重的可视化
在这里插入图片描述
从上图中可以看到,对于相同的图片,问题不同,经过IntraMAF模块的图片不同区域的权重都是完全相同的!而经过DyIntraMAF模块后图片不同区域的权重全都不相同,这对于提高我们模型的性能意义极大!
(这个可视化应该仅仅只是将IntraMAF和DyIntraMAF进行对比,没有涉及InteMAF)

一个说明
论文中也说了,DFAF框架集成了跨模态自我注意和跨模态共注意机制,无论是模态间还是模态内,自注意和协同注意是交叉使用的,而不是在模态间使用协同注意,模态内使用自注意。(参考1中犯了这样的错误)

四,实验总结

在这一部分中,作者将论文中的模型DFAF与一些经典的模型进行了一些比较,比较结果如下:在这里插入图片描述

参考

1,参考1
2,论文链接:Dynamic Fusion with Intra- and Inter-modality Attention Flow for Visual Question Answering
3,代码链接:https://github.com/bupt-cist/DFAF-for-VQA.pytorch
4,自注意

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值