BAN [双线性注意力机制]
VQA任务涉及到许多视觉-语言交叉的问题,因此attention在VQA中能够起到比较好的效果,co-attention可以同时推断视觉注意力和语言注意力,但同时忽略了语言和视觉区域之间的交互作用
作者将co-attention扩展为关注问题和图像的每一对多通道的bilinear attention(双线性注意力),如果给定的问题涉及到由多个单词表示的多个视觉概念,则使用每个单词的视觉注意力分布进行推理比使用单个压缩的注意力分布进行推理更能挖掘出相关信息
作者在低秩双线性池化的基础上提出了双线性注意网络,BAN利用了两组输入通道之间的双线性交互,而低秩双线性池提取了每对通道的联合表示,此外作者还提出了一个多模态残差网络MRN来更有效地利用多重双线性注意图
BAN中用residual summations替代了concatenation,以更高效的参数和性能学习了eight-glimpse BAN,图中展示了一个two-glimpse BAN
文章主要贡献如下:
在低秩双线性池化技术的基础上,提出了学习和利用双线性注意分布的双线性注意网络
提出了一种多模态残差网络(MRN)的变种,以有效地利用由模型产生的多双线性注意图,并成功地利用了多达8个注意力地图
在VQA2.0上实现了SOTA,评估了双线性注意图在Flickr30k Entities上性能,推理速度提高了25.37%
Low-rank bilinear pooling
低秩双线性池化算法使用单通道输入(question vector)组合其他多通道输入(image features)作为单通道中间表示(attended feature)
Low-rank bilinear model
先前有研究提出了一个低秩双线性模型来降低双线性权矩阵
式子中的
Low-rank bilinear pooling
对于向量输出f,引入了池化矩阵P
通过引入
Unitary attention networks
注意力机制通过有选择地利用给定的信息来减少输入通道,假设有一个多通道输入Y,包含
Bilinear attention networks
作者推广了两个多通道输入的双线性模型,
为了同时减少两个输入通道,作者引入双线性注意映射
其中
然后双线性联合表示
Bilinear attention map
前文提到的注意图为
多双线性注意图可以扩展为
其中
Residual learning of attention
作者使用MRN的变体从多重双线性注意图中得到联合表示,第i+1次的输出可以表示为
对最后一次输出的通道维度求和,就能得到分类器的输入
Time complexity
Related works
Multimodal factorized bilinear pooling
Yu et al做低秩双线性池化时移除了投影矩阵
Co-attention networks
Xu and Saenko提出了空间记忆网络模型,计算问题中每个token和每个图像patch之间的相关性,与本文不同的是,它是对相关矩阵的每一个行向量的最大值进行softmax
现有的co-attention都是对每个模态使用单独的注意分布,忽略了模态之间的相互作用
Experiments
VQA2.0 Validation Score
在VQA2.0上使用的参数量
调参
two-glimpse BAN两次attention map可视化
Flickr30k Entities
在VQA2.0 Test上和SOTA的比较