一、背景
文章题目:《MUTAN: Multimodal Tucker Fusion for Visual Question Answering》
17年的一篇文章,不过后面看到很多文献引用了这篇,所以还是记录一下。
文章下载地址:https://arxiv.org/pdf/1705.06676.pdf
文献引用格式:Hedi Ben-younes, R´emi Cadene, Matthieu Cord and Nicolas Thome. (2017) "MUTAN: Multimodal Tucker Fusion for Visual Question Answering." arXiv preprint, arXiv: 1705.06676.
项目地址:https://github.com/Cadene/vqa.pytorch#requirements
二、文章导读
先放上文章摘要:
Bilinear models provide an appealing framework for mixing and merging information in Visual Question Answering (VQA) tasks. They help to learn high level associations between question meaning and visual concepts in the image, but they suffer from huge dimensionality issues.
We introduce MUTAN, a multimodal tensor-based Tucker decomposition to efficiently parametrize bilinear interactions between visual and textual representations. Additionally to the Tucker framework, we design a low-rank matrix-based decomposition to explicitly constrain the interaction rank. With MUTAN, we control the complexity of the merging scheme while keeping nice interpretable fusion relations. We show how our MUTAN model generalizes some of the latest VQA architectures, providing state-of-theart results.
在VQA任务中,双线性模型提供了一个可以将不同模态信息融合的框架。双线性模型能够帮助学习问题语义和视觉内容的联合高级信息,但是却带来了维度爆炸的问题。
因此作者引入了MUTAN,一个多模态的基于张量的塔克分解方法,用于参数化视觉和文本表示之间的双线性交互。此外对于塔克分解,作者设计了一种低秩矩阵分解来限制交互的秩。使用MUTAN,我们可以控制融合过程的复杂度,同时保持较好的可解释的融合关系。
三、文章详细介绍
双线性模型能够很好的适用于VQA,是因为它能够编码完整的二次交互。而它最大的问题就是涉及到很多参数,这与输入和输出的维度有关,且慢慢变成了一个非常棘手的问题。因此,简化模型或者近似取代变成了关键所在。
因此这篇工作,作者介绍了一种新的模型MUTAN,该模型基于张量的塔克(Tucker)分解,其能够完整的表示双线性交互的同时使得模型的大小可控。
1.相关工作
在视觉和文本多模态的工作里,一个重要任务是将两个模态对齐,即映射到同一个空间下。
注意力(Attention):目前的注意力主要是以下几种思路(分别对应以下5篇参考文献):(1)是SAN的思路,即使用question-guided attention,来查找图像中的相关区域;(2)是根据文本特征,来用bounding boxes提取图像中的特征并评分;(3)是协同注意力框架(co-attentional framework),分别提取两组注意力,然后连接再求和池化;(4)还有一种将全局和局部结合起来的策略。这篇文章中,使用的注意力为(5)中所介绍的:
- Z. Yang, X. He, J. Gao, L. Deng, and A. J. Smola. Stacked attention networks for image question answering. In CVPR, pages 21–29, 2016
- K. J. Shih, S. Singh, and D. Hoiem. Where to look: Focus regions for visual question answering. In CVPR, 2016
- J. Lu, J. Yang, D. Batra, and D. Parikh. Hierarchical question-image co-attention for visual question answering. In NIPS, pages 289–297, 2016.
- J.-H. Kim, K.-W. On, J. Kim, J.-W. Ha, and B.-T. Zhang. Hadamard Product for Low-rank Bilinear Pooling. In 5th International Conference on Learning Representations, 2017.
- A. Fukui, D. H. Park, D. Yang, A. Rohrbach, T. Darrell, and M. Rohrbach. Multimodal compact bilinear pooling for visual question answering and visual grounding. arXiv:1606.01847, 2016.
融合策略(Fusion strategies):早期主要对多模态之间的进行一阶交互(first order interactions)。例如IMG+BOW模型将全局图像特征和问题特征进行了连接。还有利用注意力对三元组进行评分的,然后将视觉特征和文本特征进行连接,在根据评分来加权计算。对于协同网络来说,计算完了两组特征,然后连接求和。
二次模型(Second order model)则表现更好一些。双线性交互在精细分类和多模态语言模型里面表现出了巨大的成功。在VQA中,最简单的就是采用点积的形式。为了获得更深层次的双线性交互,后面还提出了MCB(Multimodal Compact Bilinear pooling)方法,即对两个模态的特征使用了矢量积(outer product),然后再用count-sketch projection将矢量积投影在一个低维度的空间中,然而,在MCB中,通过count-sketch投影修正的交互参数,限制了它对复杂交互建模的表示能力。
在近期的工作MLB(Multimodal Low-rank Bilinear)中,为了减少无效参数,它将张量限制为了低秩,并且在VQA数据集上表现出色。它先将视觉特征和问题特征表示在了同一个低维的空间中,然后在这个空间中进行简单的点积进行交互。因此MLB能够很好的提取单模态特征,却只用了简单的点积来融合两种特征。
而本文提出的MUTAN,是基于多模态的双线性交互, 主要贡献包括以下几点:
– New fusion scheme for VQA relying on a Tucker tensor-based decomposition, consisting in a factorization into three matrices and a core tensor. We show that the MUTAN fusion scheme generalizes the latest bilinear models, i.e. MCB [5] and MLB [8], while having more expressive power.(一种基于塔克分解的新的可用于VQA的融合机制,其将张量分解为三个矩阵和一个核心张量。)
– Additional structured sparsity constraint the core tensor to further control the number of model parameters. This acts as a regularizer during training and prevents overfitting, giving us more flexibility to adjust the input/output projections.(结构化的稀疏性约束了核心张量,并进一步控制了模型参数。它在训练的过程中扮演了一个正则化器的角色,并防止过拟合,使我们能够更灵活的调整输入和数据的映射。)
– State-of-the-art results on the most widely used dataset for Visual QA [2]. We also show that MUTAN outperforms MCB [5] and MLB [8] in the same setting, and that performances can be further improved when combined with MLB, validating the complementarity potential between the two approaches. (MUTAN目前的效果最好,且能够很好的与MLB结合)
2.MUTAN模型
MUTAN的模型结构如下图所示:
首先将图像v和问题q嵌入为两个向量,最后再表示为一个用于分类的向量y。而本文的主要工作中,使用ResNet-152来处理图像,使用GRU来处理问题,然后将操作T来融合两个特征,以生成最终的向量y,最后再通过softmax输出正确答案。另外还将全局注意力机制融入到了MUTAN中。
融合与双向性模型(Fusion and Bilinear models):在VQA中,融合视觉和语言特征是非常重要的。双线性模型是一种很适合于多模态融合的框架结构,典型的模型如MLB和MCB,因为它们能够对向量q和v之间的全参数化双线性交互进行编码。即:
尽管有着很强的建模能力,但是全参数的双线性交互却在VQA的应用中变得非常棘手,因为全张量的大小对于文本,视觉和输出空间而言,使用相同大小是不现实的。比如q和v的维度都是2048,答案数量约为2000的条件下,这个张量的大小约为10^10,其带来的计算量消耗是巨大的,因此MUTAN考虑引入全张量的塔克分解,以减少参数。
(1)塔克分解
一个三维的张量,可以表示为3个矩阵的乘积和一个核心张量的乘积:
张量中的权重是约束下的参数数量的函数:
(2)多模态塔克融合
如果我们将塔克分解引入到双线性模型中,即将(3)式引入(2)式:
这类似于将q和v投影的完全双线性交互编码为一个隐对表示z(latent pair representation),并使用该隐编码来预测正确答案。为了将z投影在预测空间y上:
使用塔克分解,我们将张量T分成了4个部分,每个部分都有各自的含义。Wq和Wv将问题和图像向量投影在各自维度的空间中,这些维度控制了模型的复杂度,维度越高,模型的复杂度就越高;分解出的张量Tc是用于两个模态的交互,它学习了所有的qv到向量z的映射关系,其维度控制了模态交互的复杂度;最后Wo是一对嵌入z对于A中每一类的刻画。
(3)张量稀疏
为了进一步的平衡交互建模的复杂性和表达性,作者对张量Tc中每一个矩阵的秩引入结构化稀疏约束。z中的每一个维度都可以写作:
如果我们再加上秩约束的话:
带入到z中的每一维:
在Tc中加入秩约束可以将输出向量z表示为Zr向量的求和。为了获得这些向量,我们将q和v投影在同一个空间中,并用点积将其融合。
(4)模型讨论
两个比较新的模型,MLB和MCB,其实都可以认为多模态塔克融合的特殊情况。他们的结构如下图所示:
3.实验结果
实验基于VQA 1.0来做的。首先是不同融合方式的结果:
然后是不同模型的比较结果:
另外还有一些作者讨论的结果。MUTAN_noR指没有经过秩稀疏约束的MUTAN,作者探索了q,v,o的维度从20-220变化的验证精度情况:
对于MUTAN来说,将维度设定为210,探索秩从10-100变化时的验证精度变化情况:
针对4类最常出现的问题,探索r从1-20变化时的验证精度情况:
最后还展示了注意力的变化情况: