论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)

来源EMNLP(2016)

关键词Multimodal Compact Bilinear(MCB),VQA

问题


论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第1张图片
视觉问答系统


论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第2张图片
视觉定位系统

对于像视觉问答系统、视觉定位系统这样Multimodal任务,需要融合不同类型modal的向量得到一个joint representation。传统的向量融合方式一般是:点乘,点加,全连接。作者认为这些方法不如向量的外积更具有表达性。但是向量的外积会引起维度的急剧增加,因此作者提出了MCB的方法。

方法

1 MCB的框架

双线性模型:z = W[x @q](@表示外积)

如果x和q都是2048维,z是3000维,整个参数空间大小是:2048*2048*3000 ,所以需要对外积进行降维和避免直接计算外积。

降维:通过the count sketch projection function ,将向量v(n维)映射到向量y(d维)。

避免直接计算外积:


论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第3张图片
MCB结构图
论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第4张图片
MCB算法

2 MCB在VQA任务的应用

1.VQA结构:


论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第5张图片
MCB在VQA任务的应用

给定图片和问题,预测答案的过程可以看做一个在候选答案集合进行多分类的任务:

对于输入的问题,利用2-LSTM,每层1024个结点,得到2048维度的文本向量;对于输入的图片,利用预训练好的152层的Res-net。然后将这两个向量通过MCB后正则化和归一化后得到16000联合表示的向量,再将这16000维度的向量连接到3000个答案上进行多分类。

2.Multiple Attention:


论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第6张图片
MCB+multiple attention

Attention机制使得模型专注于输入特征的和当前问题最相关的部分,目前常用的是soft-attention的方法。而multiple attention的动机则是相当于回答问题之前多次的观察。

首先利用MCB产生一个联合向量,然后使用两个卷积层去预测每一个区域的attention权值,通过softmax归一化后的soft attention map和原始视觉向量加和,得到注意力视觉向量。比较巧妙地的是产生了两个attention map,模仿多次的观察。

实验结果:


论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第7张图片
MCB性能对比实验

1 MCB优于点乘,点加,全连接的方法

2参数规模相同的时候,MCB优于Concat+FC+FC

3压缩对双线性池化的方式没有太大影响

4 soft attention,最好的搭档是MCB

论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第8张图片
VQA数据集实验结构对比

从实验结果上看:

MCB:1%多 

Att :3%多

Genome:1%多

Glove:0.2%左右

相关工作

1向量的连接方式:

a = [1,2], b = [3,4]

点乘(element-wise)[3,8]

点加(elsement-add)[4,6]

全连接(concencate)[1,2,3,4]

内积(inner-product)11

外积(outer-product)向量

维基百科中对向量外积的定义:

论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第9张图片
外积的定义

2 MCB的前世今生:

①1T.-Y. Lin(et.all) CNN models for fine-grained visual recognition.在细粒度视觉识别任务中,作者把CNN网络的全连接层改为双线性层后,取得了很大提升。

②2Yang Gao(et.all) Compact bilinear pooling

提出两种压缩双线性模型,和完整的双线性模型相比,损失基本不变但是参数规模缩减了两个数量级,而且支持端到端的训练结构。

③3Ninh Pham(et.all)在Fast and scalable polynomial kernels via explicit feature maps

提出了两个向量外积的count sketch可以被转化为每个countsketch的卷积。

3 VQA:

任务:给定一张图片和自然语言形式的问题,生成自然语言形式的答案。

背景:这个任务同时涉及到了CV和nlp两个领域。类似的多领域问题最近非常火的就是看图说话(Image Caption)任务,但是看图说话只需要产生对图片的一般性描述,而视觉问答需要理解问题的真正含义,根据问题的不同仅聚焦与图片中的某一部分,而且某些问题还需要一定的常识推理才能做出回答。因此,VQA相比看图说话在图像语义的理解方面有更高的要求。

方法:近年来,各种以CNN网络为基础的深度学习网络层出不穷,将图像的底层特征如纹理,边角,色彩逐层抽取组合成更高级的语义特征。和传统的词包模型相比,rnn模型能够捕捉词语序列,通过参数共享的方式减少参数规模,并且LSTM,GRU等等改进版本能够更好捕捉长距离信息的表达。目前,利用CNN抽取图像语义信息,rnn抽取问题中包含的文本语义信息,将两者的信息融合构造组合模型是VQA问题的主流方法。从答案的生成方式看可以分为:分类模式和生成模式。

分类:

论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第10张图片
分类模型

生成:


论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)_第11张图片
生成模型

小结:VQA这样的任务,主流的方法都是需要联合表达图像信息和文本信息。目前主流的结合两个向量的方式有点乘,点加,连接。但是作者觉得这样产生的联合向量表达能力不够,不足以捕捉多模型之间复杂的交互信息。于是作者提出了这样一个猜想:多模型向量的外积可以表达多模型向量的交互信息。因为传统的向量结合方式都是针对单个元素的,向量外积的方式是对两个向量之间所有元素的乘法操作。但是双线性模型计算向量外积的过程中,产生的向量维数太大,计算量太大,所以双线性模型计算外积的方式并没有被广泛采用。

简评

之前老师说过,创新点可以分为应用创新和模型创新。我觉得这两种创新方式其实是相辅相成的。这里作者因为想要改进VQA模型中视觉向量和问题向量的融合方式,提出了外积这个想法,成功地将之前的cbp(compact biliniaer pooling)模型改进后应用到模型融合的过程中。这种解决问题的思路值得我们参考和学习。

本文还有一个创新点就是应用了soft attention。并且使用的了两层attention maps,对MCB后的联合向量去求attention weight后对关注的视觉向量。

再者,作者参加VQA比赛的时候,单个模型最好的的实验结果是MCB+att+genome+glove,只比后面两名高了1个百分点左右。但是集成7个模型的时候取得的的结果则比后面的模型提升了4到5个百分点。说明在做这种比赛的时候,还是能够多用一些trick提升就多用一些。

��

你可能感兴趣的:(论文读书笔记(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding))